/**
 * tokens.css — The Sovereignty Foundation design tokens
 *
 * Canonical source: the counsel brief's :root block. That document is the
 * house style of record; this file is it, named and extended.
 *
 * Three groups:
 *   SURFACE + INK   the neutral ramp everything is built on
 *   SEMANTIC        colours that carry meaning, never decoration
 *   FORM            radius, elevation, rhythm — the depth vocabulary
 */

:root {
  /* ── Surface + ink ─────────────────────────────────────────── */
  --paper:       #fefefe;   /* page ground                       */
  --paper-soft:  #faf8f4;   /* warm tint — panels, hover ground  */
  --paper-sunk:  #fbfaf8;   /* cooler tint — summaries, headers  */
  --paper-raise: #ffffff;   /* cards sitting on tinted ground    */

  --ink-strong:  #1a1a1a;   /* headings                          */
  --ink:         #333333;   /* body                              */
  --ink-soft:    #555555;   /* asides, secondary prose           */
  --ink-muted:   #666666;   /* captions                          */
  --ink-dim:     #999999;   /* labels, meta                      */
  --ink-faint:   #c0bfbb;   /* disabled, absent                  */

  --rule:        #e6e6e6;
  --rule-soft:   #eeeeee;
  --rule-strong: #d8d8d8;
  --rule-warm:   #e6e0d6;   /* rules adjacent to accent          */
  --border:      #e6e6e6;   /* alias — registry.css / portfolio.css */

  /* ── Semantic ──────────────────────────────────────────────────
     These carry meaning. Never reach for one decoratively.       */
  --accent:      #b07a4a;   /* the Foundation's brass            */
  --accent-pale: #cbb8a4;   /* section numerals, quiet accent    */
  --accent-deep: #8a5f38;   /* hover, pressed                    */
  --safe:        #4a8a6a;   /* constraint-of-self · publishable  */
  --dual:        #a05050;   /* observation-of-others · dual-use  */
  --neutral:     #5a6a7a;   /* procedural notes                  */
  --signal:      #4a8a8a;   /* measurement, live data            */
  --gold:        #a48a2a;   /* provenance, sealed record         */

  /* ── Type ──────────────────────────────────────────────────── */
  --serif: 'Vollkorn', Palatino, 'Times New Roman', serif;
  --mono:  'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --sans:  system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Display scale — the page-head sizes. These are referenced by name
     throughout site.css; --display-lg is the one value to turn down. */
  --display-lg: 3.75rem;
  --display-sm: 2.75rem;
  --section-lg: 1.9rem;
  --section-sm: 1.6rem;
  /* The standfirst is the tagline under every h1. It had been 1.05rem
     against a 1.02rem body — a three-percent difference, so it read as
     body text set in italics rather than as a tagline. A step up of
     roughly fifteen percent separates it; more than that and it starts
     competing with the headline. Like --display-lg, it is the one value
     to turn. */
  --standfirst:    1.2rem;
  --standfirst-sm: 1.1rem;
  --prose:      1.02rem;
  --prose-lead: 1.85;

  --t-display: 1.95rem;
  --t-h2:      1.30rem;
  --t-h3:      1.04rem;
  --t-lead:    1.05rem;
  --t-body:    1.00rem;
  --t-small:   0.88rem;
  --t-label:   0.62rem;
  --t-micro:   0.60rem;

  --lead-prose: 1.72;
  --lead-tight: 1.45;

  /* ── Form — the depth vocabulary ────────────────────────────
     The flatness cure is here: radii, tints, and two soft
     elevations. Used sparingly, they separate planes without
     turning the page into a dashboard.                          */
  --r-sm:  3px;
  --r-md:  4px;
  --r-lg:  7px;
  --r-xl:  8px;

  --lift-1: 0 2px 8px rgba(26, 26, 26, 0.04);
  --lift-2: 0 6px 20px rgba(176, 122, 74, 0.08);

  --edge: 3px;              /* accent edge on cards              */

  --w-read: 760px;
  --w-wide: 1080px;
  --pad-x:  24px;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── Accent themes ───────────────────────────────────────────────
   Default is the brief's brass. Set data-accent on <html> to
   re-key the site; semantic colours are deliberately unaffected,
   because their meanings do not change with the brand colour.   */

[data-accent="brass"]   { --accent: #b07a4a; --accent-pale: #cbb8a4; --accent-deep: #8a5f38; }
[data-accent="petrol"]  { --accent: #1f4e5f; --accent-pale: #a8c0c8; --accent-deep: #143741; }
[data-accent="oxblood"] { --accent: #7a3b34; --accent-pale: #c9aaa6; --accent-deep: #572924; }
[data-accent="slate"]   { --accent: #4a5568; --accent-pale: #b4bcc8; --accent-deep: #333c4b; }
[data-accent="forest"]  { --accent: #2f4f3f; --accent-pale: #a8c0b2; --accent-deep: #1f362a; }
[data-accent="ink"]     { --accent: #1a1a1a; --accent-pale: #b8b8b8; --accent-deep: #000000; }

/* ── Numerals ────────────────────────────────────────────────────
   Vollkorn ships oldstyle (text) figures by default, which render
   "1" as a form easily misread as "I" and let digits sit below the
   baseline. A registry is mostly numbers, so every numeric display
   is forced to lining, tabular figures — aligned in columns and
   unambiguous at a glance. Prose keeps the oldstyle default, where
   figures sit correctly among lowercase. */

.num,
.stat-n, .uss-n, .dec-n,
.card .val, .row-id, .row-date,
.reg-id, .mk-serial, .dl-date, .dl-days,
td, th {
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
}
