@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Space+Grotesk:wght@300..700&display=swap";:root{--bg-primary:#0b0c0e;--bg-secondary:#101114;--text-primary:#f1f0eb;--text-muted:#8f9298;--accent:#c8ff57;--border:#27292d;--border-hover:#3e4147;--cursor-color:#c8ff574d;--font-heading:"Space Grotesk", sans-serif;--font-body:"DM Sans", sans-serif;--transition-smooth:all .4s cubic-bezier(.16, 1, .3, 1);--transition-fast:all .2s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}@media (width>=1025px){*,html,body,a,button,input,select,textarea,[role=button],.magnetic-wrap{cursor:none!important}}@media (width<=1024px){*,html,body,a,button,input,select,textarea,[role=button],.magnetic-wrap{cursor:auto!important}}html{scroll-behavior:smooth;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::selection{background-color:var(--accent);color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:500;line-height:1.1}p{font-family:var(--font-body);color:var(--text-muted);line-height:1.6}a{color:inherit;transition:var(--transition-fast);text-decoration:none}.container{max-width:1300px;margin:0 auto;padding:0 40px}@media (width<=768px){.container{padding:0 20px}}.grid-bg{background-image:linear-gradient(to right, var(--border) 1px, transparent 1px), linear-gradient(to bottom, var(--border) 1px, transparent 1px);opacity:.15;pointer-events:none;z-index:0;width:100%;height:100%;transition:var(--transition-smooth);background-size:80px 80px;position:absolute;top:0;left:0;-webkit-mask-image:radial-gradient(60% 50%,#000 70%,#0000 100%);mask-image:radial-gradient(60% 50%,#000 70%,#0000 100%)}.glow-spot{pointer-events:none;z-index:0;background:radial-gradient(circle,#c8ff570d 0%,#0000 70%);width:400px;height:400px;position:absolute}.section-label{font-family:var(--font-heading);letter-spacing:.1em;color:var(--accent);opacity:.9;margin-bottom:20px;font-size:14px;font-weight:500;display:inline-block}.custom-cursor{mix-blend-mode:difference}.pulse-dot{background-color:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.8s infinite pulse;display:inline-block;box-shadow:0 0 #c8ff57b3}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #c8ff57b3}70%{transform:scale(1);box-shadow:0 0 0 8px #c8ff5700}to{transform:scale(.95);box-shadow:0 0 #c8ff5700}}.ticker-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background-color:var(--bg-secondary);width:100vw;margin-left:-50vw;margin-right:-50vw;padding:15px 0;position:relative;left:50%;right:50%;overflow:hidden}.ticker{width:max-content;animation:30s linear infinite ticker-slide;display:flex}.ticker-item{font-family:var(--font-heading);letter-spacing:.15em;color:var(--text-muted);align-items:center;padding:0 40px;font-size:14px;font-weight:500;display:flex}.ticker-item:after{content:"●";color:var(--border);margin-left:80px;font-size:8px}@keyframes ticker-slide{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.page-loader{background-color:var(--bg-primary);z-index:10000;justify-content:center;align-items:center;width:100vw;height:100vh;transition:transform .8s cubic-bezier(.85,0,.15,1);display:flex;position:fixed;top:0;left:0}.page-loader.loaded{transform:translateY(-100%)}.loader-logo{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.05em;font-size:48px;font-weight:700;animation:.8s cubic-bezier(.16,1,.3,1) forwards logo-fade}.loader-logo span{color:var(--accent)}@keyframes logo-fade{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-delay:0s!important}.ticker,.pulse-dot{animation:none!important}}
