/* Colour. Base ramps first, semantic aliases second.
   Brand navy #131747 is sampled directly from the supplied logo mark. */
:root{
  /* --- Navy (primary brand ramp) --- */
  --navy-50:#F2F3F9;  --navy-100:#E4E6F3; --navy-200:#CBCEE8; --navy-300:#A2A8D6;
  --navy-400:#6E76BE; --navy-500:#414AA0; --navy-600:#2C3480; --navy-700:#1E2461;
  --navy-800:#131747; --navy-900:#0D0F30; --navy-950:#080A1C;

  /* --- Stone (warm neutral ramp — surfaces, rules, quiet type) --- */
  --stone-50:#F8F7F4;  --stone-100:#F2F0EB; --stone-150:#EBE8E1; --stone-200:#E1DDD5;
  --stone-300:#C9C4BB; --stone-400:#A9A399; --stone-500:#837E74; --stone-600:#625E56;
  --stone-700:#47443E; --stone-800:#2E2C28; --stone-900:#1C1B18;
  --white:#FFFFFF;

  /* --- Ink (cool desaturated navy — all running text) --- */
  --ink-900:#14162B; --ink-700:#3A3E52; --ink-500:#55596B; --ink-300:#868A9C; --ink-200:#AEB1BE;

  /* --- Brass (single accent — used sparingly) --- */
  --brass-100:#F6EDDD; --brass-200:#EBD6B8; --brass-300:#D8B383; --brass-400:#C09258;
  --brass-500:#A8763E; --brass-600:#93672F; --brass-700:#7A5527;

  /* --- Semantic hues --- */
  --moss-100:#E6EFE7; --moss-500:#3F6B4A; --moss-600:#2F5638;
  --amber-100:#F7EBCF; --amber-500:#A87A16; --amber-600:#8A630F;
  --clay-100:#F7E5E1;  --clay-500:#A8412F;  --clay-600:#8B3325;

  /* ================= SEMANTIC ALIASES ================= */

  /* Text */
  --text-primary:var(--ink-900);
  --text-secondary:var(--ink-500);
  --text-tertiary:var(--ink-300);
  --text-disabled:var(--ink-200);
  --text-brand:var(--navy-800);
  --text-accent:var(--brass-600);
  --text-inverse:var(--white);
  --text-inverse-secondary:rgba(255,255,255,.68);
  --text-inverse-tertiary:rgba(255,255,255,.46);
  --text-link:var(--navy-700);
  --text-link-hover:var(--navy-800);
  --text-success:var(--moss-600);
  --text-warning:var(--amber-600);
  --text-danger:var(--clay-600);

  /* Surfaces */
  --surface-page:#FBFAF8;
  --surface-card:var(--white);
  --surface-raised:var(--white);
  --surface-sunken:var(--stone-100);
  --surface-muted:var(--stone-50);
  --surface-hover:rgba(19,23,71,.04);
  --surface-active:rgba(19,23,71,.07);
  --surface-selected:var(--navy-50);
  --surface-inverse:var(--navy-800);
  --surface-inverse-deep:var(--navy-950);
  --surface-inverse-raised:rgba(255,255,255,.06);
  --surface-accent-soft:var(--brass-100);
  --surface-success-soft:var(--moss-100);
  --surface-warning-soft:var(--amber-100);
  --surface-danger-soft:var(--clay-100);
  --surface-scrim:rgba(8,10,28,.52);

  /* Borders / rules */
  --border-hairline:rgba(19,23,71,.07);
  --border-subtle:rgba(19,23,71,.10);
  --border-default:rgba(19,23,71,.15);
  --border-strong:rgba(19,23,71,.26);
  --border-brand:var(--navy-800);
  --border-accent:var(--brass-400);
  --border-inverse:rgba(255,255,255,.16);
  --border-inverse-strong:rgba(255,255,255,.30);
  --border-danger:var(--clay-500);

  /* Interactive fills */
  --action-primary:var(--navy-800);
  --action-primary-hover:var(--navy-900);
  --action-primary-active:var(--navy-950);
  --action-accent:var(--brass-500);
  --action-accent-hover:var(--brass-600);
  --action-danger:var(--clay-500);
  --action-danger-hover:var(--clay-600);

  /* Focus */
  --focus-ring-color:rgba(19,23,71,.50);
  --focus-ring-color-inverse:rgba(255,255,255,.65);
}
