@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/space-grotesk-latin-500-normal.lFbtlQH6.woff2)format("woff2"),url(/_astro/space-grotesk-latin-500-normal.CNSSEhBt.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-grotesk-latin-700-normal.RjhwGPKo.woff2)format("woff2"),url(/_astro/space-grotesk-latin-700-normal.CwsQ-cCU.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2)format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2)format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff)format("woff")}:root{--color-bg:#f8fafc;--color-bg-alt:color-mix(in srgb, var(--color-bg) 72%, var(--color-border));--color-surface:#fff;--color-text:#0f172a;--color-text-muted:#64748b;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-soft:#e0e7ff;--color-primary-contrast:#fff;--color-border:#e2e8f0;--color-error:#ef4444;--color-focus:var(--color-primary);--header-bg:var(--color-surface);--header-text:var(--color-text);--header-link-hover:var(--color-primary-hover);--header-link-active:var(--color-primary);--header-link-active-bg:var(--color-primary-soft);--header-border:var(--color-border);--header-height:4rem;--font-heading:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-size-base:clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-logo:clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--font-size-h1:clamp(2.25rem, 1.6rem + 3.2vw, 4rem);--font-size-h2:clamp(1.75rem, 1.4rem + 1.8vw, 2.75rem);--font-size-h3:clamp(1.375rem, 1.2rem + .9vw, 1.875rem);--font-size-h4:clamp(1.125rem, 1.05rem + .4vw, 1.375rem);--line-height-body:1.65;--line-height-heading:1.15;--line-height-tight:1.3;--measure:68ch;--space-2xs:.25rem;--space-xs:.5rem;--space-s:.75rem;--space-m:1rem;--space-l:1.5rem;--space-xl:2.5rem;--space-2xl:clamp(3.5rem, 2rem + 6vw, 7rem);--content-max-width:72rem;--radius:.25rem;--focus-ring:3px solid var(--color-focus);--transition-fast:.15s ease;--transition-base:.25s ease;--ease-out:cubic-bezier(.22, 1, .36, 1);--reveal-duration:.8s;--reveal-distance:1.25rem;--reveal-step:.12s}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-base:0s}}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:var(--header-height)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-body);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;margin:0}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-m);font-family:var(--font-heading);font-weight:700;line-height:var(--line-height-heading);letter-spacing:-.01em;text-wrap:balance}h1{font-size:var(--font-size-h1);letter-spacing:-.02em}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3);line-height:var(--line-height-tight)}h4,h5,h6{font-size:var(--font-size-h4);line-height:var(--line-height-tight)}p{max-width:var(--measure);margin:0 0 var(--space-m);text-wrap:pretty}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.button{border:2px solid var(--color-primary);border-radius:var(--radius);text-align:center;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);padding:.85em 1.75em;font-weight:600;line-height:1.2;text-decoration:none;display:inline-block}.button--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.button--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button--secondary{border-color:var(--color-border);color:var(--color-text);background:0 0}.button--secondary:hover{border-color:var(--color-primary);color:var(--color-primary-hover)}@media (prefers-reduced-motion:no-preference){.js [data-scroll-reveal]{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--reveal-duration) var(--ease-out), transform var(--reveal-duration) var(--ease-out);transition-delay:calc(var(--reveal-index,0) * var(--reveal-step))}.js [data-scroll-reveal].is-visible{opacity:1;transform:none}}
