:root{--c-bg-deep:5 8 22;--c-bg-base:8 13 36;--c-bg-elevated:13 20 53;--c-neon:41 121 255;--c-neon-soft:68 138 255;--c-neon-glow:21 101 192;--c-text-primary:232 234 246;--c-text-secondary:121 134 203;--c-text-muted:57 73 171;--c-good:74 222 128;--c-fair:251 191 36;--c-poor:251 113 133;--glass-bg:#0d14358c;--glass-border:#2979ff40;--glass-glow:#2979ff1f;--font-body:"Montserrat", sans-serif;--font-display:"Rubik Mono One", monospace;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-overshoot:cubic-bezier(.34, 1.56, .64, 1);--content-width:1100px}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:rgb(var(--c-bg-deep));color:rgb(var(--c-text-primary));font-family:var(--font-body);margin:0;font-size:clamp(.9rem,1.1vw,1.05rem);font-weight:400;line-height:1.75;overflow-x:hidden}body::-webkit-scrollbar{width:4px}body::-webkit-scrollbar-track{background:0 0}body::-webkit-scrollbar-thumb{background:rgb(var(--c-neon) / .4);border-radius:4px}h1,h2,h3,h4,h5,h6,p{margin:0}strong,b{font-weight:700}canvas{outline:none;display:block}a,button{-webkit-tap-highlight-color:transparent}.h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2rem,5vw,4rem);font-weight:400;line-height:1.1}.h2{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.5rem,3.5vw,2.75rem);font-weight:400;line-height:1.15}.h3{font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.75rem);font-weight:400;line-height:1.3}.h4{font-family:var(--font-body);font-size:clamp(1rem,1.5vw,1.35rem);font-weight:700;line-height:1.4}.h5{font-family:var(--font-body);font-size:1rem;font-weight:600;line-height:1.5}.body1{font-family:var(--font-body);font-size:clamp(.9rem,1.1vw,1.05rem);font-weight:400;line-height:1.75}.body2{font-family:var(--font-body);font-size:.875rem;font-weight:400;line-height:1.65}.caption{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:500;line-height:1.66}#bg-layer{z-index:-1;background:radial-gradient(ellipse 80% 60% at 10% 20%, rgb(var(--c-neon) / .07) 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 90% 80%, rgb(var(--c-neon-glow) / .08) 0%, transparent 60%), radial-gradient(ellipse 50% 40% at 50% 50%, rgb(var(--c-bg-elevated) / .4) 0%, transparent 70%), rgb(var(--c-bg-deep));position:fixed;inset:0}#bg-layer:after{content:"";pointer-events:none;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:absolute;inset:0}#scroll-root{scroll-snap-type:y proximity;scroll-behavior:smooth;height:100svh;overflow:hidden auto}#scroll-root::-webkit-scrollbar{width:4px}#scroll-root::-webkit-scrollbar-track{background:0 0}#scroll-root::-webkit-scrollbar-thumb{background:rgb(var(--c-neon) / .35);border-radius:4px}#scroll-root::-webkit-scrollbar-thumb:hover{background:rgb(var(--c-neon) / .6)}.snap-section{scroll-snap-align:start;justify-content:center;align-items:center;min-height:100svh;padding:48px 16px;display:flex;position:relative}@media (width>=600px){.snap-section{padding:48px 32px}}@media (width>=900px){.snap-section{padding:0 48px}}@media (width>=1200px){.snap-section{padding:0 64px}}.section-content{width:100%;max-width:var(--content-width)}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);border:1px solid var(--glass-border);border-radius:16px;transition:border-color .25s,box-shadow .25s}.glass-panel:hover{border-color:rgb(var(--c-neon) / .45);box-shadow:0 0 32px rgb(var(--c-neon) / .1)}.neon-line{background:linear-gradient(90deg, transparent, rgb(var(--c-neon)), transparent);opacity:.5;height:1px}.btn-primary{background:linear-gradient(135deg, rgb(var(--c-neon)), rgb(var(--c-neon-soft)));min-width:64px;box-shadow:0 0 20px rgb(var(--c-neon) / .35);color:#fff;font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;border:0;border-radius:10px;justify-content:center;align-items:center;padding:12px 28px;font-size:1rem;font-weight:600;line-height:1.75;text-decoration:none;transition:all .25s;display:inline-flex;position:relative}.btn-primary:hover{box-shadow:0 0 32px rgb(var(--c-neon) / .55);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{outline:2px solid rgb(var(--c-neon-soft));outline-offset:2px}.js .reveal{opacity:0;transform:var(--from,translateY(30px));filter:blur(var(--blur,8px));transition-property:opacity,transform,filter;transition-duration:var(--duration,.65s);transition-timing-function:var(--ease,var(--ease-out));transition-delay:var(--delay,0s)}.js [data-revealed] .reveal,.js .reveal[data-revealed]{opacity:1;filter:none;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
