:root{--bg:#0a0f1e;--bg-elevated:#0f1729;--bg-subtle:#0c1324;--surface:#ffffff08;--surface-hover:#ffffff0d;--border:#ffffff14;--border-strong:#ffffff24;--ink:#f5f7fb;--ink-muted:#a5b0c4;--ink-subtle:#6b7691;--ink-faint:#4a5570;--accent:#3b82f6;--accent-soft:#60a5fa;--accent-glow:#3b82f659;--accent-wash:#3b82f614;--danger:#f87171;--success:#4ade80;--r-sm:10px;--r-md:16px;--r-lg:22px;--r-xl:28px;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg:#fafaf7;--bg-elevated:#fff;--bg-subtle:#f3f3ee;--surface:#0a0f1e05;--surface-hover:#0a0f1e0a;--border:#0a0f1e14;--border-strong:#0a0f1e26;--ink:#11151f;--ink-muted:#4a5570;--ink-subtle:#6b7691;--ink-faint:#9aa3b6;--accent:#2563eb;--accent-soft:#3b82f6;--accent-glow:#2563eb38;--accent-wash:#2563eb0f}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .4s var(--ease), color .4s var(--ease);margin:0;padding:0;font-size:16px;line-height:1.55}body{min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-weight:500;line-height:1.05}p{margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 32px}@media (width<=640px){.container{padding:0 20px}}.section{padding:120px 0;position:relative}.section-sm{padding:80px 0}@media (width<=768px){.section{padding:80px 0}.section-sm{padding:56px 0}}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-subtle);align-items:center;gap:10px;font-size:12px;display:inline-flex}.eyebrow:before{content:"";opacity:.5;background:currentColor;width:24px;height:1px}.btn{font-family:var(--font-body);letter-spacing:-.01em;transition:all .22s var(--ease);white-space:nowrap;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px 22px;font-size:15px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 0 0 1px #ffffff1a inset, 0 8px 24px -8px var(--accent-glow)}.btn-primary:hover{box-shadow:0 0 0 1px #ffffff26 inset, 0 14px 36px -10px var(--accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--ink-muted);padding:10px 16px}.btn-ghost:hover{color:var(--ink)}.btn-sm{padding:10px 16px;font-size:14px}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl);transition:all .32s var(--ease);padding:32px;position:relative;overflow:hidden}.nav-glass{background:color-mix(in oklab, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(18px)saturate(140%);border-bottom:1px solid var(--border)}.mesh{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.mesh:before,.mesh:after,.mesh>.blob{content:"";filter:blur(80px);opacity:.7;will-change:transform;border-radius:50%;position:absolute}.mesh:before{background:radial-gradient(circle, var(--accent) 0%, transparent 65%);width:560px;height:560px;animation:18s ease-in-out infinite drift-a;top:-180px;left:10%}.mesh:after{opacity:.5;background:radial-gradient(circle,#8b5cf6 0%,#0000 65%);width:520px;height:520px;animation:22s ease-in-out infinite drift-b;top:40%;right:5%}.mesh .blob{opacity:.35;background:radial-gradient(circle,#22d3ee 0%,#0000 65%);width:420px;height:420px;animation:26s ease-in-out infinite drift-c;bottom:-120px;left:40%}[data-theme=light] .mesh:before{opacity:.28}[data-theme=light] .mesh:after{opacity:.22}[data-theme=light] .mesh .blob{opacity:.18}@keyframes drift-a{0%,to{transform:translate(0)scale(1)}50%{transform:translate(80px,60px)scale(1.1)}}@keyframes drift-b{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-70px,40px)scale(.95)}}@keyframes drift-c{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-50px,-80px)scale(1.05)}}.grid-overlay{background-image:linear-gradient(to right, var(--border) 1px, transparent 1px), linear-gradient(to bottom, var(--border) 1px, transparent 1px);opacity:.5;pointer-events:none;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 40%,#000 30%,#0000 85%);mask-image:radial-gradient(80% 60% at 50% 40%,#000 30%,#0000 85%)}.fade-up{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transform:translateY(24px)}.fade-up.is-visible{opacity:1;transform:translateY(0)}.field{flex-direction:column;gap:8px;display:flex}.field label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-subtle);font-size:11px}.field input,.field textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);width:100%;font-family:var(--font-body);color:var(--ink);transition:all .18s var(--ease);padding:14px 16px;font-size:15px;font-weight:400}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-wash);outline:none}.field textarea{resize:vertical;min-height:120px;font-family:var(--font-body)}.field.has-error input,.field.has-error textarea{border-color:var(--danger)}.field .error-msg{color:var(--danger);font-size:12px;font-family:var(--font-body)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;opacity:0;transition:opacity .22s var(--ease);background:#05081299;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-backdrop.is-open{opacity:1}.modal-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl);opacity:0;width:100%;max-width:540px;max-height:90vh;transition:all .28s var(--ease);box-shadow:0 40px 80px -20px #0009, 0 0 0 1px var(--border);overflow:auto;transform:translateY(16px)scale(.98)}.modal-backdrop.is-open .modal-panel{opacity:1;transform:translateY(0)scale(1)}.accent-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 12px var(--accent-glow);border-radius:999px;display:inline-block}.divider{background:var(--border);width:100%;height:1px}.badge{background:var(--surface);border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:inline-flex}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}::selection{background:var(--accent);color:#fff}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
