/* The MIA film: a normal document scroll controlling a full cinematic stage. */
#presence-film{position:relative;min-height:950svh;background:#05060b;isolation:isolate;--mf-progress:0;--mf-transition:0}
.mf-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#05060b;color:#fdf5eb;isolation:isolate}
.mf-stage video[data-film-index]{position:absolute;inset:0;max-width:none;width:100%;height:100%;object-fit:cover;object-position:65% 50%;pointer-events:none;visibility:hidden;will-change:clip-path;filter:saturate(.94) contrast(1.05)}
.mf-stage::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(5,6,11,.86),rgba(5,6,11,.65) 27%,rgba(5,6,11,.08) 58%,transparent 78%),linear-gradient(0deg,rgba(5,6,11,.94),transparent 26%,transparent 80%,rgba(5,6,11,.48))}
.mf-stage::after{content:'';position:absolute;inset:clamp(18px,3vw,48px);border:1px solid rgba(139,230,255,.1);z-index:4;pointer-events:none;clip-path:polygon(0 0,14% 0,14% 1px,86% 1px,86% 0,100% 0,100% 100%,86% 100%,86% calc(100% - 1px),14% calc(100% - 1px),14% 100%,0 100%)}
.mf-fx{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;opacity:.72}
.mf-copy{position:absolute;z-index:5;left:var(--margin,5vw);top:50%;transform:translateY(-46%);max-width:50%;width:680px;text-wrap:balance}
.mf-copy .micro,.mf-eyebrow{font:11px var(--f-mono,monospace);letter-spacing:.18em;color:#8be6ff;text-transform:uppercase;margin-bottom:28px;display:flex;align-items:center;gap:12px}
.mf-copy .micro::before,.mf-eyebrow::before{content:'';width:22px;height:1px;background:#ff4fa3;box-shadow:0 0 14px #ff4fa3}
.mf-copy h1,.mf-copy h2{font-family:var(--f-display,sans-serif);font-size:clamp(50px,6.6vw,112px);font-weight:450;letter-spacing:-.055em;line-height:.98;font-stretch:112%;margin:0 0 24px;max-width:10ch}
.mf-copy h1 em,.mf-copy h2 em{color:#8be6ff;font-weight:350;display:block;text-shadow:0 0 34px rgba(96,189,241,.16)}
.mf-copy p:not(.micro):not(.mf-eyebrow){font-size:clamp(14px,1.15vw,19px);color:rgba(253,245,235,.74);line-height:1.65;max-width:36ch;margin:0 0 28px;text-wrap:pretty}
.mf-copy .primary,.mf-copy .secondary{margin-top:8px;margin-right:10px;font-size:13px;padding:14px 22px;backdrop-filter:blur(8px)}
.mf-copy .primary{background:#d3fe66;color:#0c102d;border-color:#d3fe66;box-shadow:0 0 30px rgba(211,254,102,.08)}
.mf-controls{position:absolute;left:var(--margin,5vw);right:var(--margin,5vw);bottom:34px;z-index:6;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.mf-chapters{display:flex;gap:6px;align-items:center}.mf-chapter-button{display:flex;align-items:center;gap:8px;padding:12px 14px;min-height:44px;border:1px solid transparent;background:rgba(5,6,11,.3);color:rgba(253,245,235,.52);font:11px var(--f-mono,monospace);text-decoration:none;letter-spacing:.06em;transition:color .2s,border-color .2s,background .2s;backdrop-filter:blur(12px)}
.mf-chapter-button[aria-current=step]{color:#8be6ff;border-color:rgba(139,230,255,.38);background:rgba(12,16,45,.65)}.mf-chapter-button:hover{color:#fdf5eb;border-color:rgba(253,245,235,.2)}
.mf-chapter-button small,.mf-chapter-button span:first-child{color:#ff4fa3}.mf-play{min-height:44px;padding:12px 16px;border:1px solid rgba(253,245,235,.3);background:rgba(5,6,11,.35);backdrop-filter:blur(12px);font:11px var(--f-mono,monospace);letter-spacing:.04em;color:#fdf5eb}
.mf-progress{position:absolute;bottom:0;left:0;height:2px;width:100%;z-index:8;background:rgba(253,245,235,.1)}.mf-progress::after{content:'';display:block;height:100%;width:calc(var(--mf-progress)*100%);background:linear-gradient(90deg,#ff4fa3,#8be6ff);box-shadow:0 0 18px rgba(139,230,255,.55)}
.mf-readout{position:absolute;z-index:5;right:var(--margin,5vw);top:calc(var(--bar-h,72px) + 40px);display:flex;align-items:center;gap:20px;font:10px var(--f-mono,monospace);letter-spacing:.1em;color:rgba(253,245,235,.55)}.mf-frame{color:#8be6ff}.mf-chapter-name{text-transform:uppercase}
.mf-scroll-hint{position:absolute;z-index:5;left:var(--margin,5vw);top:calc(var(--bar-h,72px) + 40px);font:10px var(--f-mono,monospace);letter-spacing:.18em;color:rgba(253,245,235,.58)}
#presence-film[data-film-fallback=true] .mf-fx{display:none}#presence-film[data-film-fallback=true] .mf-play{display:none}
@media(min-width:1800px){.mf-copy{max-width:45%;width:850px}.mf-copy h1,.mf-copy h2{font-size:clamp(100px,6.5vw,156px)}}
@media(max-width:1100px){.mf-chapter-button{padding:10px 8px;font-size:9px}.mf-controls{gap:10px}.mf-copy{max-width:56%}.mf-copy h1,.mf-copy h2{font-size:clamp(48px,7.5vw,86px)}}
@media(max-width:760px){#presence-film{min-height:750svh}.mf-stage{height:calc(100svh - 60px);top:0}.mf-stage video[data-film-index]{object-position:61% 35%}.mf-stage::before{background:linear-gradient(0deg,#05060b 3%,rgba(5,6,11,.9) 24%,rgba(5,6,11,.42) 48%,transparent 76%),linear-gradient(180deg,rgba(5,6,11,.4),transparent 22%)}.mf-stage::after{inset:12px}.mf-copy{top:auto;bottom:96px;transform:none;left:24px;right:24px;max-width:none;width:auto}.mf-copy h1,.mf-copy h2{font-size:clamp(42px,10vw,64px);max-width:13ch;margin-bottom:12px}.mf-copy .micro,.mf-eyebrow{font-size:9px;margin-bottom:14px}.mf-copy p:not(.micro):not(.mf-eyebrow){font-size:13px;line-height:1.5;margin-bottom:12px;max-width:36ch}.mf-copy .primary,.mf-copy .secondary{min-height:40px;padding:10px 12px;font-size:11px}.mf-readout{top:90px;right:24px;font-size:8px;gap:10px}.mf-scroll-hint{top:90px;left:24px;font-size:8px;max-width:16ch}.mf-controls{left:20px;right:20px;bottom:20px}.mf-chapters{display:grid;grid-template-columns:repeat(5,1fr);width:100%;gap:3px}.mf-chapter-button{padding:8px 3px;min-height:44px;justify-content:center;font-size:8px;gap:3px;flex-direction:column}.mf-play{position:absolute;right:0;bottom:62px;font-size:9px;padding:8px;min-height:32px}.mf-fx{opacity:.4}}
@media(prefers-reduced-motion:reduce){.mf-chapter-button{transition:none}}
.presence-film-home{padding:0;position:relative;min-height:100svh}.mf-copy .mf-cn{font-family:var(--f-cjk);letter-spacing:.2em;font-size:13px!important;color:#a9ccdc!important;margin-top:4px!important;margin-bottom:18px!important}.mf-scroll-hint span{display:block;margin-top:12px;color:#edf5ec;letter-spacing:.05em}.mf-optics{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden;opacity:.2}.mf-optics span:first-child{position:absolute;left:60%;top:48%;width:36vw;height:36vw;border:1px solid #83d8ef;border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg) rotate(-24deg);box-shadow:0 0 50px #60bdf112,inset 0 0 40px #60bdf111}.mf-optics span:last-child{position:absolute;left:0;right:0;height:1px;top:calc(20% + var(--mf-progress)*65%);background:linear-gradient(90deg,transparent,#74cce320,transparent);box-shadow:0 0 32px #68d5ff33}.mf-closing{position:relative;padding:120px var(--margin) 32px;background:radial-gradient(ellipse at 80% 20%,#24204177,transparent 55%),#05060b}.mf-closing>.micro{color:#8be6ff;margin-bottom:35px}.mf-closing h2{font-size:clamp(50px,8vw,134px);font-weight:400;line-height:1;letter-spacing:-.055em;margin-bottom:70px}.mf-closing h2 em{color:#8be6ff}.mf-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#edf3ff22;border:1px solid #edf3ff22}.mf-actions a{position:relative;display:block;text-decoration:none;padding:40px 32px;background:#080a13;transition:background .2s}.mf-actions a:hover{background:#12182b}.mf-actions a>span{font-size:36px;letter-spacing:-.04em}.mf-actions p{color:#afb3bf;font-size:14px;margin-top:22px}.mf-actions b{position:absolute;right:28px;top:38px;color:#d3fe66;font-size:32px;font-weight:400}.mf-closing footer{margin-top:90px;border-top:1px solid #ffffff22;padding-top:24px;display:flex;gap:30px;justify-content:space-between;font:10px var(--f-mono);color:#9297a3}.mf-closing footer a{text-decoration:none}.mf-copy .primary{display:inline-flex;align-items:center;gap:24px;border:1px solid #d3fe66;min-height:50px;font-weight:600}.mf-copy .primary:hover{background:#e6ffae}.mf-stage .mf-copy[hidden]{display:none}
@media(max-width:760px){.mf-closing{padding-top:72px;padding-bottom:100px}.mf-closing h2{margin-bottom:45px}.mf-actions{grid-template-columns:1fr}.mf-actions a{padding:28px 24px}.mf-actions a>span{font-size:28px}.mf-actions p{margin-top:10px}.mf-closing footer{margin-top:55px;flex-wrap:wrap;gap:20px}.mf-optics{display:none}.mf-copy .mf-cn{font-size:11px!important;margin-bottom:10px!important}.mf-copy p:not(.micro):not(.mf-eyebrow):not(.mf-cn){max-width:33ch}.mf-copy .primary{min-height:44px}.mf-readout{max-width:45%;font-size:7px}.mf-copy{bottom:114px}}
:root[data-motion=off] .mf-optics{display:none}

/* Reserve distinct rows for copy, tour control, chapters and fixed app nav. */
@media(max-width:760px){.mf-stage{height:calc(100svh - 60px - env(safe-area-inset-bottom))}.mf-copy{bottom:138px}.mf-play{min-height:36px}.mf-chapter-button{letter-spacing:0;font-size:7px}.mf-chapter-button span:last-child{max-width:100%;overflow-wrap:anywhere}.mf-readout{white-space:nowrap}}
@media(max-width:760px) and (max-height:650px){.mf-copy h1,.mf-copy h2{font-size:34px;line-height:1}.mf-copy{bottom:132px}.mf-copy .mf-eyebrow{margin-bottom:8px}.mf-copy p:not(.micro):not(.mf-eyebrow){font-size:11px;margin-bottom:8px}.mf-readout,.mf-scroll-hint{top:76px}.mf-copy .mf-cn{margin-bottom:6px!important}}
/* Never present a poster as an interactive film before its requested frame is decoded. */
.mf-loading{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:radial-gradient(ellipse at center,#162039 0,#05060b 65%);color:var(--c-paper);text-align:center;font-size:13px}
.mf-loading[hidden]{display:none}.mf-loading img{width:120px;height:auto}.mf-loading-ring{width:38px;height:38px;border:1px solid #8be6ff30;border-top-color:#8be6ff;border-right-color:#c20a76;border-radius:50%;animation:film-loading 1.2s linear infinite}
#presence-film:not([data-film-state=ready]) .mf-stage> :not(.mf-loading){visibility:hidden!important;pointer-events:none}
#presence-film[data-film-state=error] .mf-loading-ring{animation:none;border-color:#c20a76}
@keyframes film-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.mf-loading-ring{animation:none}}
