/* ── Colour ───────────────────────────────────────────────────────────────
   Navy is the firm. Gold is the seal. Silver is the rule. White is the room.
   Ink values are sampled directly from the supplied logo artwork (#131C2B).
   ------------------------------------------------------------------------ */
:root {
  /* Navy — primary. navy-800 is the default ground and primary button.
     --navy-ink is the colour sampled from the supplied logo artwork; it is
     darker than the ramp and is reserved for the mark itself. */
  --navy-ink: #131C2B;
  --navy-950: #0D1526;
  --navy-900: #142038;
  --navy-800: #1D2C4C;
  --navy-700: #29395F;
  --navy-600: #364872;
  --navy-500: #465A88;
  --navy-400: #6B7CA3;
  --navy-300: #9AA7C1;
  --navy-200: #C6CFDF;
  --navy-100: #E4E9F3;
  --navy-50:  #F2F5FA;

  /* Gold — accent. Antique, struck-medal gold. Never brass, never yellow. */
  --gold-800: #5E4715;
  --gold-700: #7A5E1E;
  --gold-600: #9A7A2C;
  --gold-500: #B8923C;
  --gold-400: #C9A855;
  --gold-300: #DCC383;
  --gold-200: #EBDCB4;
  --gold-100: #F6EFDD;

  /* Silver — secondary metallic. Hairlines, rules, dark-ground dividers. */
  --silver-600: #6E7783;
  --silver-500: #8C949E;
  --silver-400: #A9B1BA;
  --silver-300: #C6CCD3;
  --silver-200: #DFE3E8;
  --silver-100: #EFF1F4;

  /* Neutral / paper */
  --paper: #FFFFFF;
  --paper-warm: #FBFAF7;
  --paper-cool: #F7F9FC;
  --ink-900: #131C2B; /* text ink stays the deep sampled navy */
  --ink-800: #1F2A3B;
  --ink-700: #2E3949;
  --ink-600: #47525F;
  --ink-500: #5A6675;
  --ink-400: #7E8896;
  --ink-300: #A8B0BB;

  /* Semantic — courtroom-plain, never traffic-light bright */
  --status-upheld: #1F6B4E;
  --status-upheld-soft: #E8F1EC;
  --status-pending: #A9701A;
  --status-pending-soft: #FBF2E2;
  --status-adverse: #8E2B24;
  --status-adverse-soft: #F7EAE8;
  --status-filed: #2A5A8C;
  --status-filed-soft: #E9F0F7;

  /* ── Semantic aliases: use these in components ── */
  --text-strong: var(--ink-900);
  --text-body: var(--ink-700);
  --text-muted: var(--ink-500);
  --text-subtle: var(--ink-400);
  --text-inverse: #FFFFFF;
  --text-inverse-muted: rgba(255,255,255,0.72);
  --text-accent: var(--gold-700);
  --text-accent-inverse: var(--gold-400);

  --surface-page: var(--paper);
  --surface-page-warm: var(--paper-warm);
  --surface-card: #FFFFFF;
  --surface-sunken: var(--navy-50);
  --surface-raised: #FFFFFF;
  --surface-inverse: var(--navy-800);
  --surface-inverse-deep: var(--navy-950);
  --surface-inverse-raised: var(--navy-700);
  --surface-accent-soft: var(--gold-100);
  --surface-overlay: rgba(8,12,20,0.62);

  --border-hairline: var(--navy-100);
  --border-default: var(--silver-200);
  --border-strong: var(--navy-200);
  --border-ink: var(--navy-800);
  --border-accent: var(--gold-500);
  --border-inverse: rgba(255,255,255,0.16);
  --border-inverse-strong: rgba(255,255,255,0.28);

  --link: var(--navy-600);
  --link-hover: var(--gold-700);
  --link-inverse: #FFFFFF;
  --link-inverse-hover: var(--gold-300);
  --focus-ring: var(--gold-500);
  --focus-ring-inverse: var(--gold-300);

  /* Jurisdictions — used only for map keys and office labels */
  --jur-uk: var(--navy-600);
  --jur-us: var(--gold-600);
  --jur-eu: var(--status-filed);
}

/* Dark ground: apply to any full-bleed navy section. */
[data-ground="inverse"] {
  --text-strong: #FFFFFF;
  --text-body: rgba(255,255,255,0.82);
  --text-muted: rgba(255,255,255,0.62);
  --text-subtle: rgba(255,255,255,0.48);
  --text-accent: var(--gold-400);
  --surface-page: var(--navy-800);
  --surface-card: var(--navy-700);
  --surface-sunken: var(--navy-900);
  --border-hairline: rgba(255,255,255,0.12);
  --border-default: rgba(255,255,255,0.16);
  --border-strong: rgba(255,255,255,0.28);
  --link: #FFFFFF;
  --link-hover: var(--gold-300);
  --focus-ring: var(--gold-300);
}
