@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");

:root{--font-sans:"Inter","Helvetica Neue",Arial,sans-serif}

:root{
--ivory:#FAFBFA;
--ivory-2:#EFF2F0;
--stone:#E0E4E2;
--stone-line:#CED4D1;
--stone-warm:#D7DCD9;
--stone-mid:#9AA19D;
--stone-deep:#7B827E;
--ink:#0F1211;
--ink-2:#2A2E2C;
--ink-3:#636A66;
--amber:#D5DB2B;
--amber-deep:#BFC426;
--amber-press:#A9AD21;
--amber-wash:#F1F3C8;

--surface-page:var(--ivory);
--surface-raised:var(--stone);
--surface-quiet:var(--ivory-2);
--surface-inverse:var(--ink);
--surface-accent:var(--amber);
--surface-accent-wash:var(--amber-wash);

--surface-section-page:var(--ivory);
--surface-section-quiet:var(--ivory-2);
--surface-section-neutral:var(--stone);
--surface-section-warm:var(--stone-warm);
--surface-section-accent:var(--amber);
--surface-section-ink:var(--ink);

--text-primary:var(--ink);
--text-secondary:var(--ink-3);
--text-muted:var(--stone-deep);
--text-on-accent:var(--ink);
--text-on-inverse:var(--ivory-2);
--text-on-inverse-muted:var(--stone-mid);

--rule:var(--stone-line);
--rule-quiet:var(--ivory-2);
--rule-strong:var(--ink);
--rule-accent:var(--amber);
--rule-on-inverse:#3A3A36;

--focus-ring:var(--ink);
--accent-hover:var(--amber-deep);
--accent-press:var(--amber-press);

--status-positive:#3F6B4A;
--status-caution:var(--amber-deep);
--status-negative:#8C3A2E;
}

:root{

--fs-display-1:clamp(2.125rem,3.1vw,3rem);
--fs-display-2:clamp(1.875rem,2.6vw,2.5rem);
--fs-h1:clamp(1.75rem,2.2vw,2.125rem);
--fs-h2:clamp(1.5rem,1.9vw,1.75rem);
--fs-h3:1.25rem;
--fs-h4:1.0625rem;
--fs-lead:1.125rem;
--fs-body:0.9375rem;
--fs-body-sm:0.875rem;
--fs-caption:0.75rem;
--fs-eyebrow:0.8125rem;
--fs-figure:clamp(2rem,3vw,2.75rem);

--fw-regular:400;
--fw-medium:500;
--fw-semibold:600;

--lh-display:1.04;
--lh-heading:1.16;
--lh-snug:1.36;
--lh-body:1.64;
--lh-loose:1.74;

--ls-display:-0.03em;
--ls-heading:-0.02em;
--ls-tight:-0.01em;
--ls-normal:0;

--measure-prose:62ch;
--measure-narrow:44ch;
--measure-wide:76ch;

--type-display-1:var(--fw-semibold) var(--fs-display-1)/var(--lh-display) var(--font-sans);
--type-display-2:var(--fw-semibold) var(--fs-display-2)/var(--lh-display) var(--font-sans);
--type-h1:var(--fw-semibold) var(--fs-h1)/var(--lh-heading) var(--font-sans);
--type-h2:var(--fw-semibold) var(--fs-h2)/var(--lh-heading) var(--font-sans);
--type-h3:var(--fw-semibold) var(--fs-h3)/var(--lh-snug) var(--font-sans);
--type-h4:var(--fw-semibold) var(--fs-h4)/var(--lh-snug) var(--font-sans);
--type-lead:var(--fw-regular) var(--fs-lead)/var(--lh-snug) var(--font-sans);
--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);
--type-body-sm:var(--fw-regular) var(--fs-body-sm)/var(--lh-body) var(--font-sans);
--type-caption:var(--fw-regular) var(--fs-caption)/var(--lh-snug) var(--font-sans);
--type-eyebrow:var(--fw-medium) var(--fs-eyebrow)/1.2 var(--font-sans);
--type-figure:var(--fw-semibold) var(--fs-figure)/1.02 var(--font-sans);
}

:root{
--space-0:0;
--space-1:2px;
--space-2:4px;
--space-3:8px;
--space-4:12px;
--space-5:16px;
--space-6:20px;
--space-7:24px;
--space-8:32px;
--space-9:40px;
--space-10:48px;
--space-11:64px;
--space-12:80px;
--space-13:96px;
--space-14:128px;
--space-15:160px;
--space-16:200px;

--section-y-tight:var(--space-12);
--section-y:var(--space-14);
--section-y-loose:var(--space-16);

--pad-control-y:11px;
--pad-control-x:22px;
--pad-control-y-sm:8px;
--pad-control-x-sm:16px;
--pad-card:var(--space-7);
--pad-card-lg:var(--space-10);
}

:root{

--container-max:1480px;
--container-narrow:920px;
--page-gutter:32px;
--page-gutter-sm:16px;
--section-pad-x:56px;
--section-pad-x-sm:24px;
--gutter:24px;
--gutter-md:40px;
--gutter-lg:64px;
--grid-cols:12;
--grid-gap:24px;
--grid-gap-lg:40px;

--radius:0px;

--border-hairline:1px;
--border-medium:2px;
--border-heavy:4px;
--border-block:8px;
--border:var(--border-hairline) solid var(--rule);
--border-strong:var(--border-hairline) solid var(--rule-strong);
--border-dashed:var(--border-hairline) dashed var(--stone-mid);

--shadow-none:none;
--shadow-header:0 1px 0 0 var(--rule);

--header-h:56px;
--header-h-compact:46px;
--z-base:0;
--z-sticky:20;
--z-header:40;
--z-overlay:60;
}

:root{
--dur-instant:80ms;
--dur-fast:160ms;
--dur-base:240ms;
--dur-slow:420ms;
--dur-reveal:700ms;

--ease-standard:cubic-bezier(0.2,0,0.2,1);
--ease-out:cubic-bezier(0.16,1,0.3,1);
--ease-in-out:cubic-bezier(0.6,0,0.4,1);

--transition-control:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);
--transition-reveal:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font:var(--type-body);letter-spacing:var(--ls-tight);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin:0}
h1,h2{letter-spacing:var(--ls-heading)}
p{text-wrap:pretty}
img,video{display:block;max-width:100%}
a{color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--rule-accent);transition:var(--transition-control)}
a:hover{color:var(--text-primary);background:var(--surface-accent)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
button{font:inherit;letter-spacing:inherit;border-radius:var(--radius)}
::selection{background:var(--amber);color:var(--ink)}
@media(prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;transition-duration:0.01ms!important}}
