:root{
/* --- Artesian blue: the source. Primary brand ramp. --- */
--blue-950:#041a24;--blue-900:#06222f;--blue-800:#0b3346;--blue-700:#12506c;--blue-600:#1a7196;--blue-500:#2e9cc4;--blue-400:#63bada;--blue-300:#98d3e9;--blue-200:#c3e4f1;--blue-100:#e1f1f8;--blue-050:#f2f9fc;
/* --- Limestone: warm neutral ramp (the rock the aquifer sits in) --- */
--stone-900:#221f1a;--stone-800:#332f28;--stone-700:#4b463c;--stone-600:#6b6558;--stone-500:#8e8778;--stone-400:#b3ab9b;--stone-300:#d3ccbd;--stone-200:#e6e0d3;--stone-100:#f2eee5;--stone-050:#faf8f3;--white:#ffffff;
/* --- Brass: heritage accent, used sparingly (rules, eyebrows, seals) --- */
--brass-700:#8a5f22;--brass-600:#a87528;--brass-500:#c08f3a;--brass-400:#d6ac5e;--brass-200:#ebd8ae;--brass-050:#fbf3e2;
/* --- Semantic hues --- */
--green-700:#1f5c3c;--green-600:#2e7d52;--green-100:#e3f0e8;
--amber-700:#8f6410;--amber-600:#c58a16;--amber-100:#fbeed2;
--red-700:#83271b;--red-600:#a93325;--red-100:#f8e3e0;

/* --- Semantic aliases: use these in product code --- */
--brand-primary:var(--blue-800);
--brand-primary-hover:var(--blue-700);
--brand-primary-active:var(--blue-900);
--brand-deep:var(--blue-950);
--brand-accent:var(--brass-600);
--brand-accent-hover:var(--brass-700);

--text-primary:var(--stone-900);
--text-secondary:var(--stone-700);
--text-muted:var(--stone-600);
--text-faint:var(--stone-500);
--text-inverse:var(--white);
--text-inverse-muted:#a9c2ce;
--text-accent:var(--brass-700);
--text-link:var(--blue-700);
--text-link-hover:var(--blue-600);

--surface-page:var(--stone-050);
--surface-card:var(--white);
--surface-sunken:var(--stone-100);
--surface-raised:var(--white);
--surface-deep:var(--blue-900);
--surface-deep-alt:var(--blue-800);
--surface-tint:var(--blue-050);
--surface-accent-soft:var(--brass-050);
--surface-overlay:rgba(4,26,36,.62);

--border-subtle:var(--stone-200);
--border-default:var(--stone-300);
--border-strong:var(--stone-400);
--border-inverse:rgba(255,255,255,.18);
--border-accent:var(--brass-400);
--border-focus:var(--blue-500);

--status-success-fg:var(--green-700);--status-success-bg:var(--green-100);--status-success-solid:var(--green-600);
--status-warning-fg:var(--amber-700);--status-warning-bg:var(--amber-100);--status-warning-solid:var(--amber-600);
--status-danger-fg:var(--red-700);--status-danger-bg:var(--red-100);--status-danger-solid:var(--red-600);
--status-info-fg:var(--blue-700);--status-info-bg:var(--blue-100);--status-info-solid:var(--blue-600);

/* Gradients — only two are sanctioned: a deep-water wash and a legibility scrim */
--gradient-deep:linear-gradient(168deg,var(--blue-950) 0%,var(--blue-800) 58%,var(--blue-700) 100%); /* @kind color */
--scrim-bottom:linear-gradient(to top,rgba(4,26,36,.82) 0%,rgba(4,26,36,.45) 42%,rgba(4,26,36,0) 100%); /* @kind color */
}
