:root{--c-navy-950: #070e26;--c-navy-900: #0b1639;--c-navy-800: #111f4d;--c-navy-700: #1a2b63;--c-blue-600: #2459e8;--c-blue-500: #2f6bff;--c-blue-300: #8fb0ff;--c-blue-100: #dfe8ff;--c-blue-50: #eef3ff;--c-gray-50: #f7f8fa;--c-gray-100: #eef1f6;--c-gray-200: #d9dee7;--c-gray-300: #c3cad8;--c-gray-500: #5a6480;--c-gray-600: #4b5570;--c-gray-on-dark: #a9b4cf;--c-white: #ffffff;--c-green-600: #11805f;--c-red-600: #c62a2a;--color-bg: var(--c-gray-50);--color-surface: var(--c-white);--color-surface-muted: var(--c-gray-100);--color-text: var(--c-navy-900);--color-text-muted: var(--c-gray-600);--color-text-inverse: var(--c-white);--color-line: var(--c-gray-200);--color-line-strong: var(--c-gray-300);--color-grid: rgb(11 22 57 / .045);--color-primary: var(--c-blue-600);--color-primary-hover: #1c4bd0;--color-accent: var(--c-blue-500);--color-accent-soft: var(--c-blue-50);--color-link: var(--c-blue-600);--color-dark-bg: var(--c-navy-900);--color-dark-surface: var(--c-navy-800);--color-focus: var(--c-blue-500);--color-error: var(--c-red-600);--color-success: var(--c-green-600);--font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1.0625rem;--fs-md: 1.1875rem;--fs-lg: clamp(1.25rem, 1.15rem + .45vw, 1.5rem);--fs-xl: clamp(1.5rem, 1.25rem + 1.1vw, 2rem);--fs-2xl: clamp(2rem, 1.5rem + 2.2vw, 3rem);--fs-3xl: clamp(2.5rem, 1.6rem + 4vw, 4.5rem);--lh-tight: 1.08;--lh-snug: 1.25;--lh-body: 1.65;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--tracking-mono: .06em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--section-gap: clamp(4.5rem, 3rem + 5vw, 7.5rem);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--line: 1px solid var(--color-line);--shadow-sm: 0 1px 2px rgb(11 22 57 / .06);--shadow-md: 0 1px 2px rgb(11 22 57 / .04), 0 8px 24px -12px rgb(11 22 57 / .18);--shadow-lg: 0 2px 4px rgb(11 22 57 / .04), 0 24px 48px -20px rgb(11 22 57 / .28);--grid-size: 32px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-base: .22s;--duration-slow: .5s;--container-max: 72rem;--container-narrow: 48rem;--gutter: clamp(1rem, .5rem + 2.5vw, 2rem);--header-height: 4rem;--demo-bar-height: 3.25rem}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(/fonts/fraunces.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Syne;src:url(/fonts/syne.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Fredoka;src:url(/fonts/fredoka.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + var(--space-4))}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:-.025em;text-wrap:balance}h1{font-size:var(--fs-3xl);font-weight:var(--fw-bold)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl);line-height:var(--lh-snug)}h4{font-size:var(--fs-lg);line-height:var(--lh-snug)}p{margin:0 0 var(--space-4);text-wrap:pretty}p:last-child{margin-bottom:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--duration-fast)}a:hover{color:var(--color-link)}img,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}ul[role=list],ol[role=list]{list-style:none;margin:0;padding:0}code,kbd,samp{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--c-blue-100);color:var(--c-navy-900)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{--btn-bg: var(--color-surface);--btn-fg: var(--color-text);--btn-border: var(--color-line-strong);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-5);border:1px solid var(--btn-border);border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast)}.btn svg{width:1.1em;height:1.1em;flex-shrink:0;transition:transform var(--duration-base) var(--ease-out)}.btn:hover{color:var(--btn-fg);border-color:var(--color-text)}.btn:hover svg:last-child{transform:translate(3px)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn--primary{--btn-bg: var(--color-primary);--btn-fg: var(--color-text-inverse);--btn-border: var(--color-primary);box-shadow:inset 0 1px #ffffff2e,0 1px 2px #0b163933}.btn--primary:hover{--btn-bg: var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--dark{--btn-bg: var(--color-dark-bg);--btn-fg: var(--color-text-inverse);--btn-border: var(--color-dark-bg)}.btn--dark:hover{--btn-bg: var(--c-navy-700);border-color:var(--c-navy-700)}.btn--secondary{--btn-bg: var(--color-surface)}.btn--ghost{--btn-bg: transparent;--btn-border: transparent}.btn--ghost:hover{--btn-bg: var(--color-surface-muted);border-color:transparent}.btn--sm{min-height:2.25rem;padding:var(--space-1) var(--space-4)}.btn--lg{min-height:3.25rem;padding:var(--space-3) var(--space-6);font-size:var(--fs-base)}.btn--block{width:100%}.on-dark .btn:not(.btn--primary){--btn-bg: transparent;--btn-fg: var(--c-white);--btn-border: rgb(255 255 255 / .3)}.on-dark .btn:not(.btn--primary):hover{border-color:var(--c-white)}.card{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:var(--line);border-radius:var(--radius-md)}.card--interactive{transition:border-color var(--duration-base),box-shadow var(--duration-base),transform var(--duration-base) var(--ease-out)}.card--interactive:hover,.card--interactive:focus-within{border-color:var(--color-line-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.label{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--color-text-muted)}.label__index{color:var(--color-link)}.tag{display:inline-flex;align-items:center;gap:var(--space-2);padding:.2rem var(--space-3);border:var(--line);border-radius:var(--radius-pill);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.02em;color:var(--color-text-muted);white-space:nowrap}.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-success)}.tag--accent:before{background:var(--color-accent)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-weight:var(--fw-medium);font-size:var(--fs-sm)}.field__optional{font-weight:var(--fw-regular);color:var(--color-text-muted)}.field__input{width:100%;min-height:2.875rem;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);transition:box-shadow var(--duration-fast),border-color var(--duration-fast)}.field__input:hover{border-color:var(--c-gray-500)}.field__input:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--c-blue-100)}.field__input[aria-invalid=true]{border-color:var(--color-error)}.field__input::placeholder{color:var(--c-gray-500)}textarea.field__input{min-height:8rem;padding-block:var(--space-3);resize:vertical}select.field__input{appearance:none;padding-right:var(--space-7);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%230b1639' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}.field__error{margin:0;color:var(--color-error);font-size:var(--fs-sm)}.field__hint{margin:0;color:var(--color-text-muted);font-size:var(--fs-sm)}.checkbox{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--fs-sm);color:var(--color-text-muted)}.checkbox input{flex-shrink:0;width:1.125rem;height:1.125rem;margin-top:.2rem;accent-color:var(--color-primary)}.hp-field{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.container{width:100%;max-width:calc(var(--container-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:calc(var(--container-narrow) + 2 * var(--gutter))}.section{position:relative;padding-block:var(--section-gap)}.section--bordered{border-top:var(--line)}.section--white{background:var(--color-surface)}.bg-grid{background-image:linear-gradient(var(--color-grid) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);background-position:center top}.section--dark,.on-dark{--color-text: var(--c-white);--color-text-muted: var(--c-gray-on-dark);--color-surface: var(--color-dark-surface);--color-line: rgb(255 255 255 / .12);--color-line-strong: rgb(255 255 255 / .24);--color-grid: rgb(255 255 255 / .04);--color-accent: var(--c-blue-300);--color-link: var(--c-blue-300);--line: 1px solid var(--color-line);background-color:var(--color-dark-bg);color:var(--color-text)}.lead{font-size:var(--fs-md);line-height:1.6;color:var(--color-text-muted);max-width:38rem}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-link)}.mono{font-family:var(--font-mono)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:1000;padding:var(--space-3) var(--space-4);background:var(--c-navy-900);color:var(--c-white);border-radius:var(--radius-sm);transform:translateY(-200%)}.skip-link:focus{transform:none;color:var(--c-white)}.corners{position:relative}.corners:before,.corners:after{content:"";position:absolute;width:10px;height:10px;border-color:var(--color-accent);border-style:solid;pointer-events:none}.corners:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.corners:after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(12px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:none}}
