/* tokens.css — generated from tokens.json (brand system §3.8).
 *
 * THE ONLY FILE IN WHICH A HEX VALUE MAY APPEAR (CB-2 §1, §6.2). Every colour
 * used by vantage.css and the templates comes from a variable defined here.
 * Fonts are embedded locally (assets/fonts/, SIL OFL) — no network at render
 * time (CB-2 §7). Do not hand-edit colours; change tokens.json and regenerate.
 */

/* ---- Self-hosted fonts (SIL OFL). Editorial: Source Serif 4. UI: Public Sans. ---- */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal; font-weight: 400;
  font-display: swap;
  src: url("fonts/SourceSerif4-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: italic; font-weight: 400;
  font-display: swap;
  src: url("fonts/SourceSerif4-It.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: normal; font-weight: 600;
  font-display: swap;
  src: url("fonts/SourceSerif4-Semibold.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: normal; font-weight: 700;
  font-display: swap;
  src: url("fonts/SourceSerif4-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: italic; font-weight: 700;
  font-display: swap;
  src: url("fonts/SourceSerif4-BoldIt.woff2") format("woff2");
}
@font-face {
  font-family: "Public Sans";
  font-style: normal; font-weight: 400;
  font-display: swap;
  src: url("fonts/PublicSans-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Public Sans";
  font-style: normal; font-weight: 500;
  font-display: swap;
  src: url("fonts/PublicSans-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "Public Sans";
  font-style: normal; font-weight: 600;
  font-display: swap;
  src: url("fonts/PublicSans-SemiBold.woff2") format("woff2");
}
@font-face {
  font-family: "Public Sans";
  font-style: normal; font-weight: 700;
  font-display: swap;
  src: url("fonts/PublicSans-Bold.woff2") format("woff2");
}

:root {
  /* ---- Core palette (brand system §3.3) ---- */
  --lintel-navy:    #10476E;
  --vantage-claret: #7D2231;
  --ink:            #1A1A18;
  --ink-muted:      #5C5F63;
  --rule:           #D8D5CE;
  --paper:          #FBFAF7;
  --paper-alt:      #F1EEE8;

  /* ---- Semantic status hues — categorical, never evaluative (§3.3) ---- */
  --status-new:         #10476E;
  --status-amended:     #7D2231;
  --status-deadline:    #8A6D1F;
  --status-enforcement: #5B3A7A;
  --status-unchanged:   #65686D;

  /* ---- Type (§3.4) ---- */
  --font-serif: "Source Serif 4", Georgia, serif;
  --font-sans:  "Public Sans", -apple-system, sans-serif;
  --wordmark-tracking: 0.085em;
  --wordmark-tracking-compact: 0.06em;

  /* ---- Spacing scale — 8px base (§3.8) ---- */
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
}
