/*
 * DIXED design tokens.
 *
 * The only file in this theme permitted to contain a colour value or a raw
 * size. Everything else refers to these names.
 *
 * That single rule is what makes the design system auditable — one grep for
 * a hex value outside this file finds every piece of drift, on the day it
 * happens rather than six months later:
 *
 *     grep -rn '#[0-9a-fA-F]\{3,6\}' assets/css --exclude=tokens.css
 *
 * It must return nothing.
 */

:root {
  /* ── Ground ─────────────────────────────────────────────
     Three colours. There is no fourth. No gold, no metallics,
     no gradients — Standards 2.1 and 2.2.                  */
  --ink:            #0A0A0A;
  --paper:          #FFFFFF;
  --red:            #FF003C;

  /* The same red one step deeper, for small text on paper only.
     At full chroma #FF003C sits at 3.9:1 against white, under the
     readable mark. Not a second brand colour — Standards 2.1.   */
  --red-ink:        #EE0039;

  /* ── Type on each ground ────────────────────────────────
     Body is never pure white on ink. White headings against grey
     body is what creates depth on a dark page; all-white text is
     flat and harsh — Standards 2.5.                          */
  --on-ink-head:    #FFFFFF;
  --on-ink-body:    #A8A29B;
  --on-ink-faint:   #7A746C;
  --on-ink-hair:    rgba(255, 255, 255, .12);

  --on-paper-head:  #0A0A0A;
  --on-paper-body:  #4A4540;
  --on-paper-faint: #8A8378;
  --on-paper-hair:  #E5E2DD;

  /* ── Typefaces ──────────────────────────────────────────
     Instrument Serif is display only. Its hairlines go fragile
     below 24px on ink, and it ships one weight — never bolded,
     never body copy, never a caption. Standards 3.2 and 3.3.  */
  --display:  "Instrument Serif", Georgia, "Times New Roman", serif;
  --text:     "Archivo", ui-sans-serif, system-ui, -apple-system, sans-serif;

  /* ── Scale ──────────────────────────────────────────────
     Roughly 8:1 from cover headline to label. That ratio is what
     reads as a magazine; softening it by meeting in the middle is
     what reads as a website — Standards 3.5.                  */
  --t-cover:    clamp(3rem,   7vw,   5.5rem);
  --t-section:  clamp(2.1rem, 4.2vw, 3.25rem);
  --t-feature:  clamp(1.9rem, 3.2vw, 2.6rem);
  --t-headline: clamp(1.35rem, 2.2vw, 1.75rem);
  --t-card:     clamp(1.15rem, 1.6vw, 1.35rem);
  --t-lede:     1.125rem;
  --t-body:     1rem;
  /* The reading column, specified rather than inherited. Long-form body is
     18-20px at 1.65-1.8, in a column of 680-760px — wider than that and the
     eye loses the line return; narrower and it feels cramped. */
  --t-read:     1.1875rem;      /* 19px */
  --lh-read:    1.72;
  --measure-read: 45rem;        /* 720px */
  --t-small:    .875rem;
  --t-label:    .68rem;

  --lh-tight:   1.02;
  --lh-head:    1.12;
  --lh-body:    1.6;
  --ls-label:   .22em;
  --ls-nav:     .18em;

  /* ── Space ──────────────────────────────────────────────
     Ink sections carry about a quarter more than paper. Dark
     grounds compress space visually; equal padding makes a dark
     page feel cramped — Standards 5.4.                       */
  --pad-ink:      128px;
  --pad-paper:    100px;
  --pad-ink-m:    72px;
  --pad-paper-m:  56px;

  --gap:          clamp(1.5rem, 3vw, 2.5rem);
  --gutter:       clamp(1.25rem, 4vw, 3rem);
  --measure:      68ch;
  --max:          1240px;

  /* No borders, no shadows, no rounded corners anywhere on this
     page — Standards 5.3. There is deliberately no radius token. */
}
