@font-face{font-family:"Kumbh Sans";src:url("./fonts/KumbhSans-Variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
:root{
/* Brand — Navy (forest var. names kept for compatibility) */
--forest-950:#112b3e;
--forest-900:#173952;
--forest-800:#1a415e;
--forest-700:#23577e;
--forest-600:#2e73a6;
--forest-200:#ddebf6;
--forest-100:#eff6fb;
/* Brand — Lime */
--lime-700:#787b17;
--lime-600:#aaaf20;
--lime-500:#d2d82a;
--lime-300:#e6e989;
--lime-100:#f8f9df;
/* Neutrals (slightly green-warm) */
--white:#ffffff;
--paper:#f7f8f2;
--stone-100:#eef0e8;
--stone-200:#dfe2d7;
--stone-300:#c6cabc;
--stone-500:#7d8378;
--stone-700:#4a5049;
--ink:#16201a;
/* Semantic */
--red-600:#c2412d;
--red-100:#fbe6e1;
--amber-600:#b7791f;
--amber-100:#fbf0d9;

/* Aliases */
--brand-primary:var(--forest-800);
--brand-accent:var(--lime-500);
--surface-page:var(--paper);
--surface-card:var(--white);
--surface-muted:var(--stone-100);
--surface-inverse:var(--forest-800);
--surface-inverse-deep:var(--forest-900);
--surface-accent:var(--lime-500);
--text-strong:var(--forest-800);
--text-body:var(--ink);
--text-muted:var(--stone-700);
--text-subtle:var(--stone-500);
--text-on-inverse:var(--white);
--text-on-inverse-muted:var(--forest-200);
--text-on-accent:var(--forest-800);
--border-default:var(--stone-200);
--border-strong:var(--stone-300);
--border-inverse:rgba(255,255,255,.18);
--focus-ring:var(--lime-500);
--status-success:var(--forest-600);
--status-success-bg:var(--forest-100);
--status-warning:var(--amber-600);
--status-warning-bg:var(--amber-100);
--status-error:var(--red-600);
--status-error-bg:var(--red-100);
}
:root{
--font-sans:"Kumbh Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
--font-display:var(--font-sans);
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;
--weight-black:800;
/* Scale */
--text-display-xl:clamp(48px,7vw,96px);
--text-display-l:clamp(40px,5.2vw,68px);
--text-h1:clamp(34px,4vw,52px);
--text-h2:clamp(28px,3vw,38px);
--text-h3:24px;
--text-h4:19px;
--text-lead:21px;
--text-body-size:17px;
--text-small:15px;
--text-caption:13px;
--text-eyebrow:13px;
--leading-tight:1.02;
--leading-heading:1.12;
--leading-body:1.6;
--tracking-display:-0.015em;
--tracking-eyebrow:0.16em;
--tracking-button:0.02em;
}
:root{
--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:24px;
--space-6:32px;
--space-7:48px;
--space-8:64px;
--space-9:96px;
--space-10:136px;
--container-max:1200px;
--container-pad:clamp(20px,4vw,48px);
--section-y:clamp(64px,9vw,128px); /* @kind spacing */
/* Radii — soft, ball-/drop-like */
--radius-xs:6px;
--radius-sm:10px;
--radius-md:16px;
--radius-lg:24px;
--radius-xl:36px;
--radius-pill:999px;
--radius-drop:50% 50% 50% 50% / 42% 42% 58% 58%;
/* Elevation — soft, green-tinted */
--shadow-1:0 1px 2px rgba(9,64,33,.06),0 1px 1px rgba(9,64,33,.04);
--shadow-2:0 6px 20px -8px rgba(9,64,33,.18),0 2px 4px rgba(9,64,33,.05);
--shadow-3:0 24px 48px -20px rgba(9,64,33,.28);
/* Motion */
--ease-out:cubic-bezier(.2,.8,.2,1); /* @kind other */
--ease-bounce:cubic-bezier(.34,1.4,.64,1); /* @kind other */
--dur-fast:140ms; /* @kind other */
--dur-base:220ms; /* @kind other */
--dur-slow:420ms; /* @kind other */
}
html{-webkit-font-smoothing:antialiased}
body{margin:0;font-family:var(--font-sans);font-size:var(--text-body-size);line-height:var(--leading-body);color:var(--text-body);background:var(--surface-page)}
a{color:var(--forest-700);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--forest-900);text-decoration-color:var(--lime-600)}
::selection{background:var(--lime-500);color:var(--forest-800)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
