:root{
  /* ---- Brand palette (canonical hex from the NFA brand brief) ---- */
  --nfa-green:#1F5A3E;        /* primary, load-bearing */
  --nfa-copper:#A85320;       /* accent only — never a fill or background */
  --nfa-gold:#D4AF6B;         /* accent — arc, rules, small emphasis */
  --nfa-soft-green:#CBD6CD;   /* supporting tint */
  --nfa-bone:#EDE6D9;         /* print/PDF only — never an HTML page field */
  --nfa-white:#FFFFFF;

  /* ---- As drawn in the supplied logo files (deeper, warmer) ---- */
  --nfa-green-logo:#0D3E2C;
  --nfa-copper-logo:#C05524;
  --nfa-gold-logo:#D0A055;

  /* ---- Green ramp, derived from --nfa-green ---- */
  --green-900:#0D3E2C;
  --green-800:#14472F;
  --green-700:#1F5A3E;
  --green-600:#2C6E4E;
  --green-500:#3E8460;
  --green-300:#8FB6A0;
  --green-200:#CBD6CD;
  --green-100:#E4EBE5;
  --green-050:#F2F6F3;

  /* ---- Neutral ink ---- */
  --ink-900:#12241C;
  --ink-700:#33453C;
  --ink-500:#5C6B63;
  --ink-300:#8E9A94;
  --ink-200:#C7CFCA;
  --ink-100:#E5E9E7;
  --ink-050:#F5F7F6;

  /* ---- Semantic ---- */
  --sem-success:#1F5A3E;
  --sem-warning:#A85320;
  --sem-danger:#8E2A17;
  --sem-info:#2C6E4E;

  /* ---- Semantic aliases: surfaces ---- */
  --surface-page:#FFFFFF;
  --surface-card:#FFFFFF;
  --surface-subtle:var(--ink-050);
  --surface-tint:var(--green-050);
  --surface-inverse:var(--green-700);
  --surface-inverse-deep:var(--green-900);
  --surface-print:var(--nfa-bone);

  /* ---- Semantic aliases: text ---- */
  --text-heading:var(--green-700);
  --text-body:var(--ink-900);
  --text-muted:var(--ink-500);
  --text-on-inverse:#FFFFFF;
  --text-on-inverse-muted:#CBD6CD;
  --text-accent:var(--nfa-copper);
  --text-link:var(--nfa-green);
  --text-link-hover:var(--nfa-copper);

  /* ---- Semantic aliases: lines ---- */
  --border-default:var(--ink-100);
  --border-strong:var(--ink-200);
  --border-inverse:rgba(255,255,255,.22);
  --rule-accent:var(--nfa-gold);
  --rule-emphasis:var(--nfa-copper);

  /* ---- Semantic aliases: interactive ---- */
  --action-primary:var(--green-700);
  --action-primary-hover:var(--green-800);
  --action-primary-active:var(--green-900);
  --action-secondary-border:var(--green-700);
  --action-ghost-hover:var(--green-050);
  --action-disabled-bg:var(--ink-100);
  --action-disabled-text:var(--ink-300);
  --focus-ring:var(--nfa-gold);
}
