:root{
/* Brand palette, exactly as specified in the 2026 identity proof */
--olive:#605C39;
--oxblood:#621A1D;
--cream:#E9E3CD;
--brown:#603A2D;
--terracotta:#AE5037;
--sage:#B5AE91;
--near-black:#151610;

/* Tonal steps, derived in oklch from the seven brand colors. Use for state and depth only,
   never to introduce a new hue. */
--cream-100:#F3EFE1;
--cream-200:#E9E3CD;
--cream-300:#DCD5BB;
--cream-400:#CBC3A6;
--sage-200:#C8C2A9;
--sage-300:#B5AE91;
--sage-400:#9C9578;
--olive-500:#6F6A42;
--olive-600:#605C39;
--olive-700:#4D4A2D;
--olive-800:#3A3822;
--oxblood-500:#772023;
--oxblood-600:#621A1D;
--oxblood-700:#4C1315;
--brown-500:#734635;
--brown-600:#603A2D;
--brown-700:#4A2C22;
--terracotta-400:#C06B52;
--terracotta-500:#AE5037;
--terracotta-600:#95422C;
--ink-900:#151610;
--ink-800:#24251C;

/* Ink on light, expressed as alpha so hairlines sit on any warm field */
--ink-a72:rgba(21,22,16,.72);
--ink-a56:rgba(21,22,16,.56);
--ink-a32:rgba(21,22,16,.32);
--ink-a18:rgba(21,22,16,.18);
--ink-a10:rgba(21,22,16,.10);
--cream-a72:rgba(233,227,205,.72);
--cream-a48:rgba(233,227,205,.48);
--cream-a24:rgba(233,227,205,.24);
--cream-a14:rgba(233,227,205,.14);

/* Semantic surfaces. Cream replaces white on every surface. */
--surface-page:var(--cream-200);
--surface-raised:var(--cream-100);
--surface-sunken:var(--cream-300);
--surface-muted:var(--sage-300);
--surface-dark:var(--near-black);
--surface-olive:var(--olive-600);
--surface-oxblood:var(--oxblood-600);
--surface-brown:var(--brown-600);
--surface-accent:var(--terracotta-500);

/* Semantic text */
--text-body:var(--near-black);
--text-heading:var(--near-black);
--text-muted:var(--ink-a72);
--text-quiet:var(--ink-a56);
--text-accent:var(--oxblood-600);
--text-on-dark:var(--cream-200);
--text-on-dark-muted:var(--cream-a72);
--text-on-accent:var(--cream-200);

/* Lines and rules */
--border-hairline:var(--ink-a18);
--border-strong:var(--near-black);
--border-rule:var(--cream-400);
--border-on-dark:var(--cream-a24);

/* Interaction */
--link:var(--oxblood-600);
--link-hover:var(--terracotta-500);
--focus-ring:var(--terracotta-500);

/* Status. The palette carries status; no new hues are introduced. */
--status-positive:var(--olive-600);
--status-caution:var(--terracotta-500);
--status-critical:var(--oxblood-600);
--status-neutral:var(--sage-400);
}
