@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";
:root{--color-bg:#fafaf8;--color-surface:#f0ede8;--color-border:#1a1a1814;--color-border-strong:#1a1a1833;--color-text:#1a1a18;--color-text-muted:#1a1a18a6;--color-text-subtle:#1a1a188c;--color-accent:#0867be;--color-accent-dim:#0867be1f;--color-accent-glow:#0867be40;--gradient-brand:linear-gradient(135deg, #0867be 0%, #32e8c5 100%);--color-led:#4ade80;--color-led-dim:#4ade8026;--color-dark-bg:#111110;--color-dark-surface:#1c1c1a;--color-dark-border:#ffffff14;--color-dark-border-strong:#ffffff24;--color-dark-text:#f1f5f9;--color-dark-text-muted:#f1f5f980;--font:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.75rem;--text-hero:clamp(2.75rem, 7vw, 5rem);--section-padding:120px 24px;--section-padding-mobile:72px 20px;--max-width:760px;--max-width-wide:1080px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scrollbar-width:thin;scrollbar-color:var(--color-surface) var(--color-bg);font-size:16px}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font);line-height:1.6}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;background:0 0;border:none}::selection{background:var(--color-accent-dim);color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}
.container{width:100%;max-width:var(--max-width-wide);margin:0 auto;padding:0 24px}.container--narrow{max-width:var(--max-width)}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.grad-reveal{position:relative}.grad-reveal:after{content:attr(data-text);background:var(--gradient-brand);color:#0000;opacity:var(--grad-opacity,0);pointer-events:none;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;white-space:inherit;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}
