/* colors.css — design system token file, verbatim except font paths */
:root{
--navy-900:#0a1a30;--navy-800:#0e2340;--navy-700:#15315a;--navy-600:#1f4270;
--stone-100:#faf9f6;--stone-200:#f3f1ea;--stone-300:#e8e4dc;--stone-400:#d8d2c4;--stone-500:#b7b0a0;--stone-600:#8c8575;
--slate-500:#6b7280;--slate-600:#556072;--slate-700:#3d4757;
--green-500:#5c6f4a;--green-600:#4a5a3c;--green-100:#e7ebe0;
--surgical-blue-600:#1f4a7a;--surgical-blue-500:#2f6096;--surgical-blue-100:#e4edf6;
--white:#ffffff;--black:#0a1a30;

--color-bg:var(--stone-100);
--color-bg-alt:var(--stone-200);
--color-surface:var(--white);
--color-surface-sunken:var(--stone-200);
--color-border:var(--stone-400);
--color-border-strong:var(--navy-800);
--color-text-primary:var(--navy-800);
--color-text-secondary:var(--slate-600);
--color-text-muted:var(--stone-600);
--color-text-inverse:var(--stone-100);
--color-accent-primary:var(--navy-800);
--color-accent-secondary:var(--green-500);
--color-accent-tertiary:var(--surgical-blue-600);
--color-link:var(--surgical-blue-600);
--color-link-hover:var(--navy-800);
--color-success:var(--green-500);
--color-danger:#9a3b30;
--color-focus-ring:var(--surgical-blue-500);
}

/* typography.css — design system token file, verbatim except font paths */
@font-face{font-family:'Neue Montreal';src:url('/assets/fonts/NeueMontreal-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Neue Montreal';src:url('/assets/fonts/NeueMontreal-LightItalic.otf') format('opentype');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'Neue Montreal';src:url('/assets/fonts/NeueMontreal-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Neue Montreal';src:url('/assets/fonts/NeueMontreal-Italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Neue Montreal';src:url('/assets/fonts/NeueMontreal-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Neue Montreal';src:url('/assets/fonts/NeueMontreal-MediumItalic.otf') format('opentype');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Neue Montreal';src:url('/assets/fonts/NeueMontreal-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Neue Montreal';src:url('/assets/fonts/NeueMontreal-BoldItalic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap}
:root{
--font-sans:'Neue Montreal',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
--font-display:var(--font-sans);
--font-body:var(--font-sans);

--fs-display-xl:clamp(2.75rem,4vw,5rem);/* @kind font */
--fs-display-lg:clamp(2.25rem,3vw,3.75rem);/* @kind font */
--fs-display-md:clamp(1.875rem,2vw,2.75rem);/* @kind font */
--fs-heading-lg:1.75rem;/* @kind font */
--fs-heading-md:1.375rem;/* @kind font */
--fs-heading-sm:1.125rem;/* @kind font */
--fs-body-lg:1.1875rem;/* @kind font */
--fs-body-md:1rem;/* @kind font */
--fs-body-sm:0.875rem;/* @kind font */
--fs-caption:0.75rem;/* @kind font */
--fs-eyebrow:0.8125rem;/* @kind font */

--lh-tight:1.08;/* @kind other */
--lh-snug:1.25;/* @kind other */
--lh-normal:1.5;/* @kind other */
--lh-relaxed:1.65;/* @kind other */

--fw-regular:400;/* @kind font */
--fw-medium:500;/* @kind font */
--fw-semibold:500;/* @kind font */
--fw-bold:700;/* @kind font */

--ls-tight:-0.02em;/* @kind other */
--ls-normal:0;/* @kind other */
--ls-wide:0.08em;/* @kind other */
--ls-eyebrow:0.14em;/* @kind other */
}

/* spacing.css — design system token file, verbatim except font paths */
:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
--space-20:80px;--space-24:96px;--space-32:128px;--space-40:160px;

--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-pill:999px;--radius-none:0px;

--shadow-sm:0 1px 2px rgba(10,26,48,0.06);
--shadow-md:0 4px 16px rgba(10,26,48,0.08);
--shadow-lg:0 16px 40px rgba(10,26,48,0.12);

--border-hairline:1px solid var(--color-border);
--border-strong:1px solid var(--color-border-strong);

--container-max:1200px;
--container-narrow:760px;

--ease-standard:cubic-bezier(.4,0,.2,1);/* @kind other */
--ease-out:cubic-bezier(0,0,.2,1);/* @kind other */
--duration-fast:150ms;/* @kind other */
--duration-base:240ms;/* @kind other */
--duration-slow:400ms;/* @kind other */
}

/* base.css — design system token file, verbatim except font paths */
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg);font-size:var(--fs-body-md);line-height:var(--lh-normal)}
h1,h2,h3,h4,p,figure{margin:0}
a{color:var(--color-link);text-decoration:none}
a:hover{color:var(--color-link-hover);text-decoration:underline}
img{max-width:100%;display:block}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}
::selection{background:var(--surgical-blue-100);color:var(--navy-900)}
