*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080a0c;--bg2: #0d1117;--surface: #111820;--border: rgba(255,255,255,.07);--accent: #e8ff47;--accent2: #47b4ff;--text: #e8eaed;--muted: #6b7280;--font-display: "Bebas Neue", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body),sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden}@media(pointer:fine)and (hover:hover){body,a,button,[role=button],[role=link]{cursor:none}}.cursor{position:fixed;width:8px;height:8px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9999;left:0;top:0;will-change:transform;--x: 0px;--y: 0px;--scale: 1;transform:translate3d(var(--x),var(--y),0) translate3d(-50%,-50%,0) scale(var(--scale))}.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(232,255,71,.4);border-radius:50%;pointer-events:none;z-index:9998;left:0;top:0;will-change:transform;transition:border-color .15s ease;--x: 0px;--y: 0px;--scale: 1;transform:translate3d(var(--x),var(--y),0) translate3d(-50%,-50%,0) scale(var(--scale))}@media(pointer:coarse),(hover:none){.cursor,.cursor-ring{display:none}}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' 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='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:1;opacity:.4}section{padding:8rem 3rem;position:relative}.section-label{font-family:var(--font-mono),monospace;font-size:.7rem;color:var(--accent);letter-spacing:.25em;text-transform:uppercase;margin-bottom:3rem;display:flex;align-items:center;gap:1rem}.section-label:after{content:"";flex:1;max-width:60px;height:1px;background:var(--accent);opacity:.4}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee2{0%{transform:translate(-50%)}to{transform:translate(0)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:900px){section{padding:5rem 1.5rem}}@media(max-width:600px){section{padding:4rem 1.25rem}}
