/* Local transition study. The original section rules remain authoritative. */
html.cinema-enabled { scroll-behavior: auto; overflow-anchor: none; }
/* Keep the 16:9 video's complete vertical frame on wide, shallow windows. */
html.cinema-enabled #certainty { min-height:56.25vw; }
@media(min-width:881px) {
  html.cinema-enabled #certainty { min-height:max(100svh,56.25vw); }
}
.cinema-slot { position: relative; width: 100%; }
.cinema-frame {
  position: fixed;
  inset: var(--cinema-top, 76px) 0 0;
  overflow: clip;
  visibility: hidden;
  transform: translateY(200vh);
  background: #100e0a;
  isolation: isolate;
  pointer-events: none;
}
.cinema-frame.is-current {
  visibility: visible;
  transform: none;
  pointer-events: auto;
  z-index: 2;
}
.cinema-composition { position: relative; width: 100%; display: flow-root; }
.cinema-frame.is-short::before {
  content: ''; position: absolute; inset: -80px;
  background-image: var(--cinema-atmosphere);
  background-size: cover; background-position: center;
  filter: blur(65px) brightness(.55);
}
.cinema-frame.is-short .cinema-composition {
  mask-image: linear-gradient(to bottom, transparent, black 24px, black calc(100% - 24px), transparent);
}
.cinema-composition > section { margin-block: 0; }
.cinema-refraction {
  position: fixed;
  inset: var(--cinema-top, 76px) 0 0;
  z-index: 45;
  pointer-events: none;
  opacity: 0;
  width: 100%; height: calc(100% - var(--cinema-top, 76px));
  display: block;
}
.cinema-fallback {
  position:fixed; inset:var(--cinema-top,76px) 0 0;
  z-index:45; pointer-events:none; opacity:0; overflow:hidden;
}
.cinema-tools {
  position: fixed; left: 16px; bottom: 14px; z-index: 80;
  display: flex; align-items: center; gap: 4px;
  border: 1px solid #bda47e66; border-radius: 30px;
  background: #17140fed; color: #f2e5cd;
  padding: 5px 8px; font: 10px/1.2 var(--mono); letter-spacing: .04em;
}
.cinema-tools button, .cinema-tools a { padding: 9px 8px; color: inherit; }
.cinema-tools button:hover, .cinema-tools a:hover { color: #e0a850; }
.cinema-tools :focus-visible { outline: 2px solid #e0a850; outline-offset: 1px; }
.cinema-count { min-width: 42px; text-align: center; }
.cinema-tools[hidden] { display: none; }
.cinema-tools button:disabled { opacity: .35; cursor: default; }
@supports (zoom: 1) {
  @media (880px < width < 1500px) {
    /* Extend the original 1930px calibration to laptops. Freeze its inner
       viewport-based values so artwork, nodes and type scale only once. */
    .section-5 .s5-head-block { margin-bottom: 110px; }
    .section-5 .s5-eyebrow { margin-bottom: 28px; }
    .section-5 h2.s5-head { margin-bottom: 32px; }
    .section-5 .s5-sub { font-size: 15px; }
    .section-5 .s5-num { font-size: 22px; }
    .section-5 .s5-name { font-size: 26px; }
    .section-5 .s5-desc { font-size: 13.5px; }
    .section-5 .s5-orb { width: 52px; height: 52px; }
    .section-5 .s5-bottom { margin-top: 120px; }
  }
}
@media (max-width: 880px), (pointer: coarse) and (max-height: 540px) and (max-width: 1100px) {
  /* The original 88vw scrim ended abruptly partway down the responsive
     reading rail. Shade the full composition, retaining detail below it. */
  .section-5 {
    background-size: cover;
  }
  .section-5::before {
    inset: 0;
    height: auto;
    background: linear-gradient(180deg,
      rgba(26,22,16,0) 0,
      rgba(26,22,16,0) max(320px,28vw),
      rgba(26,22,16,.60) max(440px,65vw),
      rgba(26,22,16,.80) 100%);
  }
}
@media (max-width: 480px) {
  /* Keep the brand intact and the menu touch target usable on narrow phones. */
  #nav .nav-inner { gap: 6px; }
  #nav .brand { white-space: nowrap; font-size: 18px; gap: 7px; flex-shrink: 0; }
  #nav .nav-toggle { flex: 0 0 44px; margin: 0; }
  #nav .nav-cta {
    min-width: 0; padding: 9px 10px; gap: 6px;
    font-size: 9px; letter-spacing: .12em; line-height: 1.45;
  }
}
@media (max-width: 360px) {
  #nav .nav-inner { padding-inline: 16px; }
  #nav .brand { font-size: 16px; gap: 5px; }
  #nav .nav-cta { padding: 8px; gap: 3px; font-size: 8.5px; letter-spacing: .06em; }
}
@media print {
  .cinema-slot { height: auto !important; }
  .cinema-frame { position: static; visibility: visible; transform: none; overflow: visible; }
  .cinema-composition { transform: none !important; }
  .cinema-refraction, .cinema-fallback, .cinema-tools { display: none; }
}

/* Revision 15: readable entire-phone journey; reset desktop text coordinates. */
@media (max-width: 900px), (pointer: coarse) and (max-height: 540px) and (max-width: 1100px) {
  .section-3 {display:block;padding:72px 24px 84px;}
  .section-3 .s3-friction {position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;margin:0 0 52px;}
  .section-3 .s3-friction .item:nth-child(n) {position:static;inset:auto;transform:none;white-space:normal;font-size:13px;line-height:1.5;letter-spacing:.10em;overflow-wrap:normal;}
  .section-3 .s3-copy {position:relative;inset:auto;width:auto;max-width:560px;}
  .section-3 .s3-eyebrow {line-height:1.65;font-size:11px;}
  .section-3 h2.s3-head {font-size:clamp(29px,7.7vw,44px);}
  #standard .s9-closer {position:relative!important;inset:auto;width:auto;padding:32px 22px 50px;margin:0;}
  #standard .s9-closer > span {position:static!important;transform:none!important;white-space:normal;text-align:left;display:block;margin:0 0 10px;}
  #standard #h1,#standard #h2 {font-size:32px!important;line-height:1.15;}
  #standard #t1,#standard #t2 {font-size:12px!important;line-height:1.7;letter-spacing:.14em;}
}
html.cinema-phone .section-5 .s5-wrap {zoom:1!important;width:auto!important;max-width:600px!important;padding-inline:24px;}
html.cinema-phone .section-5 {padding-block:72px 64px!important;}
html.cinema-phone .bgv-clip {display:none!important;}
html.cinema-phone .cinema-frame.is-short .cinema-composition {mask-image:none;}
html.cinema-phone #hero h1 {font-size:clamp(43px,11vw,64px);}
html.cinema-phone #nav {padding-top:env(safe-area-inset-top,0px);}
html.cinema-phone .cinema-frame {padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);}
/* Mobile copy must have a dependable reading surface, even over a bright trail. */
html.cinema-phone .section-4 .s4-left {background:#f3e7d3ed;padding:26px 22px;max-width:none;}
html.cinema-phone .section-4 .s4-rows {background:#17130ddd;padding-inline:18px;}
html.cinema-phone .section-4 .s4-row .desc {font-size:15px;line-height:1.6;color:#f3e8ce;}
html.cinema-phone .section-4 .s4-row .num {color:#d7b879;}
html.cinema-phone .section-4 .s4-row .name {font-size:18px;letter-spacing:.04em;}
html.cinema-phone .section-4 .s4-sub {font-size:15px;}
html.cinema-phone #standard .s9-inner {padding:64px 24px 0;}
html.cinema-phone #standard .s9-head {margin-bottom:28px;}
html.cinema-phone #standard .s9-aside {margin-bottom:32px;}
html.cinema-phone #standard .s9-sub,html.cinema-phone #standard .s9-aside {color:#e4dccd;}
html.cinema-phone #standard .s9-card {padding:34px 26px;min-height:260px;background:#17120bdf;backdrop-filter:none;}
html.cinema-phone #standard .s9-card-body {font-size:15px;line-height:1.6;color:#efe5d4;}
html.cinema-phone #standard .s9-eb-border {filter:none;}
html.cinema-phone #standard .s9-closer {padding-inline:0;}
html.cinema-phone .faq-head-overlay + .faq {margin-top:0!important;}
html.cinema-phone .section-3 .s3-eyebrow {color:#f4d5a0;background:#1a1610d9;width:fit-content;padding:5px 8px;}
html.cinema-phone .section-5 .s5-eyebrow {color:#755022;}
html.cinema-phone .orch-cols {padding-inline:0;}
html.cinema-phone .orch-col-head > div {min-width:0;}
html.cinema-phone .orch-col-tag {white-space:normal;line-height:1.6;}
html.cinema-phone .orch-col-role {font:14px/1.6 var(--sans);opacity:1;}
html.cinema-phone .orch-pace {font-size:12px;line-height:1.6;letter-spacing:.08em;}
html.cinema-phone .oi-txt {font-size:15px;line-height:1.6;}
html.cinema-phone .s7-label {font-size:12px;}
/* Revision 17: retain poster coordinates while keeping laptop body text readable. */
@supports (zoom:1){
  @media (880px < width < 1500px){
    .section-5 .s5-sub{font-size:calc(15px / var(--s5-s));}
    .section-5 .s5-desc{font-size:calc(13.5px / var(--s5-s));}
  }
}
@media (880px < width < 1650px){
  /* The original header and aside anchors stay fixed; prevent their text touching. */
  #standard .s9-title{font-size:clamp(28px,2.85vw,47px);}
}
@media (max-width:1100px){
  .faq-head-overlay + .faq{margin-top:0!important;}
}
html.cinema-tablet[data-display-layout=compact] .section-4 .s4-left{background:#f3e7d3ed;padding:26px 22px;max-width:none;}
html.cinema-tablet[data-display-layout=compact] .section-4 .s4-rows{background:#17130ddd;padding-inline:18px;}
html.cinema-tablet[data-display-layout=compact] .section-4 .s4-row .desc{font-size:15px;line-height:1.6;color:#f3e8ce;}
html.cinema-tablet[data-display-layout=compact] .section-5 .s5-eyebrow{color:#755022;}

@media (600px < width <= 900px){
  html.cinema-tablet #standard .s9-inner{padding:56px 24px 0;}
  html.cinema-tablet #standard .s9-card-body{font-size:15px;line-height:1.6;}
  html.cinema-tablet #standard .s9-card{background:#17120bdf;backdrop-filter:none;}
  html.cinema-tablet #standard .s9-closer{padding-inline:0;}
}
