:root{--bg:#050608;--ink:#e9edf3;--ink-dim:#7d8794;--ink-faint:#454e5a;--accent:#86dbe9;--rule:#e9edf31f;--font:"Chakra Petch", ui-sans-serif, "Segoe UI", system-ui, sans-serif;--track:.42em;--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-weight:300;line-height:1.6}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(a,button):focus-visible{outline:1px solid var(--accent);outline-offset:4px}.stage,.cinema,.loader,.rail,.hint,.track,.gate{display:none}.no-js .gate{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;padding:1.5rem;display:flex;position:fixed;inset:0}.gate__mark{letter-spacing:var(--track);color:var(--ink);margin:0;font-size:clamp(1.1rem,4vw,1.9rem)}.gate__note{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);margin:0;font-size:.72rem}.no-js .captions,.no-js .hud{display:none}.no-js .content{padding:0}.content{max-width:46rem;margin:0 auto;padding:clamp(3rem,12vh,8rem) 1.5rem}.captions{margin:0;padding:0;list-style:none}.caption+.caption{border-top:1px solid var(--rule);margin-top:clamp(3.5rem,9vh,7rem);padding-top:clamp(3.5rem,9vh,7rem)}.caption__kicker{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);font-size:.7rem;display:block}.caption__line{letter-spacing:var(--track);color:var(--ink);margin-top:.9em;font-size:clamp(1.1rem,3.4vw,1.6rem);display:block}.caption__title{letter-spacing:.34em;color:var(--ink);font-size:clamp(1.6rem,7vw,3.4rem);display:block}.hud{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:1rem;padding:1.25rem 1.5rem;display:flex}.hud__mark{letter-spacing:.34em;color:var(--ink);font-size:.72rem;text-decoration:none}.no-js .hud__meta{display:none}.hud__meta{letter-spacing:.2em;color:var(--ink-faint);font-variant-numeric:tabular-nums;margin:0;font-size:.68rem}.js,.js body{overscroll-behavior:none;scrollbar-width:none;overflow-x:hidden}.js::-webkit-scrollbar{width:0;height:0}.js body::-webkit-scrollbar{width:0;height:0}.js body{touch-action:pinch-zoom}.js .stage,.js .cinema,.js .rail,.js .hint,.js .track{display:block}.js .stage{z-index:0;width:100%;height:100%;position:fixed;inset:0}.js .track{z-index:1;pointer-events:none;width:100%;position:relative}.js .cinema{z-index:2;pointer-events:none;position:fixed;inset:0}.vignette{background:radial-gradient(85% 75%,#0000 35%,#0000008c 78%,#000000d9 100%);position:absolute;inset:0}.grain{opacity:.055;will-change:transform;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");animation:.7s step-end infinite grain-drift;position:absolute;inset:-150%}@keyframes grain-drift{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(4%,3%)}to{transform:translate(0)}}.js .loader{z-index:10;background:var(--bg);transition:opacity .7s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:fixed;inset:0}.js .loader[data-done=true]{opacity:0;pointer-events:none}.loader__mark{letter-spacing:.42em;text-indent:.42em;color:var(--ink);margin:0;font-size:clamp(.8rem,3vw,1.05rem)}.loader__bar{background:var(--rule);width:min(16rem,46vw);height:1px;overflow:hidden}.loader__bar span{background:var(--accent);width:0;height:100%;transition:width .25s var(--ease);display:block}.loader__count{letter-spacing:.28em;color:var(--ink-faint);font-variant-numeric:tabular-nums;margin:0;font-size:.58rem}@media (prefers-reduced-motion:reduce){.js .loader,.loader__bar span{transition:none}}.js .hud{z-index:4;opacity:0;transition:opacity .8s var(--ease);border-bottom:0;padding:clamp(1rem,3.2vh,2rem) clamp(1.1rem,4vw,2.5rem) 0;position:fixed;top:0;left:0;right:0}.js .hud[data-visible=true]{opacity:1}.js .hud__mark{color:var(--ink-dim);transition:color .4s var(--ease)}.js .hud__mark:hover{color:var(--ink)}.js .content{z-index:3;pointer-events:none;max-width:none;margin:0;padding:0;position:fixed;inset:0}.js .caption{opacity:0;will-change:opacity;border:0;width:min(38rem,82vw);margin:0;padding:0;position:absolute;top:50%}.js .caption[data-pos=center]{text-align:center;left:50%;transform:translate(-50%,-50%)}.js .caption[data-pos=left]{text-align:left;left:clamp(1.25rem,12vw,11rem);transform:translateY(-50%)}.js .caption[data-pos=right]{text-align:right;right:clamp(1.25rem,12vw,11rem);transform:translateY(-50%)}.js .caption[data-v=high]{top:27%}.js .caption[data-v=low]{top:73%}.js .caption__kicker{letter-spacing:.3em;color:var(--ink-dim);text-shadow:0 0 18px #000000f2;font-size:clamp(.54rem,1.5vw,.64rem)}.js .caption__line{color:#e9edf3eb;text-shadow:0 0 24px #000000e6;margin-top:.75em;font-size:clamp(.78rem,2.1vw,1.05rem)}.js .caption[data-pos=center] .caption__line{text-indent:calc(var(--track) / 2)}.glyph{opacity:0;filter:blur(3px);display:inline-block;transform:translateY(.14em)}.glyph--in{opacity:1;filter:none;transition:opacity .42s var(--ease), transform .42s var(--ease), filter .42s var(--ease);transform:none}.glyph--space{width:.4em}.js .caption__title{color:#fff;text-indent:.17em;text-shadow:0 0 40px #86dbe92e;font-size:clamp(1.35rem,5.6vw,3rem);font-weight:300;display:inline-block;position:relative}.js .caption--title[data-glitch=true] .caption__title:before,.js .caption--title[data-glitch=true] .caption__title:after{content:attr(data-text);letter-spacing:inherit;color:#fff;position:absolute;inset:0}.js .caption--title[data-glitch=true] .caption__title:before{color:var(--accent);clip-path:inset(12% 0 62%);animation:.9s steps(2,end) infinite glitch-a}.js .caption--title[data-glitch=true] .caption__title:after{color:#ff7a6b;clip-path:inset(58% 0 18%);animation:1.1s steps(2,end) infinite glitch-b}@keyframes glitch-a{0%,to{opacity:0;transform:translate(0)}8%{opacity:.5;transform:translate(-2px,1px)}16%{opacity:0;transform:translate(1px,-1px)}}@keyframes glitch-b{0%,to{opacity:0;transform:translate(0)}12%{opacity:.38;transform:translate(2px,-1px)}22%{opacity:0;transform:translate(-1px,1px)}}.js .rail{z-index:4;opacity:0;transition:opacity .8s var(--ease);position:fixed;top:50%;right:clamp(.7rem,2.2vw,1.5rem);transform:translateY(-50%)}.js .rail[data-visible=true]{opacity:1}.rail__list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.rail__dot{cursor:pointer;background:0 0;border:0;width:22px;height:22px;padding:0;display:block}.rail__dot:before{content:"";background:var(--ink-faint);transform-origin:100%;width:100%;height:1px;transition:transform .45s var(--ease), background-color .45s var(--ease);display:block;transform:scaleX(.45)}.rail__dot:hover:before{background:var(--ink-dim);transform:scaleX(.8)}.rail__dot[aria-current=true]:before{background:var(--accent);transform:scaleX(1)}.js .hint{z-index:4;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 0 18px #000000f2;transition:opacity .7s var(--ease);opacity:.88;align-items:center;gap:.6rem;margin:0;font-size:.58rem;animation:3.4s ease-in-out infinite hint-pulse;display:flex;position:fixed;bottom:clamp(1.2rem,4vh,2.4rem);left:50%;transform:translate(-50%)}.js .hint[data-visible=false]{opacity:0;animation:none}.hint__or{opacity:.7}@keyframes hint-pulse{0%,to{opacity:.88}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.grain,.js .hint,.js .caption--title[data-glitch=true] .caption__title:before,.js .caption--title[data-glitch=true] .caption__title:after{animation:none}.glyph,.glyph--in{opacity:1;filter:none;transition:none;transform:none}}@media (pointer:coarse){.js .caption{width:min(30rem,86vw)}}
