:root{
/* ---- Brand navy — sampled from the logo wordmark (#1B2538) ---- */
--navy-950:#0B111C;--navy-900:#131B29;--navy-800:#1B2538;--navy-700:#2A3750;
--navy-600:#3D4C69;--navy-500:#5A6880;--navy-400:#828D9F;--navy-300:#AEB6C2;
--navy-200:#D2D7DE;--navy-100:#E8EBEF;--navy-050:#F2F4F6;

/* ---- Brand green — sampled from the logo mark (#266459) ---- */
--green-950:#0C2A25;--green-900:#12382F;--green-800:#1A4C42;--green-700:#266459;
--green-600:#337E70;--green-500:#4A998A;--green-400:#7FBCB0;--green-300:#AFD6CD;
--green-200:#D6EAE5;--green-100:#E8F3F0;--green-050:#F2F8F6;

/* ---- Warm neutrals — the off-white ground the brand sits on ---- */
--warm-000:#FFFFFF;--warm-050:#FCFBF8;--warm-100:#F7F5F0;--warm-200:#F1EDE5;
--warm-300:#E7E2D8;--warm-400:#D8D2C5;--warm-500:#B8B1A2;--warm-600:#8C867A;

/* ---- Semantic accents (used sparingly; never as decoration) ---- */
--ochre-500:#B4762A;--ochre-100:#F6EBD9;
--rust-600:#A5372C;--rust-100:#F7E5E2;
--slate-600:#2F5C7A;--slate-100:#E4EDF3;

/* ================= Semantic aliases ================= */
--page-bg:var(--warm-100);
--surface-card:var(--warm-000);
--surface-sunken:var(--warm-200);
--surface-raised:var(--warm-050);
--surface-inverse:var(--navy-800);
--surface-accent:var(--green-100);

--text-body:var(--navy-700);
--text-heading:var(--navy-800);
--text-muted:var(--navy-500);
--text-subtle:var(--navy-400);
--text-inverse:var(--warm-100);
--text-inverse-muted:#9AA5B6;
--text-accent:var(--green-700);
--text-link:var(--green-700);
--text-link-hover:var(--green-800);

--border-hairline:var(--warm-300);
--border-strong:var(--navy-200);
--border-inverse:rgba(247,245,240,.16);
--border-focus:var(--green-600);

--action-primary-bg:var(--navy-800);
--action-primary-bg-hover:var(--navy-700);
--action-primary-fg:var(--warm-050);
--action-accent-bg:var(--green-700);
--action-accent-bg-hover:var(--green-800);
--action-accent-fg:var(--warm-050);
--action-secondary-bg:var(--warm-000);
--action-secondary-fg:var(--navy-700);
--action-disabled-bg:var(--warm-300);
--action-disabled-fg:var(--warm-600);

--state-success-fg:var(--green-700);--state-success-bg:var(--green-100);
--state-warning-fg:var(--ochre-500);--state-warning-bg:var(--ochre-100);
--state-danger-fg:var(--rust-600);--state-danger-bg:var(--rust-100);
--state-info-fg:var(--slate-600);--state-info-bg:var(--slate-100);

--focus-ring:0 0 0 3px rgba(38,100,89,.28);
}
