/* ═══════════════════════════════════════════════════════════════════════════
   Nirav Manubhai House — Locked Frame System v1.0.141
   ═══════════════════════════════════════════════════════════════════════════

   ARCHITECTURE RULE: The frame owns geometry. Artwork is only the insert.
   Never change frame dimensions per property. If artwork composes poorly,
   recompose the artwork — never adjust the frame.

   HOW TO USE:
   1. Place image inside the correct frame class (see table below)
   2. Frame handles: aspect ratio, max-width, overflow, background, border
   3. Image only needs: src, alt, width, height, loading, decoding
   4. No inline styles on images. No per-property overrides.

   ═══════════════════════════════════════════════════════════════════════════
   FRAME CATALOGUE — canonical source artwork dimensions
   ═══════════════════════════════════════════════════════════════════════════

   FRAME CLASS              WHERE USED                    RATIO   SOURCE ARTWORK
   ─────────────────────────────────────────────────────────────────────────────
   .courtyard-door-media    Homepage reading door cards   16:10   1536×960 px
   .hero-poster > img       Property threshold (all)       4:5    820×1025 px
   .room-hero-frame         Reading room opening hero     16:9    1920×1080 px
   .story-hero              Individual story cover         3:2    1536×1024 px (QS)
                                                           4:5    820×1025 px  (CSJA)
   .book-cover-frame        Bookshelf book cover           5:7    320×448 px
   .cover-frame             Book detail page cover         5:7    480×672 px

   SOURCE ARTWORK RULE: Always prepare artwork at the source dimensions above.
   The frame will scale it. Never supply artwork at a different ratio —
   object-fit:cover will crop unpredictably.

   TO REPLACE AN IMAGE: swap only the src. The frame holds everything else.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── CSS custom properties ────────────────────────────────────────────────── */
:root{
  /* Ratios */
  --frame-room-card-ratio: 16/10;   /* homepage door cards */
  --frame-reading-ratio:   16/9;    /* reading room hero */
  --frame-poster-ratio:    4/5;     /* property threshold */
  --frame-story-ratio:     3/2;     /* story cover (QS, Stills, Axiom) */
  --frame-story-portrait:  4/5;     /* story cover portrait (CSJA, Kabir) */
  --frame-book-ratio:      5/7;     /* book covers */

  /* Max widths */
  --frame-reading-max:          1120px;  /* reading room hero width */
  --frame-property-max:         1120px;  /* property page max */
  --frame-property-home-max:    360px;   /* threshold poster column */
  --frame-property-home-mobile: 330px;   /* threshold poster mobile */
  --frame-book-max:             320px;   /* book cover max */
  --frame-story-max:            900px;   /* story hero max */
}

/* ── Universal media safety ───────────────────────────────────────────────── */
img{max-width:100%;}
.courtyard-door-media,
.room-hero-frame,
.axiom-threshold-frame,
.book-cover-frame,
.cover-frame,
.frame-media{
  overflow:hidden;
  position:relative;
}
.courtyard-door-media>img,
.room-hero-frame>img,
.axiom-threshold-frame>img,
.book-cover-frame>img,
.cover-frame>img,
.frame-media>img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
}

/* ══════════════════════════════════════════════════════════════════════════
   A — HOMEPAGE READING DOOR CARDS
   Frame: .courtyard-door-media
   Ratio: 16:10  |  Source artwork: 1536×960 px
   ══════════════════════════════════════════════════════════════════════════ */
.courtyard-door-media{
  width:100%!important;
  aspect-ratio:var(--frame-room-card-ratio)!important;
  height:auto!important;
  border:1px solid var(--line)!important;
  background:#e9e2d4!important;
}
.courtyard-door-media>img{
  object-fit:cover!important;
  object-position:center center!important;
}

/* ══════════════════════════════════════════════════════════════════════════
   B — PROPERTY THRESHOLD HERO
   Frame: .hero-poster > img  (inside .room-shell)
   Ratio: 4:5  |  Source artwork: 820×1025 px
   Layout: image left column (360px max), copy right column
   All properties use IDENTICAL frame. Body class controls grid layout only.
   ══════════════════════════════════════════════════════════════════════════ */

/* Grid layout — all poster-led threshold pages */
.kabir-property-home .hero-poster,
.stills-unified .hero-poster,
.quiet-signal-landing .hero-poster,
.house-specials-home .hero-poster,
.my-study-property-home .hero-poster{
  grid-template-columns:minmax(220px,var(--frame-property-home-max)) minmax(0,1fr)!important;
  gap:clamp(2rem,5vw,4.25rem)!important;
  align-items:start!important;
}

/* CSJA uses a different grid class — same geometry */
.csja-home-v80 .csja-threshold-grid-v80{
  grid-template-columns:minmax(220px,var(--frame-property-home-max)) minmax(0,1fr)!important;
  gap:clamp(2rem,5vw,4.25rem)!important;
  align-items:start!important;
}
.csja-home-v80 .csja-threshold-frame-v80{
  width:min(100%,var(--frame-property-home-max))!important;
  justify-self:center!important;
}

/* The poster image — universal rule for all .room-shell threshold pages */
.room-shell .hero-poster>img,
.quiet-signal-landing .hero-poster>img{
  width:min(100%,var(--frame-property-home-max))!important;
  aspect-ratio:var(--frame-poster-ratio)!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center top!important;
  background:#15130f!important;
}

/* Mobile: stack vertically, centre image */
@media(max-width:720px){
  .kabir-property-home .hero-poster,
  .stills-unified .hero-poster,
  .quiet-signal-landing .hero-poster,
  .house-specials-home .hero-poster,
  .my-study-property-home .hero-poster,
  .csja-home-v80 .csja-threshold-grid-v80{
    grid-template-columns:1fr!important;
  }
  .room-shell .hero-poster>img,
  .quiet-signal-landing .hero-poster>img,
  .csja-home-v80 .csja-threshold-frame-v80{
    width:min(100%,var(--frame-property-home-mobile))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   C — READING ROOM OPENING HERO
   Frame: .room-hero-frame
   Ratio: 16:9  |  Source artwork: 1920×1080 px
   Used by: all reading rooms
   MY STUDY ROOM uses same frame and same ratio.
   ══════════════════════════════════════════════════════════════════════════ */
.room-hero-frame{
  width:min(100%,var(--frame-reading-max))!important;
  aspect-ratio:var(--frame-reading-ratio)!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto 2.5rem!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(44,37,25,.14)!important;
  border-radius:6px!important;
  background:#e9e2d4!important;
  box-shadow:0 8px 28px rgba(44,37,25,.14)!important;
}
.room-hero-frame>img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center top!important;
  display:block!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Reading room intro and shelf width */
.reading-room .room-intro,
.stills-reading-room-inline .room-intro{
  width:min(100%,760px)!important;
  margin:0 auto 3rem!important;
  text-align:center!important;
}
.reading-room .shelf-room,
.stills-reading-room-inline .shelf-room{
  width:min(100%,1120px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* QS mobile reading room ratio override */
@media(max-width:640px){
  .qs-reading-room .room-hero-frame{
    aspect-ratio:var(--frame-reading-ratio)!important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   D — AXIOM PROPERTY HOME (uses axiom-threshold-frame — same 4:5 contract)
   Frame: .axiom-threshold-frame
   Ratio: 4:5  |  Source artwork: 820×1025 px
   ══════════════════════════════════════════════════════════════════════════ */
.axiom-home .axiom-threshold{
  max-width:74rem!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.axiom-home .axiom-threshold-grid{
  display:grid!important;
  grid-template-columns:minmax(220px,var(--frame-property-home-max)) minmax(0,1fr)!important;
  gap:clamp(2rem,5vw,4.25rem)!important;
  align-items:start!important;
}
.axiom-home .axiom-threshold-frame{
  width:min(100%,var(--frame-property-home-max))!important;
  aspect-ratio:var(--frame-poster-ratio)!important;
  height:auto!important;
  margin:0!important;
  justify-self:center!important;
  overflow:hidden!important;
  background:#15130f!important;
  border:1px solid var(--line)!important;
  box-shadow:0 8px 28px rgba(44,37,25,.14)!important;
}
.axiom-home .axiom-threshold-frame>img{
  object-fit:contain!important;
  object-position:center center!important;
}
.axiom-home .axiom-threshold-copy{
  width:100%!important;
  margin:0!important;
  text-align:left!important;
}
@media(max-width:720px){
  .axiom-home .axiom-threshold-grid{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .axiom-home .axiom-threshold-frame{
    width:min(100%,var(--frame-property-home-mobile))!important;
    margin:0 auto!important;
  }
  .axiom-home .axiom-threshold-copy{
    text-align:left!important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   E — BOOK COVERS
   Frame: .book-cover-frame / .cover-frame
   Ratio: 5:7  |  Source artwork: 320×448 px (list), 480×672 px (detail)
   ══════════════════════════════════════════════════════════════════════════ */
.all-books-page .books-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:2.8rem 2.2rem!important;
  align-items:start!important;
}
.books-grid .book-card{
  width:100%!important;
  max-width:360px!important;
  justify-self:center!important;
  text-align:center!important;
}
.books-grid .book-cover,
.book-cover-frame,
.cover-frame{
  width:min(100%,var(--frame-book-max))!important;
  aspect-ratio:var(--frame-book-ratio)!important;
  height:auto!important;
  max-width:var(--frame-book-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.books-grid .book-cover{
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
}
.cover-frame img,
.book-cover-frame img{
  object-fit:contain!important;
  object-position:center center!important;
}
.take-story-page .book{
  grid-template-rows:auto 27px auto auto auto auto auto!important;
  align-content:start!important;
}
.take-story-page .cover-button{
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:flex-end!important;
  overflow:hidden!important;
}
.take-story-page .cover-wrap{
  width:min(100%,var(--frame-book-max))!important;
  aspect-ratio:var(--frame-book-ratio)!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.take-story-page .cover-wrap img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  display:block!important;
  margin:0!important;
}
.take-story-page .shelf-plank{
  position:relative!important;
  z-index:2!important;
  margin-top:0!important;
}
@media(max-width:800px){
  .take-story-page .book{grid-template-rows:auto 27px auto auto auto auto auto!important;}
  .take-story-page .cover-button,.take-story-page .cover-wrap{height:auto!important;}
  .take-story-page .cover-wrap{width:min(78vw,300px)!important;}
}
@media(max-width:380px){
  .take-story-page .book{grid-template-rows:auto 27px auto auto auto auto auto!important;}
  .take-story-page .cover-button,.take-story-page .cover-wrap{height:auto!important;}
  .take-story-page .cover-wrap{width:min(80vw,280px)!important;}
}

/* ══════════════════════════════════════════════════════════════════════════
   F — STORY HERO IMAGES (individual story pages)
   Quiet Signal / Stills: .story-hero  ratio 3:2  |  1536×1024 px
   CSJA:                  .story-hero  ratio 4:5  |  820×1025 px
   Kabir episodes:        .reader-poster  ratio 4:5  |  820×1025 px
   ══════════════════════════════════════════════════════════════════════════ */
.quiet-field-note .story-hero{
  width:min(100%,900px)!important;
  aspect-ratio:3/2!important;
  height:auto!important;
  overflow:hidden!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.quiet-field-note .story-hero>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.csja-story .story-hero,
.csja-story-page .story-hero{
  width:min(100%,720px)!important;
  aspect-ratio:4/5!important;
  height:auto!important;
  overflow:hidden!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.csja-story .story-hero>img,
.csja-story-page .story-hero>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}
.reader-poster.kabir-poster-frame{
  width:min(100%,720px)!important;
  aspect-ratio:4/5!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#080604!important;
}
.cover-poster{
  width:min(100%,420px)!important;
  aspect-ratio:2/3!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.viewer .slide img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2/3!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* ══════════════════════════════════════════════════════════════════════════
   G — SHELF SPINE THUMBNAILS (reading rooms)
   Standard: 48×72 px (4:3 portrait) on desktop, 40×60 px on mobile
   ══════════════════════════════════════════════════════════════════════════ */

/* Quiet Signal mobile shelf */
@media(max-width:640px){
  .qs-reading-room .spine,
  .qs-reading-room .spine.next{
    display:grid!important;
    grid-template-columns:2.25rem minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:.85rem!important;
    row-gap:.35rem!important;
    align-items:start!important;
    padding:1.15rem 0!important;
  }
  .qs-reading-room .spine-num{grid-column:1!important;grid-row:1 / span 2!important;min-width:0!important;}
  .qs-reading-room .spine-copy{grid-column:2!important;grid-row:1!important;min-width:0!important;width:100%!important;}
  .qs-reading-room .spine-copy h3{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;font-size:1.08rem!important;line-height:1.24!important;}
  .qs-reading-room .spine-action,
  .qs-reading-room .spine.next .spine-action{
    grid-column:2!important;
    grid-row:2!important;
    width:100%!important;
    max-width:none!important;
    text-align:left!important;
    white-space:normal!important;
    word-break:normal!important;
    line-height:1.45!important;
    padding:0!important;
  }
}

/* Bookshelf responsive */
@media(max-width:680px){
  .all-books-page .books-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2.2rem 1.6rem!important;}
}
@media(max-width:430px){
  .all-books-page .books-grid{grid-template-columns:1fr!important;}
}

/* House Specials mobile */
@media(max-width:720px){
  .house-specials-hero img,
  .room-hero img{
    max-height:55vh;
    object-fit:cover;
  }
}

/* House Specials full hero */
@media(min-width:721px){
  .house-specials-full-hero{
    width:100%!important;
    aspect-ratio:16/9!important;
    height:auto!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
  }
}

/* Kabir Reading Room shelf grid — desktop */
@media(min-width:641px){
  .kabir-reading-room .shelf-items > .shelf-spine-with-thumb{
    display:grid!important;
    grid-template-columns:52px 2.4rem minmax(0,1fr) auto!important;
    grid-template-areas:none!important;
    column-gap:1rem!important;
    row-gap:0!important;
    align-items:start!important;
    width:100%!important;
    margin-left:0!important;
    padding:1rem 0!important;
  }
  .kabir-reading-room .shelf-items > .shelf-spine-with-thumb .shelf-thumb-frame{
    grid-area:auto!important;grid-column:1!important;grid-row:1!important;justify-self:start!important;
  }
  .kabir-reading-room .shelf-items > .shelf-spine-with-thumb .spine-num{
    grid-area:auto!important;grid-column:2!important;grid-row:1!important;align-self:start!important;padding-top:.12rem!important;
  }
  .kabir-reading-room .shelf-items > .shelf-spine-with-thumb .spine-copy{
    grid-area:auto!important;grid-column:3!important;grid-row:1!important;min-width:0!important;width:auto!important;align-self:start!important;
  }
  .kabir-reading-room .shelf-items > .shelf-spine-with-thumb .spine-copy h3{margin:0 0 .22rem!important;}
  .kabir-reading-room .shelf-items > .shelf-spine-with-thumb .spine-action{
    grid-area:auto!important;grid-column:4!important;grid-row:1!important;justify-self:end!important;align-self:start!important;width:auto!important;margin:0!important;text-align:right!important;white-space:nowrap!important;
  }
}

/* Universal shelf spine grid — all reading rooms */
.reading-room .shelf-items > .shelf-spine-with-thumb,
.stills-reading-room .shelf-items > .stills-spine{
  display:grid!important;
  grid-template-columns:52px 2.4rem minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  grid-template-areas:none!important;
  column-gap:.9rem!important;
  row-gap:0!important;
  align-items:start!important;
  width:100%!important;
}
.reading-room .shelf-items > .shelf-spine-with-thumb .shelf-thumb-frame,
.stills-reading-room .shelf-items > .stills-spine .stills-thumb-frame{
  width:48px!important;inline-size:48px!important;min-width:48px!important;max-width:48px!important;max-height:72px!important;
  justify-self:start!important;align-self:start!important;grid-column:1!important;grid-row:1!important;
}
.reading-room .shelf-items > .shelf-spine-with-thumb .spine-num,
.stills-reading-room .shelf-items > .stills-spine .spine-num{
  grid-column:2!important;grid-row:1!important;align-self:start!important;
}
.reading-room .shelf-items > .shelf-spine-with-thumb .spine-copy,
.stills-reading-room .shelf-items > .stills-spine .spine-copy{
  grid-column:3!important;grid-row:1!important;align-self:start!important;min-width:0!important;
}
.reading-room .shelf-items > .shelf-spine-with-thumb .spine-copy h3,
.stills-reading-room .shelf-items > .stills-spine .spine-copy h3{margin-top:0!important;}
.reading-room .shelf-items > .shelf-spine-with-thumb .spine-action,
.stills-reading-room .shelf-items > .stills-spine .spine-action{
  grid-column:4!important;grid-row:1!important;align-self:start!important;justify-self:end!important;white-space:nowrap!important;
}

/* Shelf spine mobile */
@media(max-width:640px){
  .reading-room .shelf-items > .shelf-spine-with-thumb,
  .stills-reading-room .shelf-items > .stills-spine{
    grid-template-columns:44px 1.85rem minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:none!important;
    column-gap:.7rem!important;row-gap:.4rem!important;align-items:start!important;
  }
  .reading-room .shelf-items > .shelf-spine-with-thumb .shelf-thumb-frame,
  .stills-reading-room .shelf-items > .stills-spine .stills-thumb-frame{
    width:40px!important;inline-size:40px!important;min-width:40px!important;max-width:40px!important;max-height:60px!important;
    grid-column:1!important;grid-row:1 / span 2!important;
  }
  .reading-room .shelf-items > .shelf-spine-with-thumb .spine-num,
  .stills-reading-room .shelf-items > .stills-spine .spine-num{grid-column:2!important;grid-row:1!important;padding-top:0!important;}
  .reading-room .shelf-items > .shelf-spine-with-thumb .spine-copy,
  .stills-reading-room .shelf-items > .stills-spine .spine-copy{grid-column:3!important;grid-row:1!important;}
  .reading-room .shelf-items > .shelf-spine-with-thumb .spine-action,
  .stills-reading-room .shelf-items > .stills-spine .spine-action{
    grid-column:3!important;grid-row:2!important;justify-self:start!important;
    text-align:left!important;white-space:normal!important;margin-top:.15rem!important;
  }
}

/* Reflect text-only shelf thumbnails */
.reading-room .reflect-thumb-text{
  display:flex!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;background:#eee8de!important;padding:4px!important;box-sizing:border-box!important;
}
.reading-room .reflect-thumb-text span{
  font-size:8px!important;line-height:1.15!important;letter-spacing:.01em!important;white-space:nowrap!important;
}


/* ══════════════════════════════════════════════════════════════════════════
   H — ROOM CARDS (retained for legacy room-card usage)
   ══════════════════════════════════════════════════════════════════════════ */
.rooms .room-card .card-thumb{
  width:100%!important;aspect-ratio:var(--frame-room-card-ratio)!important;height:auto!important;
  object-fit:cover!important;display:block!important;margin-bottom:1rem!important;border:1px solid var(--line)!important;
}

/* ══════════════════════════════════════════════════════════════════════════
   I — POSTER INSERT (CSJA poster in courtyard door — contain not cover)
   ══════════════════════════════════════════════════════════════════════════ */
.courtyard-door-media.poster-insert>img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#efe4cf!important;
}

/* ══════════════════════════════════════════════════════════════════════════
   J — HOUSE SECTION MEDIA (homepage Study/Conversation imagery)
   Frame: .house-section-media  |  Ratio: 3:2  |  Source: 1536×1024 px
   ══════════════════════════════════════════════════════════════════════════ */
.house-section-media{
  width:100%!important;
  aspect-ratio:3/2!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  background:#e9e2d4!important;
  border-radius:3px!important;
  box-shadow:0 3px 16px rgba(44,37,25,.12)!important;
}
.house-section-media>img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center center!important;display:block!important;
}
.study-room-media>img{object-position:center center!important;}
.conversation-room-media>img{object-position:center center!important;}
@media(max-width:640px){
  .house-section-media{aspect-ratio:4/3!important;}
}

/* ══════════════════════════════════════════════════════════════════════════
   K — BOOKSHELF ROOM FRAME
   Frame: .bookshelf-room-frame  |  Ratio: 4:3 desktop, 5:4 mobile
   ══════════════════════════════════════════════════════════════════════════ */
.bookshelf-room-frame{
  width:min(100%,1448px)!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  margin:0 auto!important;
  overflow:hidden!important;
  position:relative!important;
  background:#e9e2d4!important;
  line-height:0!important;
}
.bookshelf-room-frame>a{display:block!important;width:100%!important;height:100%!important;line-height:0!important;}
.bookshelf-room-frame img{
  display:block!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center center!important;
}
@media(max-width:640px){
  .bookshelf-room-frame{aspect-ratio:5/4!important;}
  .bookshelf-room-frame img{object-position:center center!important;}
}

/* ══════════════════════════════════════════════════════════════════════════
   L — ALL BOOKS PAGE: book-cover-frame override
   ══════════════════════════════════════════════════════════════════════════ */
.all-books-page .book-cover-frame{
  display:block!important;
  width:min(100%,var(--frame-book-max))!important;
  max-width:var(--frame-book-max)!important;
  aspect-ratio:var(--frame-book-ratio)!important;
  height:auto!important;
  margin:0 auto!important;
  overflow:hidden!important;
  background:transparent!important;
  position:relative!important;
}
.all-books-page .book-cover-frame>.book-cover{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;object-fit:contain!important;object-position:center center!important;
  margin:0!important;display:block!important;
}

/* Mobile reading room border-radius */
@media(max-width:520px){
  .all-books-page .books-grid{grid-template-columns:1fr!important;}
  .reading-room .room-hero-frame,.stills-reading-room-inline .room-hero-frame{border-radius:4px!important;}
}

/* ══════════════════════════════════════════════════════════════════════════
   CACHE-PROOF VERSION MARKER — v1.0.141
   This versioned filename prevents older cached frames surviving a deploy.
   ══════════════════════════════════════════════════════════════════════════ */
