@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";
:root{--cursor-x:50vw;--cursor-y:50vh;--bg-primary:#050505;--bg-secondary:#0c0c0c;--bg-card:#111;--bg-card-hover:#181818;--bg-glass:#111111b3;--border-subtle:#ffffff0f;--border-hover:#ffffff24;--text-primary:#f5f5f5;--text-secondary:#a0a0a0;--text-muted:#606060;--accent-primary:#e0e0e0;--accent-secondary:#c8c8c8;--accent-glow:#ffffff0f;--accent-glow-strong:#ffffff26;--accent-gradient:linear-gradient(135deg, #fff, #c8c8c8, #a0a0a0);--accent-gradient-hover:linear-gradient(135deg, #fff, #e0e0e0, #c8c8c8);--success:#34d399;--warning:#fbbf24;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 20px #00000080;--shadow-lg:0 8px 40px #0009;--shadow-glow:0 0 30px #ffffff14;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;overflow-y:scroll}html::-webkit-scrollbar{display:none}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}.custom-cursor-ring,.custom-cursor-dot{display:none}@media (pointer:fine){html.custom-cursor-enabled.custom-cursor-ready,html.custom-cursor-enabled.custom-cursor-ready body,html.custom-cursor-enabled.custom-cursor-ready *,html.custom-cursor-enabled.custom-cursor-ready a,html.custom-cursor-enabled.custom-cursor-ready button,html.custom-cursor-enabled.custom-cursor-ready [role=button]{cursor:none!important}.custom-cursor-ring,.custom-cursor-dot{top:var(--cursor-y);left:var(--cursor-x);pointer-events:none;z-index:9999;opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast), width var(--transition-fast), height var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);display:block;position:fixed}html.custom-cursor-visible .custom-cursor-ring,html.custom-cursor-visible .custom-cursor-dot{opacity:1}.custom-cursor-ring{background:#ffffff05;border:1px solid #ffffff6b;border-radius:999px;width:34px;height:34px;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff0a}.custom-cursor-ring.is-active{background:#ffffff0a;border-color:#ffffffb3;width:54px;height:54px}.custom-cursor-dot{background:#fff;border-radius:999px;width:8px;height:8px;transform:translate(-50%,-50%);box-shadow:0 0 18px #ffffff59}.custom-cursor-dot.is-active{transform:translate(-50%,-50%)scale(1.3)}}svg{flex-shrink:0;display:block}.section-inner{z-index:1;position:relative}.section{scroll-snap-align:start;scroll-snap-stop:always;justify-content:center;align-items:center;min-height:100vh;padding:60px 24px;display:flex;position:relative}.section-inner{width:100%;max-width:1100px;margin:0 auto}.section-header{margin-bottom:48px}.section-label{letter-spacing:.15em;text-transform:uppercase;color:var(--accent-secondary);align-items:center;gap:10px;margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;display:flex}.section-label:before{content:"";background:var(--accent-primary);width:24px;height:1px;display:inline-block}.section-title{color:var(--text-primary);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;line-height:1.2}.nav{z-index:100;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;top:50%;right:32px;transform:translateY(-50%)}.nav-dot-wrapper{cursor:pointer;align-items:center;gap:12px;padding:4px 0;display:flex}.nav-dot-label{letter-spacing:.08em;text-transform:uppercase;color:#0000;transition:var(--transition-normal);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.65rem}.nav-dot-wrapper:hover .nav-dot-label,.nav-dot-wrapper.active .nav-dot-label{color:var(--text-secondary)}.nav-dot{border-radius:var(--radius-full);background:var(--text-muted);width:8px;height:8px;transition:var(--transition-normal);flex-shrink:0}.nav-dot-wrapper:hover .nav-dot{background:var(--text-secondary);transform:scale(1.3)}.nav-dot-wrapper.active .nav-dot{background:var(--text-primary);width:10px;height:10px;box-shadow:0 0 12px #fff3}.bg-grid{pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff03 1px,#0000 1px),linear-gradient(90deg,#ffffff03 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0}.bg-gradient-orb{filter:blur(120px);opacity:.04;pointer-events:none;z-index:0;border-radius:50%;width:600px;height:600px;position:fixed}.bg-gradient-orb-1{background:#fff;top:-200px;right:-200px}.bg-gradient-orb-2{background:#888;bottom:-200px;left:-200px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:var(--transition-normal);padding:24px}.card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tag{border-radius:var(--radius-full);background:var(--accent-glow);color:var(--accent-secondary);white-space:nowrap;border:1px solid #ffffff14;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500}.badge{border-radius:var(--radius-sm);color:var(--success);background:#34d3991a;border:1px solid #34d39926;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:500}.fade-in{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(30px)}.fade-in.visible{opacity:1;transform:translateY(0)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}.stagger-6{transition-delay:.6s}@media (max-width:768px){.section{padding:40px 28px 40px 20px}.section-inner{max-width:calc(100% - 12px)}.nav{right:12px}.nav-dot-label{display:none}.section-header{margin-bottom:32px}}@media (max-width:480px){.nav{right:8px}.section{padding:32px 26px 32px 16px}.section-inner{max-width:calc(100% - 10px)}}
