:root{
  /* Core palette — measured from the logo artwork (2026 edition) */
  --icpa-navy:#30588F;            /* PRIMARY */
  --icpa-dark-navy:#232460;
  --icpa-medium-blue:#5284BA;
  --icpa-pastel-grey-blue:#A7BEDA;
  --icpa-light-blue:#DEE7F1;

  /* Medium blue reads 3.91:1 on white -- fine as a dot, rule, focus ring or
     fill, below AA the moment it carries small text, which is exactly how the
     tracked-caps eyebrow used it on eight pages. Same hue, dropped in value
     until it clears 4.5:1 on all three light grounds the site paints:
     5.17:1 on white, 5.04:1 on off-white, 4.62:1 on the warm zone.
     Use this whenever medium blue is TEXT; keep --icpa-medium-blue for
     everything that is not read. */
  --icpa-blue-on-light:#44709F;

  /* Value ladder — ten brand blues, darkest (1) to lightest (10) */
  --blue-1:#232460; --blue-2:#242D69; --blue-3:#273D7A; --blue-4:#30588F; --blue-5:#395C9B;
  --blue-6:#5284BA; --blue-7:#5B8BBF; --blue-8:#A7BEDA; --blue-9:#D5E0EE; --blue-10:#DEE7F1;

  /* Neutrals */
  --white:#FFFFFF; --ink-body:#2C3A55; --ink-meta:#4D5B76; --off-white:#FCFCFC; --zone-light:#F1F3F8;

  /* Compliance status scale — functional UI signals, never brand colors */
  --status-none:#4CC763; --status-monitoring:#F8C828; --status-prepare:#F88018; --status-immediate:#F84048;
  --status-live:#48A878;

  /* Semantic aliases — light surfaces (the default register) */
  --text-heading:var(--icpa-dark-navy);
  --text-subhead:var(--icpa-navy);
  --text-body:var(--ink-body);
  --text-meta:var(--ink-meta);
  --text-eyebrow:var(--icpa-blue-on-light);
  --text-on-brand:var(--white);
  --text-link:var(--icpa-navy);
  --text-link-hover:var(--icpa-dark-navy);
  --surface-page:var(--white);
  --surface-card:var(--white);
  --surface-tint:var(--icpa-light-blue);
  --surface-brand:var(--icpa-navy);
  --surface-brand-dark:var(--icpa-dark-navy);
  --border-hairline:var(--icpa-pastel-grey-blue);
  --border-rule:var(--icpa-light-blue);
  --border-keyline:var(--icpa-navy);
  --focus-ring:var(--icpa-medium-blue);

  /* Interaction — value shifts, never hue shifts */
  --brand-hover:#274874;
  --brand-active:#1F3A5F;
  --tint-hover:#D5E0EE;

  /* 2026 direction — ink dark register and a single warm accent (page-level addition).
     Gold = "Option C — polished": flat Classic-18K gold everywhere text/icons appear
     (gradients can't carry text contrast); the metallic sweep is buttons-only. */
  --icpa-ink:#0A1220;
  --icpa-ink-2:#101B2E;
  --icpa-ink-hairline:#22304A;
  --icpa-accent:#C9A227;           /* Classic 18K base — dots, icons, solid fills */
  --icpa-accent-press:#B8911F;
  --icpa-accent-ink:#12203A;
  --icpa-accent-on-light:#8A6A17;  /* 5.05:1 on white — keep ≥4.5:1 (WCAG AA) */
  --icpa-zone-warm:#F3F2EF;

  /* Interaction states on the ink/accent register (no raw hex in component CSS) */
  --icpa-accent-bright:#E3C25B;    /* text accents on dark surfaces */
  --icpa-accent-deep:#8A6A17;      /* accent active/pressed */
  --icpa-gold-sheen:#F3DA8C;       /* gradient highlight — never used as text color */
  /* End stops are #A8841E, not the #8A6A17 text gold: on a 135deg sweep the corners
     are the darkest pixels a button label sits on, and #12203A on #8A6A17 measures
     3.2:1 — below AA. #A8841E lifts the floor to 4.63:1 without dulling the sheen. */
  --icpa-gold-gradient:linear-gradient(135deg,#A8841E 0%,#C9A227 26%,#F3DA8C 50%,#C9A227 74%,#A8841E 100%);
  --icpa-ink-navy-hover:#1B1C4C;   /* navy button hover */
  --icpa-ink-navy-active:#15163C;  /* navy button active */
}

/* Dark editorial scope */
.icpa-dark{
  --surface-page:#0C121E;
  --surface-page-2:#101B2E;
  --surface-band:#202868;
  --surface-card:rgba(255,255,255,.04);
  --surface-zone-light:#F1F3F8;
  --text-heading:var(--off-white);
  --text-subhead:var(--off-white);
  --text-body:#C0CCD8;
  --text-meta:#9CB4D8;
  --text-link:#9CB4D8;
  --text-link-hover:var(--off-white);
  --text-eyebrow:#9CB4D8;
  --border-hairline:#33445F;
  --border-rule:#33445F;
}
