/* Scroll-driven scene covers: enhanced only after the controller is ready. */
.opening-sequence{position:relative}
.arrival-scene{background:var(--cream)}
html.cinema-ready .brand-intro{position:sticky;top:0;z-index:0;min-height:480px}
html.cinema-ready .intro-identity{opacity:var(--intro-opacity,1);transform:translate3d(0,var(--intro-lift,0px),0) scale(var(--intro-scale,1))}
html.cinema-ready .arrival-scene{position:relative;z-index:1;transform:scale(var(--arrival-scale,1));transform-origin:top center;clip-path:inset(0 round var(--arrival-radius,0px) var(--arrival-radius,0px) 0 0);box-shadow:0 -25px 70px #102b2528;will-change:transform}
html.cinema-ready .arrival-scene .site-header{opacity:var(--arrival-nav,1);transform:none!important;transition:none}
html.cinema-ready .arrival-scene .hero-copy>*{opacity:var(--arrival-copy-opacity,1);transform:translate3d(0,var(--arrival-copy-y,0px),0);transition:none;transition-delay:0ms!important}
html.cinema-ready .arrival-scene .hero-art{opacity:1;transform:translate3d(0,var(--arrival-art-y,0px),0) scale(var(--arrival-art-scale,1));transition:none}
html.cinema-ready .hero-art img{translate:none}
html.cinema-ready .story-rows{display:flex;flex-direction:column;gap:0;isolation:isolate;overflow:visible}
html.cinema-ready .story-rows .story-row{position:sticky;top:var(--chapter-top,24px);min-height:calc(100svh - 48px);margin:0 0 clamp(40px,12svh,130px);transform:scale(var(--chapter-scale,1));transform-origin:top center;box-shadow:0 -12px 48px #193e301c;transition:none;scroll-margin-top:24px;will-change:transform}
html.cinema-ready .story-rows .story-row:last-child{margin-bottom:0}
html.cinema-ready .story-rows .story-row::after{content:'';position:absolute;inset:0;background:#193e30;opacity:var(--chapter-shade,0);border-radius:inherit;pointer-events:none}
html.cinema-ready .story-rows .story-row .slogan-photo{overflow:hidden}
html.cinema-ready .story-rows .story-row .slogan-photo img{transform:scale(var(--chapter-image-scale,1));transition:none;will-change:transform}
html.cinema-ready .story-rows .story-row .slogan-copy{position:relative;transform:translate3d(0,var(--chapter-copy-y,0px),0);transition:none}
html.cinema-ready .story-rows .story-row .slogan-copy>*{opacity:1;transform:none;transition:none;transition-delay:0ms}
@media(max-width:900px){
  html.cinema-ready .story-rows .story-row{min-height:0}
  html.cinema-ready .arrival-scene{box-shadow:0 -15px 45px #102b2520}
}
@media(prefers-reduced-motion:reduce){
  html.cinema-ready .brand-intro,html.cinema-ready .story-rows .story-row{position:relative;top:auto}
  html.cinema-ready .arrival-scene,html.cinema-ready .arrival-scene .hero-copy>*,html.cinema-ready .arrival-scene .hero-art,
  html.cinema-ready .intro-identity,html.cinema-ready .story-rows .story-row,
  html.cinema-ready .story-rows .story-row .slogan-copy,html.cinema-ready .story-rows .story-row .slogan-photo img{transform:none!important;opacity:1!important;clip-path:none;will-change:auto}
  html.cinema-ready .arrival-scene .site-header{opacity:1}
  html.cinema-ready .story-rows .story-row::after{display:none}
}
/* Keyboard navigation keeps the focused chapter above the overlapping panels. */
html.cinema-ready .story-rows .story-row:has(:focus-visible){z-index:20!important;transform:none}
html.cinema-ready .story-rows .story-row:has(:focus-visible)::after{opacity:0}

/* Keep the complete rounded outline, including on the sticky compositing layer. */
html.cinema-ready .story-rows .story-row{--tile-radius:24px;border-radius:var(--tile-radius);overflow:hidden;clip-path:inset(0 round var(--tile-radius));isolation:isolate}
html.cinema-ready .story-rows .story-row::after{border-radius:var(--tile-radius)}
html.cinema-ready .story-rows .story-row{opacity:var(--chapter-opacity,1)}
html.cinema-ready .story-rows .story-row[data-covered=true]{visibility:hidden;pointer-events:none}

/* Carry the same scene-cover motion from the hero through to the four words. */
.presentation-sequence{position:relative;isolation:isolate}
html.cinema-ready .presentation-sequence>.opening-sequence{position:sticky;top:var(--opening-pin,0px);z-index:0}
html.cinema-ready .presentation-sequence .arrival-scene{clip-path:inset(0 round var(--arrival-radius,0px))}
html.cinema-ready .bridge-scene{position:sticky;top:var(--bridge-pin,24px);z-index:1;min-height:calc(100svh - 48px);display:flex;flex-direction:column;background:var(--cream);border-radius:32px;overflow:clip;transform:scale(var(--bridge-scale,1));transform-origin:top center;box-shadow:0 -16px 50px #193e3019}
html.cinema-ready .bridge-scene .ribbon{flex-shrink:0}
html.cinema-ready .bridge-scene .spirit{flex:1;width:100%;display:flex;flex-direction:column;justify-content:center;transform:translateY(var(--bridge-copy-y,0px))}
html.cinema-ready .presentation-sequence>.moments{position:relative;z-index:2;border-radius:32px 32px 0 0;box-shadow:0 -18px 55px #193e301f}
@media(max-width:700px){
  html.cinema-ready .story-rows .story-row{--tile-radius:20px}
  html.cinema-ready .bridge-scene{min-height:0;border-radius:24px}
  html.cinema-ready .presentation-sequence>.moments{border-radius:24px 24px 0 0}
}
@media(prefers-reduced-motion:reduce){
  html.cinema-ready .presentation-sequence>.opening-sequence,html.cinema-ready .bridge-scene{position:relative;top:auto;transform:none}
  html.cinema-ready .bridge-scene .spirit,html.cinema-ready .presentation-sequence>.moments .moments-heading{transform:none}
}
@media(max-height:500px) and (orientation:landscape){html.cinema-ready .brand-intro{height:100svh;min-height:100svh}}

/* Let each complete card settle before the next cover enters the viewport. */
html.cinema-ready{scroll-snap-type:y proximity;scroll-padding-block:0}
.chapter-stop{height:0;flex:0 0 0;pointer-events:none}
html.cinema-ready .chapter-stop[data-snap=true]{scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:var(--stop-offset,24px)}
html.cinema-ready .story-rows{padding-bottom:clamp(180px,30svh,340px)}
html.cinema-ready .story-rows .story-row{margin-bottom:clamp(180px,30svh,340px)}
html.cinema-ready .story-rows .story-row:last-child{margin-bottom:0}
@media(max-width:900px){
  html.cinema-ready .bridge-scene{min-height:100svh}
  /* Restore the native mobile scrolling used before the tile stops were added. */
  html.cinema-ready{scroll-snap-type:none}
  html.cinema-ready .story-rows{padding-bottom:0}
  html.cinema-ready .story-rows .story-row{margin-bottom:clamp(40px,12svh,130px)}
  html.cinema-ready .story-rows .story-row:last-child{margin-bottom:0}
  html.cinema-ready .chapter-stop[data-snap=true],
  html.cinema-ready .moments-heading{scroll-snap-align:none;scroll-snap-stop:normal}
  /* Keep text on the card's own painted layer after direct mobile navigation. */
  html.cinema-ready .story-rows .story-row .slogan-copy{transform:none}
  /* Use native sticky covers on mobile without repainting large clipped layers. */
  html.cinema-ready .arrival-scene{transform:none;clip-path:none;border-radius:24px;overflow:clip;box-shadow:none;will-change:auto}
  html.cinema-ready .arrival-scene .site-header,
  html.cinema-ready .arrival-scene .hero-copy>*,
  html.cinema-ready .arrival-scene .hero-art{transform:none!important;opacity:1}
  html.cinema-ready .bridge-scene{transform:none;box-shadow:none}
  html.cinema-ready .bridge-scene .spirit{transform:none}
  html.cinema-ready .story-rows .story-row{transform:none;clip-path:none;box-shadow:none;will-change:auto}
  html.cinema-ready .story-rows .story-row .slogan-photo img{transform:none;will-change:auto}
}
