/* Stable text grid; replacement-film framing lives in hero-media.mjs. */
.film .screen{--hero-gutter:clamp(24px,6vw,112px);background:var(--paper)}
.film .mast,.film .film-footer{padding-inline:var(--hero-gutter)}
.film .mast{padding-top:24px;transition:color .18s,background-color .18s}
.film .screen.light .mast{background:var(--paper);color:var(--ink)}
.film .hero-video{inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:var(--hero-position,center);transform-origin:0 0}
.film .video-shade{background:linear-gradient(180deg,#10171924,transparent 48%,#10171955),linear-gradient(90deg,#10171977,transparent 85%)}
.film .scene .headline{left:var(--hero-gutter);right:var(--hero-gutter);top:clamp(120px,20svh,220px);max-width:none;width:auto;margin:0;font-size:clamp(48px,6.1vw,104px);line-height:1.08;letter-spacing:-.052em}
.film .scene0 .headline{top:clamp(120px,21svh,230px)}
.film .headline .hero-line{display:block;overflow:clip;margin:0;padding-block:.055em;margin-block:-.055em;font:inherit;letter-spacing:inherit}
.film .headline .hero-line-inner{display:block;margin:0;font:inherit;letter-spacing:inherit;transform-origin:0 100%}
.film .headline .hero-line+.hero-line{margin-top:0}
.film .scene0 .headline>.hero-line+.hero-line{margin-left:5vw}
.film .scene1 .headline,.film .scene3 .headline{font-size:clamp(40px,4.6vw,78px);line-height:1.14}
.film .scene1 .hero-line:last-child{margin-top:.28em;font-size:.79em}
.film .scene2 .headline{font-size:clamp(40px,4.9vw,82px);line-height:1.1}
.film .scene4 .headline{top:clamp(118px,19svh,220px);font-size:clamp(46px,6.2vw,100px);line-height:1.09}
.film .scene4 .headline>.hero-line+.hero-line{margin-left:5vw}
.film .opening-foot{left:var(--hero-gutter);right:var(--hero-gutter);bottom:clamp(108px,17svh,180px)}
.film .opening-foot p{max-width:400px;font-size:14px;line-height:1.65}
.film .experience-proof{left:var(--hero-gutter);bottom:clamp(108px,17svh,180px);gap:40px}
.film .scene4 .final-action{left:var(--hero-gutter);bottom:22%;width:34%;min-width:290px}
.film .scene4 .final-action .build-cta{width:100%}
.film .scene4 .final-action p{margin-top:18px;font-size:14px;line-height:1.6}
.film .scene.type-present{visibility:visible}
.film .scene:not(.active){pointer-events:none}
.film .scene:not(.type-present){visibility:hidden}
.film .film-footer{padding-bottom:24px}
@media(min-width:761px) and (max-height:650px){
 .film .scene .headline{top:100px;font-size:clamp(38px,5.2vw,72px)}
 .film .scene1 .headline,.film .scene3 .headline{font-size:clamp(34px,4vw,60px)}
 .film .scene2 .headline{font-size:clamp(34px,4.2vw,62px)}
 .film .opening-foot{bottom:82px}.film .opening-foot p{font-size:12px;max-width:390px}
 .film .experience-proof{bottom:82px}.film .scene4 .final-action{bottom:12%}
}
@media(max-width:760px){
 .film,.film .screen{height:100svh;min-height:580px}
 .film .screen{--hero-gutter:24px}.film .screen:not(.light){background:#17252b}
 .film .mast{padding-top:17px}.film .hero-video{inset:0;height:100%;object-fit:cover}
 .film .video-shade{background:linear-gradient(180deg,#101719a8 0%,#101719a8 39%,#10171926 60%,#10171966 72%,#101719d9 100%)}
 .film .scene .headline{top:clamp(102px,14svh,150px);font-size:clamp(31px,8.6vw,54px);line-height:1.12;letter-spacing:-.045em}
 .film .scene0 .headline>.hero-line+.hero-line,.film .scene4 .headline>.hero-line+.hero-line{margin-left:0}
 .film .scene1 .headline,.film .scene3 .headline{font-size:clamp(29px,7.7vw,48px);line-height:1.17}
 .film .scene1 .hero-line:last-child{margin-top:.35em;font-size:.86em}
 .film .scene2 .headline{font-size:clamp(30px,8vw,50px);line-height:1.15}
 .film .opening-foot{bottom:88px}.film .opening-foot p{max-width:340px;font-size:13px;line-height:1.55}
 .film .opening-personal{margin-top:10px}
 .film .experience-proof{bottom:100px;gap:24px;font-size:12px}.film .experience-proof strong{font-size:25px}
 .film .scene4{padding:clamp(100px,14svh,140px) var(--hero-gutter) 24px}
 .film .scene4 .headline{position:relative;inset:auto;font-size:clamp(32px,8.7vw,54px);line-height:1.14}
 .film .scene4 .final-action{position:relative;inset:auto;margin-top:clamp(40px,15svh,126px);width:100%;min-width:0}
 .film .scene4 .final-action .build-cta{width:100%;max-width:350px;padding:16px 20px;min-height:52px}
 .film .scene4 .final-action p{max-width:240px;font-size:13px;line-height:1.55;margin-top:14px}
 .film .film-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
 .film .video-loader{top:auto;bottom:36%;right:24px;max-width:calc(100% - 48px)}
 .film .video-loader.on-final{bottom:8%;font-size:10px}
}
@media(max-width:760px) and (max-height:700px){
 .film .scene .headline{top:96px;font-size:clamp(29px,8vw,42px)}
 .film .scene1 .headline,.film .scene3 .headline{font-size:clamp(27px,7.2vw,38px)}
 .film .scene2 .headline{font-size:clamp(28px,7.5vw,40px)}
 .film .opening-foot{bottom:78px}.film .opening-foot p{font-size:12px;line-height:1.5}
 .film .scene4{padding-top:90px}
 .film .scene4 .headline{top:auto;font-size:clamp(29px,8vw,40px)}
 .film .scene4 .final-action{top:auto;margin-top:44px}.film .scene4 .final-action p{max-width:250px;font-size:12px}
}
@media(max-width:360px){.film .scene4 .headline{font-size:26px}}
@media(prefers-reduced-motion:reduce){.film .hero-line-inner{transform:none!important;opacity:1!important}}

/* One reading axis, deliberate lines, and a quieter explanatory voice. */
.film .scene .headline{top:clamp(122px,20svh,210px);right:auto;width:calc(100% - 2 * var(--hero-gutter));max-width:1000px;font-size:clamp(56px,6.2vw,104px);line-height:1.035;letter-spacing:-.046em}
.film .scene0 .headline{max-width:850px}
.film .scene0 .headline>.hero-line+.hero-line,.film .scene4 .headline>.hero-line+.hero-line{margin-left:0}
.film .scene1 .headline,.film .scene3 .headline{font-size:clamp(48px,5.2vw,88px);line-height:1.08;max-width:1120px}
.film .scene1 .hero-line:last-child{margin-top:0;font-size:inherit}
.film .scene .headline>.hero-line-secondary{font-size:.72em;line-height:1.18}
.film .scene .headline>.hero-line-secondary:nth-child(3){margin-top:.6em}
.film .scene2 .headline{font-size:clamp(46px,4.9vw,82px);line-height:1.075;max-width:850px}
.film .scene4 .headline{top:clamp(122px,20svh,210px);font-size:clamp(52px,5.9vw,100px);line-height:1.06}
.film .opening-foot p{max-width:440px;font-size:13px;line-height:1.6}
.film .opening-personal{display:block;max-width:38ch;font-size:15px;line-height:1.5;margin-top:18px}
@media(min-width:761px) and (max-height:650px){
 .film .scene .headline{top:100px;font-size:clamp(45px,5.3vw,76px)}
 .film .scene1 .headline,.film .scene3 .headline{font-size:clamp(42px,4.8vw,68px)}
 .film .scene2 .headline{font-size:clamp(40px,4.2vw,60px)}
 .film .opening-foot p{font-size:12px}.film .opening-personal{font-size:13px;margin-top:10px}
}
@media(max-width:760px){
 .film .scene .headline{top:clamp(110px,16svh,160px);width:calc(100% - 2 * var(--hero-gutter));max-width:none;font-size:clamp(32px,9.8vw,72px);line-height:1.075;letter-spacing:-.04em}
 .film .scene1 .headline,.film .scene3 .headline{font-size:clamp(30px,8.8vw,64px);line-height:1.1}
 .film .scene .headline>.hero-line-secondary{font-size:.81em;line-height:1.2}
 .film .scene .headline>.hero-line-secondary:nth-child(3){margin-top:.65em}
 .film .scene2 .headline{font-size:clamp(30px,8.8vw,64px);line-height:1.1}
 .film .scene4 .headline{position:relative;inset:auto;width:100%;font-size:clamp(26px,8.25vw,54px);line-height:1.12}
 .film .opening-foot p{max-width:340px;font-size:12px;line-height:1.55}
 .film .opening-personal{max-width:33ch;font-size:14px;line-height:1.5;margin-top:14px}
}
@media(max-width:760px) and (max-height:700px){
 .film .scene .headline{top:96px;font-size:clamp(30px,9vw,44px)}
 .film .scene1 .headline,.film .scene2 .headline,.film .scene3 .headline{font-size:clamp(28px,8.2vw,40px)}
 .film .scene4 .headline{top:auto;font-size:clamp(26px,8.1vw,40px)}
 .film .opening-personal{font-size:13px;margin-top:10px}
}
.film .opening-foot a{white-space:nowrap}

/* Compact author signature: both paragraphs share one measure. */
.film .opening-foot p{max-width:300px}
.film .opening-personal{max-width:100%}

/* Name and role read as separate units; glue short dependent phrases. */
.film .opening-name,.film .opening-role{display:block}
