@font-face{font-family:Satoshi;src:url(/fonts/satoshi-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--background:210 20% 99%;--foreground:222 47% 11%;--ink:0 0% 10%;--overlay:0 0% 10%;--card:0 0% 100%;--card-foreground:222 47% 11%;--popover:0 0% 100%;--popover-foreground:222 47% 11%;--primary:142 71% 45%;--primary-foreground:0 0% 100%;--primary-hover:142 71% 40%;--primary-light:145 60% 96%;--accent:217 91% 60%;--accent-foreground:0 0% 100%;--accent-hover:217 91% 53%;--secondary:210 17% 98%;--secondary-foreground:222 47% 11%;--muted:214 32% 91%;--muted-foreground:215 16% 34%;--destructive:0 84% 60%;--destructive-foreground:0 0% 98%;--border:214 32% 91%;--input:214 32% 91%;--ring:142 71% 45%;--radius:0.5rem;--gradient-hero:linear-gradient(180deg,hsl(0 0% 100%),hsl(160 60% 96%));--gradient-mint-blue:linear-gradient(135deg,hsl(142 71% 45%),hsl(217 91% 60%));--shadow-card:0 1px 3px 0 hsl(222 47% 11%/0.05);--shadow-card-hover:0 10px 25px -5px hsl(222 47% 11%/0.1);--shadow-button:0 4px 14px hsl(142 71% 45%/0.35);--font-display:"Satoshi Variable",Satoshi,system-ui,sans-serif;--font-body:"Satoshi Variable",Satoshi,system-ui,sans-serif;--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%}.dark{--background:222 47% 11%;--foreground:0 0% 98%;--overlay:0 0% 0%;--card:222 47% 15%;--card-foreground:0 0% 98%;--popover:222 47% 15%;--popover-foreground:0 0% 98%;--primary:142 71% 45%;--primary-foreground:0 0% 100%;--primary-hover:142 71% 40%;--primary-light:142 50% 15%;--accent:217 91% 60%;--accent-foreground:0 0% 100%;--accent-hover:217 91% 65%;--secondary:222 47% 15%;--secondary-foreground:0 0% 95%;--muted:222 47% 18%;--muted-foreground:215 16% 65%;--border:222 47% 20%;--input:222 47% 18%;--ring:142 71% 45%;--gradient-hero:linear-gradient(180deg,hsl(222 47% 11%),hsl(222 47% 8%));--shadow-card:0 2px 8px -2px hsl(0 0% 0%/0.3);--shadow-card-hover:0 8px 24px -4px hsl(0 0% 0%/0.4);--shadow-button:0 4px 14px hsl(142 71% 45%/0.3)}:root{font-size:clamp(1rem,calc(1rem + (100vw - 1440px) * 6.4 / 1120),1.4rem);--ml-ink:#18181b;--ml-soft:#71717b;--ml-subtle:#d4d4d8;--ml-wash:#f4f4f5;--ml-border:#e4e4e7;--ml-border-active:#9f9fa9;--ml-page:#ffffff;--ml-surface-1:#ffffff;--ml-surface-2:#ffffff;--ml-green:#00a63e;--ml-green-text:#008236;--ml-green-pale:#dcfce7;--ml-btn-bg:#18181b;--ml-btn-fg:#ffffff;--ml-shadow-popular:0 24px 44px rgba(0,0,0,0.08);--ml-shadow-card-hover:0 10px 30px rgba(0,0,0,0.06)}.dark{--ml-ink:#e4e4e7;--ml-soft:#a1a1aa;--ml-subtle:#71717b;--ml-wash:#161618;--ml-border:rgba(255,255,255,0.09);--ml-border-active:rgba(255,255,255,0.16);--ml-page:#09090b;--ml-surface-1:#161618;--ml-surface-2:#1f1f23;--ml-green:#00c950;--ml-green-text:#4ade80;--ml-green-pale:rgba(0,201,80,0.16);--ml-btn-bg:#fafafa;--ml-btn-fg:#18181b;--ml-shadow-popular:none;--ml-shadow-card-hover:none}:root{--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1)}[data-ai-dock]{--ai-fg-soft:240 4% 46%;--ai-bubble-in:240 5% 96%;--ai-border:240 5% 84%;--ai-radius-panel:2rem;--ai-radius-field:1rem;--ai-radius-bubble:0.75rem}:root{--hero-media-offset:30px;--header-gap:20px;--header-top:calc(var(--hero-media-offset) + var(--header-gap))}@keyframes hero-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-media{0%{clip-path:inset(0 0 100% 0);transform:scale(1.06)}to{clip-path:inset(0 0 0 0);transform:scale(1)}}:root{--scrollbar-comp:0px}.scroll-locked .site-header{padding-right:calc(1rem + var(--scrollbar-comp))}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:page-enter .32s var(--ease-out) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}