.film{--bg:#0a0b0d;--fg:#eceef0;--mu:#9ba3ad;--hot:#ff3b14;--p:0;background:#0a0b0d;color:#eceef0}.film,.film .scene,.film .stage{position:relative}.film .scene{display:flex;min-height:100svh;flex-direction:column;justify-content:flex-start;gap:2.5rem;overflow:hidden;padding:7rem 6vw 4rem;background:var(--bg);color:var(--fg)}.film .scene-0,.film .scene-1{--bg:#0a0b0d;--fg:#eceef0;--mu:#9ba3ad;--hot:#ff3b14}.film .scene-2{--bg:#ff3b14;--fg:#0a0b0d;--mu:#3b0e05;--hot:#0a0b0d}.film .scene-3{--bg:#eef0ea;--fg:#0a0b0d;--mu:#4a4f57;--hot:#ff3b14}.film .scene-0{justify-content:center}.film .tag{font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu);margin:0 0 1.25rem}.film .hero-h1{font-size:clamp(2.6rem,10.5vw,9.6rem);line-height:.86;margin:0;letter-spacing:-.005em}.film .hero-em{color:var(--hot)}.film .hero-sub{margin:1.75rem 0 0;max-width:28rem;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.35;color:var(--mu)}.film .film-btn{margin-top:2rem;display:inline-flex;align-items:center;gap:.75rem;background:#ff3b14;color:#0a0b0d;font-family:var(--font-mono),monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:1.05rem 1.6rem;transition:background .15s,transform .15s}.film .film-btn:hover{background:#eceef0}.film .film-btn:focus-visible{outline:2px solid #eceef0;outline-offset:4px}.film .scroll-cue{position:absolute;left:50%;bottom:calc(3svh + env(safe-area-inset-bottom, 0px));z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:64px;min-height:64px;padding:4px;transform:translateX(-50%);color:#eceef0;text-decoration:none}.film .scroll-cue svg{display:block;width:64px;height:64px}.film .cue-ring{stroke:#9ba3ad;stroke-width:1.5;transition:stroke .2s}.film .scroll-cue:hover .cue-ring{stroke:#ff3b14}.film .cue-label{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#9ba3ad}.film .scroll-cue:focus-visible{outline:2px solid #eceef0;outline-offset:4px;border-radius:8px}@media (max-width:767px){.film .scroll-cue{gap:6px;min-width:48px;min-height:48px}.film .scroll-cue svg{width:48px;height:48px}}.film .scene-h{font-size:clamp(2.7rem,7vw,7.4rem);line-height:.88;margin:0;max-width:14ch}.film .scene-p{margin:1.5rem 0 0;max-width:24rem;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.4;color:var(--mu)}.film .ghost{position:absolute;right:3vw;bottom:-4svh;font-family:var(--font-heading),sans-serif;font-weight:900;font-size:min(80vw,62svh);line-height:.8;color:var(--fg);opacity:.07;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.film .illustrative{position:absolute;right:6vw;top:6.2rem;margin:0;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu);border:1px solid;padding:.3rem .55rem}.film .fig{position:relative;width:100%;aspect-ratio:16/9;color:var(--fg)}.film .trace-line{stroke:var(--fg);stroke-width:2.5px;stroke-linecap:round}.film .trace-fail{stroke:var(--hot);stroke-dasharray:9 7}.film .dot,.film .node{position:absolute;width:0;height:0}.film .node-dot{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2.5px solid var(--fg)}.film .node-fail .node-dot{border-color:var(--hot)}.film .node-label{position:absolute;left:14px;top:8px;white-space:nowrap;font-family:var(--font-mono),monospace;font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}.film .node-label-s{display:none}@media (min-width:768px){.film .node-label-s{display:block}}.film .pass-line{stroke:var(--fg);stroke-width:3px}.film .pass-label{position:absolute;right:0;transform:translateY(-135%);font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg)}.film .score-curve{stroke:var(--fg);stroke-width:3.5px;stroke-linejoin:round}.film .fail-zone{opacity:.9}.film .dot-mark{position:absolute;left:-10px;top:-10px;width:20px;height:20px;border-radius:50%;background:var(--fg);border:3px solid var(--fg);transition:background .22s,border-color .22s,transform .22s}.film .dot[data-pass="0"] .dot-mark{background:var(--bg);border-color:var(--hot)}.film .dot[data-pass="0"] .dot-mark:after{content:"";position:absolute;inset:3px;background:linear-gradient(45deg,transparent 42%,var(--hot) 42% 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,var(--hot) 42% 58%,transparent 58%)}.film .dot-label{position:absolute;left:16px;top:-34px;white-space:nowrap;font-family:var(--font-mono),monospace;font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg);background:var(--bg);padding:.2rem .45rem}.film .dot[data-pass="1"] .dot-label:before{content:"\2713\00a0"}.film .dot[data-pass="0"] .dot-label:before{content:"\2715\00a0";color:var(--hot)}.film .fig-score-b{margin-top:0}.film .copy{position:relative;z-index:2}.film .copy .w{opacity:1}.film .field{display:none}@media (max-width:767px){.film .scene{padding:6.5rem 24px 3rem;gap:2rem}.film .fig{aspect-ratio:4/5}.film .illustrative{top:5.5rem;right:24px}.film .dot-label{font-size:9.5px}}@media (prefers-reduced-motion:no-preference){.js .film{height:var(--film-len,500svh);background:#0a0b0d}.js .film .stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--bg);color:var(--fg)}.js .film .field{width:100%;height:100%;z-index:0;opacity:clamp(0,calc((var(--p) - .32) * 5),1)}.js .film .field,.js .film .scene{display:block;position:absolute;inset:0;pointer-events:none}.js .film .scene{min-height:0;overflow:visible;padding:0;background:none;--in:0;--out:2}.js .film .scene-0{--in:-1;--out:0.07}.js .film .scene-1{--in:0.15;--out:0.31}.js .film .scene-2{--in:0.4;--out:0.57}.js .film .scene-3{--in:0.66;--out:2}.js .film .scene-0,.js .film .scene-1,.js .film .scene-2,.js .film .scene-3{--bg:inherit;--fg:inherit;--mu:inherit;--hot:inherit}.js .film .copy,.js .film .ghost{--a:clamp(0,min(calc((var(--p) - var(--in)) * 11),calc(1 - (var(--p) - var(--out)) * 11)),1);opacity:var(--a)}.js .film .ghost{opacity:calc(var(--a) * .11)}.js .film .copy{position:absolute;left:6vw;top:15svh;max-width:88vw;pointer-events:auto;transform:translateY(calc((1 - clamp(0, calc((var(--p) - var(--in)) * 11), 1)) * 36px));--rp:clamp(0,calc((var(--p) - var(--in)) * 8),1)}.js .film .copy-0{top:50%;transform:translateY(calc(-50% - (clamp(0, calc((var(--p) - .03) * 6), 1)) * 30px));--rp:1}.js .film[data-hero="0"] .copy-0{visibility:hidden}.js .film .copy .w{opacity:clamp(.14,calc(var(--rp) * (var(--n) + 4) - var(--i)),1)}.js .film .scene-0 .scroll-cue{pointer-events:auto;opacity:clamp(0,calc((.05 - var(--p)) * 50),1)}.js .film[data-cue="0"] .scroll-cue{visibility:hidden}.js .film .scroll-cue svg{animation:cue-bob 1.6s ease-in-out infinite}.js .film .ghost{right:1vw;bottom:-9svh;font-size:78svh;transform:translateX(calc((1 - clamp(0, calc((var(--p) - var(--in)) * 8), 1)) * 12vw))}.js .film .illustrative{opacity:var(--a2,1)}.js .film .scene-1 .illustrative{--a2:clamp(0,min(calc((var(--p) - 0.15) * 11),calc(1 - (var(--p) - 0.31) * 11)),1)}.js .film .scene-2 .illustrative,.js .film .scene-3 .illustrative{--a2:clamp(0,calc((var(--p) - 0.4) * 11),1)}.js .film .scene-3 .illustrative{display:none}.js .film .fig{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:1}.js .film .fig-score-b{display:none}.js .film .fig-trace{opacity:clamp(0,min(calc((var(--p) - .13) * 12),calc(1 - (var(--p) - .31) * 11)),1)}.js .film .fig-score-a{opacity:clamp(0,calc((var(--p) - .33) * 11),1)}.js .film .trace-line{clip-path:inset(-12px calc((1 - clamp(0, calc((var(--p) - var(--t0)) / (var(--t1) - var(--t0))), 1)) * 100%) -12px -12px)}.js .film .node{opacity:clamp(0,calc((var(--p) - var(--at)) * 20),1)}.js .film .score-curve{clip-path:inset(-12px calc((1 - clamp(0, calc((var(--p) - .36) / .1), 1)) * 100%) -12px -12px)}.js .film .pass-line{transform-box:fill-box;transform-origin:left center;transform:scaleX(clamp(0,calc((var(--p) - .35) / .07),1))}.js .film .pass-label{opacity:clamp(0,calc((var(--p) - .42) * 12),1)}.js .film .fail-zone{opacity:clamp(0,calc((var(--p) - .46) * 9),.9)}.js .film .dot{opacity:clamp(0,calc((var(--p) - var(--at)) * 15),1)}.js .film .dot-label{opacity:clamp(0,calc((var(--p) - var(--at) - .03) * 15),1)}@media (max-width:767px){.js .film .copy{left:24px;right:24px;top:13svh}.js .film .copy-0{top:50%}.js .film .dot[data-dot="4"] .dot-label,.js .film .dot[data-dot="6"] .dot-label{display:none}.js .film .scene-h{font-size:clamp(2.5rem,13vw,3.6rem)}.js .film .hero-h1{font-size:clamp(2.6rem,14.6vw,4.2rem)}.js .film .ghost{font-size:56svh;right:-2vw;bottom:10svh}.js .film .illustrative{top:auto;bottom:2.4svh;right:24px}}}.rv .w-em{color:#ba2707}.rv .w{opacity:1}@media (prefers-reduced-motion:no-preference){.js .rv .w{--t:clamp(0,calc(var(--rp, 0) * (var(--n) + 4) - var(--i)),1);color:color-mix(in srgb,#0a0b0d calc(var(--t) * 100%),#5b616a)}.js .rv .w-em{color:color-mix(in srgb,#ba2707 calc(var(--t) * 100%),#5b616a)}}.film-cursor-on .film .stage,.film-cursor-on .film a{cursor:none}.cur-dot,.cur-ring{position:fixed;left:0;top:0;z-index:100;pointer-events:none;border-radius:50%;opacity:0;will-change:transform;transition:opacity .12s}.cur-dot{width:8px;height:8px;margin:-4px 0 0 -4px;background:#0a0b0d;border:1.5px solid #fff;transition:opacity .12s,width .12s,height .12s,margin .12s}.cur-dot[data-mode=text]{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-width:1px}.cur-ring{width:30px;height:30px;margin:-15px 0 0 -15px;border:1px solid #fff;box-shadow:0 0 0 1px rgba(10,11,13,.5),inset 0 0 0 1px rgba(10,11,13,.5);transition:opacity .12s,width .12s,height .12s,margin .12s,border-color .12s}.cur-ring[data-mode=text].cur-on{opacity:0}.cur-ring[data-mode=hot]{width:18px;height:18px;margin:-9px 0 0 -9px;border-color:#ff3b14}.cur-on{opacity:1}@media (hover:none),(pointer:coarse){.cur-dot,.cur-ring{display:none}}.intro{display:none;position:fixed;inset:0;z-index:90;background:#0a0b0d;color:#eceef0;transition:transform .52s cubic-bezier(.7,0,.2,1)}html.intro-on .intro{display:block}html.intro-out .intro{transform:translateY(-100%)}.intro-count{bottom:5svh;margin:0;font-family:var(--font-mono),monospace;font-size:clamp(3.5rem,11vw,9rem);line-height:.8;letter-spacing:-.02em;color:#eceef0}.intro-count,.intro-line{position:absolute;left:6vw}.intro-line{right:6vw;top:50%;height:3px;background:#ff3b14;transform-origin:left;transform:scaleX(0);animation:intro-draw 1s cubic-bezier(.33,1,.68,1) forwards}@keyframes intro-draw{to{transform:scaleX(1)}}.intro-skip{position:absolute;right:6vw;bottom:5svh;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#9ba3ad}@media (prefers-reduced-motion:reduce){html.intro-on .intro{display:none}}@media (max-width:767px){.film .dot[data-dot="4"] .dot-label,.film .dot[data-dot="6"] .dot-label{display:none}}html:has(.film){scroll-behavior:auto}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}