@import url("https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Syne+Mono&family=Fragment+Mono:ital@0;1&display=swap");:root{--bg:#080808;--fg:#e8e4dd;--fg-dim:#6b6862;--fg-muted:#2a2825;--accent:#4af0ff;--accent-dim:rgba(74,240,255,0.12);--accent-glow:rgba(74,240,255,0.25);--danger:#ff3232;--danger-dim:rgba(255,50,50,0.15);--gold:#c8a84b;--font-display:"Syne",sans-serif;--font-mono:"Fragment Mono",monospace;--font-ui:"Syne Mono",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{color:var(--fg);font-family:var(--font-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{background:var(--bg);overflow-x:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}#webgl-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}#scroll-container{position:relative;z-index:1;pointer-events:none}#dom-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none}#dom-overlay a,#dom-overlay button{pointer-events:auto}.display-xl{font-size:clamp(4rem,12vw,14rem);font-weight:800;line-height:.88;letter-spacing:-.03em}.display-lg,.display-xl{font-family:var(--font-display);text-transform:uppercase}.display-lg{font-size:clamp(2.5rem,7vw,8rem);font-weight:700;line-height:.9;letter-spacing:-.025em}.label{font-family:var(--font-mono);font-size:clamp(.6rem,1.2vw,.8rem);font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim)}.label-accent{color:var(--accent)}#preloader{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.preloader-line{width:min(400px,80vw);height:1px;background:var(--fg-muted);position:relative;overflow:hidden}.preloader-line:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--accent);animation:preload-draw 2s cubic-bezier(.77,0,.18,1) forwards}@keyframes preload-draw{to{left:0}}.preloader-text{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.3em;color:var(--fg-dim);text-transform:uppercase}.scene-trigger{height:0;pointer-events:none}.grain{position:fixed;inset:-200%;width:400%;height:400%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");opacity:.035;pointer-events:none;z-index:900;animation:grain-shift .5s steps(1) infinite}@keyframes grain-shift{0%{transform:translate(0)}10%{transform:translate(-2%,-3%)}20%{transform:translate(3%,1%)}30%{transform:translate(-1%,4%)}40%{transform:translate(4%,-2%)}50%{transform:translate(-3%)}60%{transform:translate(1%,3%)}70%{transform:translate(-4%,1%)}80%{transform:translate(2%,-4%)}90%{transform:translate(-1%,2%)}to{transform:translate(3%,-1%)}}.vignette{z-index:5;background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(8,8,8,.7) 100%)}.letter-portal-container,.vignette{position:fixed;inset:0;pointer-events:none}.letter-portal-container{display:flex;align-items:center;justify-content:center;z-index:20}.letter-portal-word{display:flex;align-items:center;gap:.02em;font-family:var(--font-display);font-size:clamp(6rem,18vw,22rem);font-weight:800;letter-spacing:-.05em;text-transform:uppercase;color:var(--fg);line-height:1}.letter-char{display:inline-block;transform-origin:50% 100%;will-change:transform,opacity}.letter-portal-char{position:relative;cursor:default}.hud-corner{position:fixed;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;color:var(--fg-dim);text-transform:uppercase;z-index:50}.hud-tl{top:2rem;left:2.5rem}.hud-tr{top:2rem;right:2.5rem;text-align:right}.hud-bl{bottom:2rem;left:2.5rem}.hud-br{bottom:2rem;right:2.5rem;text-align:right}.hud-accent{color:var(--accent)}.scroll-progress{position:fixed;right:2.5rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:50}.scroll-dot{width:4px;height:4px;border-radius:50%;background:var(--fg-muted);transition:background .3s,transform .3s}.scroll-dot.active{background:var(--accent);transform:scale(1.5)}.cta-container{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:5vw 8vw;pointer-events:none;z-index:20}.cta-tagline{font-family:var(--font-display);font-size:clamp(1.8rem,4.5vw,5.5rem);font-weight:700;line-height:1;letter-spacing:-.025em;color:var(--fg);max-width:14ch}.cta-tagline em{font-style:normal;color:var(--accent)}.cta-links{display:flex;gap:3rem;margin-top:2rem;pointer-events:auto}.cta-link{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim);text-decoration:none;transition:color .2s;position:relative}.cta-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s cubic-bezier(.4,0,.2,1)}.cta-link:hover{color:var(--accent)}.cta-link:hover:after{width:100%}.achievement-item{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,3.5vw,4rem);letter-spacing:-.02em;text-transform:uppercase;color:var(--fg);line-height:1;opacity:0;transform:translateX(-20px)}.enforcement-label{font-size:clamp(.7rem,1.5vw,1rem)}.enforcement-label,.stat-callout{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);opacity:0}.stat-callout{position:absolute;font-size:.65rem;white-space:nowrap}.stat-callout .stat-value{font-family:var(--font-display);font-size:1.8rem;font-weight:800;letter-spacing:-.03em;color:var(--fg);display:block;line-height:1}.cursor{width:8px;height:8px;background:var(--accent);border-radius:50%;z-index:9999;transition:width .3s,height .3s,background .3s;mix-blend-mode:exclusion}.cursor,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;will-change:transform}.cursor-ring{width:40px;height:40px;border:1px solid rgba(74,240,255,.4);border-radius:50%;z-index:9998;transition:width .3s,height .3s,opacity .3s}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.scan-line{position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--accent-dim),transparent);pointer-events:none;z-index:800;animation:scan 8s linear infinite;opacity:.5}