/* Text becomes a window into the film; all copy remains visible without JS. */
.editorial-home #launch-story { padding: 60px 0 0; border: 0; }
.story-intro { max-width: 1440px; padding-bottom: 12px; overflow: clip; }
.story-section-label { display: flex; justify-content: space-between; align-items: center; padding-bottom: 22px; border-bottom: 1px solid #bbd5bf55; color: #c4d4c6; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.story-section-label > span:first-child:before { content: ''; display: inline-block; width: 8px; height: 8px; background: #b0d4b7; margin-right: 10px; }
.editorial-home #launch-story h2 { margin: 64px auto 0; max-width: 22ch; font-size: clamp(36px,6.1vw,96px); font-weight: 650; letter-spacing: -.055em; line-height: 1.05; text-align: center; }
.story-intro h2 span { display: block; }
.story-intro h2 .story-plus { text-align: center; font-size: .72em; margin-block: .16em; }
.story-runway { position: relative; }
.story-stage { position: relative; }
.story-screen { position: relative; height: 74svh; min-height: 400px; overflow: hidden; background: #09130d; isolation: isolate; }
/* Feather the film into the following page content. */
.story-screen {
 --story-feather: clamp(110px,20svh,240px);
 -webkit-mask-image: linear-gradient(to bottom,#000 0,#000 calc(100% - var(--story-feather)),#000e calc(100% - var(--story-feather)*.72),#0007 calc(100% - var(--story-feather)*.35),transparent 100%);
 mask-image: linear-gradient(to bottom,#000 0,#000 calc(100% - var(--story-feather)),#000e calc(100% - var(--story-feather)*.72),#0007 calc(100% - var(--story-feather)*.35),transparent 100%);
}
.story-video { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; }
.story-shade { position: absolute; inset: 0; background: linear-gradient(180deg,#08110b08,#08110b30); }
.story-fallback-title { position: absolute; top: 10%; left: 5%; right: 5%; text-align: center; text-transform: uppercase; font: 800 clamp(50px,10vw,160px)/.9 var(--font-display); color: #eef1e6; }
.story-cutout { display: none; position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.story-cutout text { font: 900 200px/1 var(--font-display); letter-spacing: -8px; }
.story-scroll-cue { display: none; position: absolute; top: 35%; width: 100%; text-align: center; color: #b6cbb9; font-size: 10px; text-transform: uppercase; letter-spacing: .2em; }
.story-scroll-cue span { display: block; width: 1px; height: 34px; margin: 18px auto 0; background: #a4beaa; }
.story-enhanced .story-runway { height: calc(var(--story-screen-height) + var(--story-travel)); }
.story-enhanced .story-stage { position: sticky; top: var(--story-top); height: var(--story-screen-height); }
.story-enhanced .story-screen { height: 100%; min-height: 0; }
/* Fade clipped letters and footage into the page at the viewport perimeter. */
.story-enhanced .story-screen::after {
 content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
 --edge-width: clamp(48px,7vw,140px);
 --edge-top: clamp(48px,9svh,110px);
 background:
  linear-gradient(to right,var(--bg),transparent var(--edge-width),transparent calc(100% - var(--edge-width)),var(--bg)),
  linear-gradient(to bottom,var(--bg),transparent var(--edge-top));
 opacity: var(--story-edge-opacity,0);
}
.story-enhanced .story-cutout, .story-enhanced .story-scroll-cue { display: block; }
.story-enhanced .story-fallback-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; }
@media(max-width:760px) {
 .editorial-home #launch-story { padding-top: 36px; }
 .story-intro { padding-bottom: 16px; }
 .story-section-label { font-size: 10px; padding-bottom: 16px; }
 .editorial-home #launch-story h2 { font-size: clamp(30px,8.5vw,60px); margin-top: 36px; }
 .story-screen { height: 54svh; min-height: 320px; }
}
@media(prefers-reduced-motion:reduce) {
 .story-intro h2 span { transform: none !important; }
 .story-video { object-fit: cover; }
}
/* Zooming letters and incoming headings cannot widen the document. */
.story-stage { overflow: clip; }
.editorial-home #pricing .sec-head { overflow: clip; }
