.film-hero{position:relative;background:#000;height:100svh;min-height:650px;isolation:isolate}.film-hero.sequence-ready{height:320svh}.film-stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;background:#000}.film-stage .header{position:absolute;z-index:6;top:22px;left:24px;width:calc(100% - 48px);margin:0;animation:none}.film-stage .header-inner{width:min(1200px,100%)}.film-stage .brand img{width:106px}.film-poster,#film-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.film-poster{object-fit:contain;object-position:center bottom}.film-hero.canvas-ready .film-poster{opacity:0}#film-canvas{z-index:1}.film-grid{position:absolute;inset:0;z-index:2;width:min(1200px,calc(100% - 96px));margin:auto;border-inline:1px solid #ffffff16;pointer-events:none}.film-grid i{display:block;position:absolute;left:62%;height:100%;border-left:1px solid #ff399822}.film-copy{position:relative;z-index:3;width:min(1200px,calc(100% - 96px));margin:auto;padding-top:clamp(155px,20vh,235px);display:grid;grid-template-columns:1.55fr 1fr;gap:56px;pointer-events:none}.film-copy h1{font:700 clamp(34px,3.6vw,56px)/1.13 Inter,sans-serif;letter-spacing:-1.8px;margin:0}.film-title-line{white-space:nowrap}.film-flower{color:var(--pink);font-size:.85em;display:inline-block;vertical-align:.05em}.film-copy>p{font:clamp(14px,1.4vw,20px)/1.55 var(--mono);margin:0;max-width:435px;padding-top:0}.film-copy>p span{color:var(--pink)}.film-footer{position:absolute;z-index:5;bottom:30px;left:max(48px,calc((100% - 1200px)/2));right:max(48px,calc((100% - 1200px)/2));display:flex;justify-content:space-between;align-items:center;font:12px/1.5 var(--mono);color:#d6c4d0}.film-scroll-cue{display:flex;gap:20px;align-items:center}.film-footer a{padding:10px 0;min-height:40px}.film-footer a:hover{color:var(--pink)}.film-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff12;z-index:5}.film-progress span{display:block;height:100%;width:100%;background:var(--pink);transform:scaleX(0);transform-origin:left}.film-exit{position:absolute;inset:0;background:var(--pink);opacity:0;pointer-events:none;z-index:7}.film-hero + .pink-section{margin-top:0;padding-top:100px}html{scroll-padding-top:0}
@media(max-width:1000px){.film-copy{gap:30px;grid-template-columns:1.4fr 1fr}.film-copy h1{font-size:clamp(28px,4vw,40px);letter-spacing:-1.2px}.film-copy>p{font-size:14px}.film-grid i{left:60%}}
@media(max-width:700px){.film-hero,.film-stage{min-height:700px}.film-hero.sequence-ready{height:300svh}.film-stage .header{top:12px;left:12px;width:calc(100% - 24px)}.film-stage .header-inner{padding:10px 16px 0}.film-stage .brand img{width:79.5px}.film-copy{width:calc(100% - 40px);padding-top:158px;grid-template-columns:1fr;gap:22px}.film-copy h1{font-size:clamp(29px,7.8vw,42px);letter-spacing:-1px}.film-copy>p{font-size:13px;line-height:1.6;max-width:370px}.film-grid{width:calc(100% - 40px)}.film-grid i{display:none}.film-footer{left:20px;right:20px;bottom:18px;font-size:10px}.film-hero + .pink-section{padding-top:64px}}
@media(prefers-reduced-motion:reduce){.film-hero.sequence-ready{height:100svh}.film-scroll-cue{display:none}}
/* Centered opening, matching the supplied composition. */
.film-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding-top:clamp(145px,17vh,190px);width:calc(100% - 40px);max-width:850px}.film-mark{width:38px;height:38px;display:block;margin-bottom:30px}.film-copy h1{font-size:clamp(34px,3.5vw,52px);line-height:1.13;letter-spacing:-1.5px}.film-copy>p{max-width:435px;margin-top:30px;font-size:17px;line-height:1.45}.film-grid{display:none}
@keyframes film-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes film-image-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){.film-opening .header{animation:film-reveal .8s ease-out both}.film-opening .film-mark{animation:film-reveal 1s ease-out .1s both}.film-opening h1{animation:film-reveal 1s ease-out .18s both}.film-opening .film-copy>p{animation:film-reveal 1s ease-out .28s both}.film-opening #film-canvas{animation:film-image-reveal 1.4s ease-out both}}
@media(max-width:700px){.film-copy{padding-top:150px;width:calc(100% - 36px)}.film-mark{width:28px;height:28px;margin-bottom:18px}.film-copy h1{font-size:clamp(27px,7.4vw,38px);letter-spacing:-.8px}.film-copy>p{font-size:13px;line-height:1.5;max-width:330px;margin-top:22px}}

.film-seam{position:absolute;bottom:0;left:0;right:0;height:35%;z-index:7;pointer-events:none;opacity:0;background:linear-gradient(to bottom,transparent,var(--pink) 95%)}
.film-hero + .pink-section{position:relative;margin-top:-1px}

/* Loading is bounded: never trap visitors behind a slow or unavailable network. */
html.film-loading,html.film-loading body{overflow:hidden}
.film-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#000;color:#fff;opacity:1;transition:opacity .4s ease;overscroll-behavior:contain}
.film-loader.is-done{opacity:0;pointer-events:none}
.film-loader-inner{width:min(360px,calc(100% - 48px))}
.film-loader-brand{margin:0 0 46px;color:var(--pink);font:700 25px/1 Inter,sans-serif;letter-spacing:-1px}
.film-loader h2{font:700 24px/1.25 Inter,sans-serif;letter-spacing:-.7px;margin:0 0 28px}
.film-loader-meter{height:2px;background:#ffffff24;overflow:hidden}
.film-loader-meter span{display:block;height:100%;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.film-loader-status{display:flex;justify-content:space-between;gap:16px;font:11px/1.5 var(--mono);color:#a8a2a7;margin:12px 0 34px}
.film-loader button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 16px;border:1px solid #ffffff30;border-radius:0;background:transparent;color:#fff;font:12px/1.5 var(--mono);cursor:pointer;transform:none!important}
.film-loader button:hover{border-color:var(--pink);color:var(--pink)}
.film-loader button:focus-visible{outline:2px solid var(--pink);outline-offset:5px}
@media(prefers-reduced-motion:reduce){.film-loader,.film-loader-meter span{transition:none}}
.film-copy h1[tabindex="-1"]:focus{outline:none}
