/* Nirav Manubhai — production experience layer v11 */
:root{
  --nm-space-1:.5rem;--nm-space-2:.75rem;--nm-space-3:1rem;--nm-space-4:1.5rem;
  --nm-space-5:2rem;--nm-space-6:3rem;--nm-space-7:4.5rem;
  --nm-radius:3px;--nm-shadow:0 10px 34px rgba(44,37,25,.13);
  --nm-focus:#e6c77d;
}
html{scroll-padding-top:5rem;-webkit-text-size-adjust:100%}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.nm-ready{animation:nm-page-in .42s ease both}
@keyframes nm-page-in{from{opacity:0}to{opacity:1}}
::selection{background:rgba(178,132,62,.25);color:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--nm-focus)!important;outline-offset:3px!important}
img{display:block}
main p,article p,.story p{widows:3;orphans:3}

/* Quiet reading progress */
.nm-reading-progress{position:fixed;inset:0 0 auto;z-index:9999;height:2px;pointer-events:none;background:transparent}
.nm-reading-progress>span{display:block;width:0;height:100%;background:var(--gold,#b2843e);transition:width .08s linear}

/* Journey context */
.nm-journey{display:inline-flex;align-items:center;gap:.55rem;min-height:32px;padding:.32rem .58rem;border:1px solid rgba(244,239,227,.34);border-radius:999px;color:var(--paper,#f4efe3);font-size:.66rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.nm-journey-dots{display:flex;gap:3px}.nm-journey-dots i{display:block;width:4px;height:4px;border:1px solid currentColor;border-radius:50%;opacity:.55}.nm-journey-dots i.done,.nm-journey-dots i.current{background:currentColor;opacity:1}.nm-journey-dots i.current{transform:scale(1.35)}

/* Consistent controls */
.btn,.gift-link{border-radius:var(--nm-radius)!important;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease!important}
.btn:hover,.gift-link:hover{transform:translateY(-1px)}
.btn:active,.gift-link:active{transform:translateY(0)}

/* Unified visual treatment */
.reader-poster,.hero-poster img,.quiet-card img,.corridor-thumb{box-shadow:var(--nm-shadow)}
.reader-shell,.room-shell{width:min(100%,calc(var(--max-room,68rem) + 2.8rem))}
.story{max-width:44rem;margin-inline:auto}
.story p{max-width:68ch}

/* Back to top — single icon language */
.nm-top{position:fixed;right:clamp(.8rem,2vw,1.4rem);bottom:clamp(.8rem,2vw,1.4rem);z-index:70;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(44,37,25,.18);border-radius:50%;background:rgba(244,239,227,.93);color:var(--leaf,#4e5d44);box-shadow:0 5px 18px rgba(44,37,25,.12);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease;cursor:pointer;backdrop-filter:blur(8px)}
.nm-top.show{opacity:1;visibility:visible;transform:none}.nm-top:hover{background:var(--parch,#ece3d1)}.nm-top svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* External links receive a restrained marker */
a[target="_blank"]:not(.btn):not(.gift-link)::after{content:" ↗";font-size:.78em;opacity:.62}

/* Better mobile rhythm */
@media(max-width:720px){
  body{line-height:1.68}
  .topbar{padding:.72rem 4.5vw;gap:.6rem}.topbar .mark{font-size:.93rem}
  .nm-journey{padding:.28rem .48rem;font-size:.59rem}.nm-journey-dots{display:none}
  .reader-shell,.room-shell{padding-left:1.15rem!important;padding-right:1.15rem!important}
  .reader-title,.room-title{hyphens:auto;text-wrap:balance}
  .subhead,.reader-tagline{text-wrap:pretty}
  .story{font-size:1.08rem;line-height:1.84}
  .rule{margin:2.7rem 0}
}
@media(max-width:420px){.nm-journey{max-width:42vw;overflow:hidden;text-overflow:ellipsis}.nm-top{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){body.nm-ready{animation:none}.nm-reading-progress>span,.nm-top,.btn,.gift-link{transition:none!important}.btn:hover,.gift-link:hover{transform:none}}
@media print{.topbar,.nm-reading-progress,.nm-top,.reader-nav,.gift-box{display:none!important}body{background:#fff;color:#000}.reader-shell,.room-shell{max-width:none;padding:0}.story{max-width:none}}

/* ═══════════════════════════════════════════════════════════════════
   UNIFIED GUEST NAVIGATION + READER RHYTHM — v1.0.34
   One quiet interaction language across the four story properties.
   Loaded after the series styles so these rules are authoritative.
   ═══════════════════════════════════════════════════════════════════ */

/* Navigation typography: same Inter voice, weight and colour everywhere. */
.topbar a,
.reader-nav a,
.reader-nav .disabled,
.room-journey a,
.next-shelf-card .nsc-actions .btn,
.series-cta .btn,
.gift-link,
.btn {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.topbar a {
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .055em;
}
/* Property name remains a quiet wordmark, not a competing navigation style. */
.topbar .mark {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .025em;
}

/* One button geometry. Meaning may change colour (e.g. WhatsApp), shape does not. */
.btn,
.gift-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .72rem 1rem;
  border-radius: 2px;
  font-size: .74rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none;
}
.gift-link {
  border: 1px solid #1f8f4e;
  background: #1f8f4e;
  color: #fff;
}
.gift-link:hover { background: #187a42; border-color: #187a42; }

/* End-of-room rhythm: no large blank fields between useful guest choices. */
.next-shelf-card {
  margin: 2rem auto 0;
  padding: 1.5rem 0;
  max-width: 46rem;
}
.gift-box {
  margin: 1.25rem auto 0;
  padding: 1.5rem 0;
  max-width: 46rem;
  border-top: 1px solid var(--line);
  border-bottom: 0;
}
.gift-box h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.35rem;
  font-weight: 500;
  margin: 0 0 .4rem;
}
.gift-box p {
  margin: 0 auto .9rem;
  font-size: .85rem;
}
.series-cta {
  max-width: 46rem;
  margin: 0 auto;
  padding: 1.35rem 0;
  text-align: center;
  border-top: 1px solid var(--line);
}
.series-cta p {
  margin: 0 0 .65rem;
  color: var(--ink-soft);
  font-size: .82rem;
}

/* Reader navigation: previous / Reading Room / next share one visual voice. */
.reader-nav {
  max-width: 46rem;
  margin: 1.35rem auto 0;
  padding: 1.35rem 0 0;
  border-top: 1px solid var(--line);
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  gap: 1rem;
}
.reader-nav a,
.reader-nav .disabled {
  color: var(--leaf);
  font-size: .76rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .025em;
  text-transform: none;
}
.reader-nav .home {
  text-align: center;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .025em;
  text-transform: none;
}
.reader-nav .next { text-align: right; }
.reader-nav .disabled { color: var(--ink-soft); opacity: .48; }

/* Reading-room journey nav follows the same text scale and tone. */
.room-journey {
  margin-top: 2rem;
  padding-top: 1.35rem;
}
.room-journey a {
  color: var(--leaf);
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .025em;
  text-transform: none;
}
.room-journey .journey-home {
  font-family: "Playfair Display", Georgia, serif;
  font-size: .9rem;
  font-style: normal;
}

/* Mobile: make the archive return the first clear choice, then prev/next below it. */
@media (max-width: 720px) {
  .reader-nav {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: .85rem 1rem;
  }
  .reader-nav .home {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
  }
  .reader-nav > :first-child {
    grid-column: 1;
    grid-row: 2;
    text-align: left;
  }
  .reader-nav .next {
    grid-column: 2;
    grid-row: 2;
    text-align: right;
  }
  .next-shelf-card,
  .gift-box,
  .series-cta,
  .reader-nav { width: 100%; }
}

@media (max-width: 430px) {
  .btn,
  .gift-link,
  .next-shelf-card .nsc-actions .btn,
  .series-cta .btn { width: 100%; }
  .next-shelf-card { margin-top: 1.5rem; }
  .gift-box { margin-top: 1rem; }
  .reader-nav { margin-top: 1rem; }
  .reader-nav a,
  .reader-nav .disabled,
  .reader-nav .home { font-size: .74rem; }
}

/* Unified STILLS home: invitation flows into the Reading Room without a dead band. */
.stills-unified .room-shell { padding-bottom: 2.75rem; }
.stills-unified .hero-poster { margin-bottom: 0; }
.stills-unified .reading-room { scroll-margin-top: 4.25rem; }
@media (max-width: 720px) {
  .stills-unified .room-shell { padding-bottom: 2.25rem; }
}

/* v43 · first-visit orientation: quiet, not an onboarding control */
.rooms-first-visit{max-width:42rem;margin:.55rem 0 1.5rem;color:var(--ink-soft,#6b5f47);font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:.95rem;line-height:1.65}
.rooms-first-visit a{color:inherit;text-decoration-color:rgba(107,95,71,.45);text-underline-offset:.18em}.rooms-first-visit a:hover{color:var(--ink,#2c2519)}
