:root{--c-brand: #6871a8;--c-brand-hover: #7a84bf;--c-brand-ink: #4b5284;--c-vibrant: #1a6aff;--c-vibrant-soft: #dce8ff;--c-violet-deep: #4b3fb5;--c-violet: #6e5fd3;--c-violet-light: #9a8cef;--c-text: #0a0a0a;--c-text-2: #4f4f4f;--c-muted: #949494;--c-on-dark: #ffffff;--c-on-dark-muted: #b0b0b0;--c-page: #ffffff;--c-cream: #fbfaf8;--c-cream-warm: #f8f5f1;--c-pale-blue: #f4f6fe;--c-line: rgba(10, 10, 10, .08);--c-line-strong: rgba(10, 10, 10, .18);--c-dark: #0b0b0b;--c-dark-card: #161618;--c-dark-card-inner: #1e1e20;--c-dark-border: rgba(255, 255, 255, .08);--c-success: #2ad4ab;--c-success-ink: #1c8d72;--r-sm: 8px;--r-md: 12px;--r-lg: 20px;--r-xl: 28px;--r-2xl: 36px;--r-pill: 9999px;--sh-soft: 0 2px 8px rgba(16, 18, 38, .04), 0 12px 24px rgba(16, 18, 38, .06);--sh-brick: 0 1px 2px rgba(80, 85, 130, .08), 0 8px 24px rgba(80, 85, 130, .12), inset 0 -2px 0 rgba(80, 85, 130, .06);--sh-cta: 0 24px 60px -20px rgba(75, 63, 181, .55);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-std: cubic-bezier(.4, 0, .2, 1);--d-fast: .18s;--d-base: .32s;--d-slow: .72s;--f-sans: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--f-display: "Inter Tight", "Inter", system-ui, sans-serif;--f-pixel: "Pixelify Sans", "VT323", monospace;--f-mono: "JetBrains Mono", "SFMono-Regular", Menlo, monospace;--container: 1200px;--gutter: clamp(20px, 4vw, 40px);--section-y: clamp(72px, 10vw, 140px)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--f-sans);font-size:16px;line-height:1.55;color:var(--c-text);background:var(--c-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:none;border:0;padding:0;color:inherit}::selection{background:var(--c-brand);color:#fff}.f-pixel{font-family:var(--f-pixel);font-weight:500;color:var(--c-brand);letter-spacing:.01em}.f-display{font-family:var(--f-display);font-weight:500;letter-spacing:-.02em;line-height:1.05}.overline{font-family:var(--f-sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--c-text-2)}.container{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y)}.btn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:var(--r-pill);font-family:var(--f-sans);font-size:16px;font-weight:500;letter-spacing:-.005em;transition:transform var(--d-fast) var(--ease-out),background var(--d-fast) var(--ease-out),border-color var(--d-fast) var(--ease-out),box-shadow var(--d-base) var(--ease-out);will-change:transform;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn svg{transition:transform var(--d-base) var(--ease-out)}.btn:hover svg{transform:translate(4px)}.btn--primary{background:var(--c-brand);color:#fff;box-shadow:0 1px #ffffff1a inset,0 10px 24px -10px #6871a899}.btn--primary:hover{background:var(--c-brand-hover);box-shadow:0 1px #ffffff1a inset,0 16px 32px -12px #6871a8b3}.btn--ghost{background:transparent;color:var(--c-text);border:1px solid var(--c-line-strong)}.btn--ghost:hover{border-color:var(--c-text);background:#0a0a0a08}.btn--dark{background:var(--c-dark);color:#fff}.btn--dark:hover{background:#1d1d1f}.btn--ghost-dark{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.2)}.btn--ghost-dark:hover{border-color:#fff;background:#ffffff0f}@keyframes floatUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes driftSlow{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-8px) translate(4px)}}@keyframes driftAlt{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(6px) translate(-6px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseDot{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.grid-bg{background-image:radial-gradient(circle at 1px 1px,rgba(10,10,10,.06) 1px,transparent 0);background-size:24px 24px}
