/* Trash type: Geist (Calvin, 3 Nov, after the type-r3 board: "let's go geist family, but use the serif very sparingly.
   mostly rely on the sans. use pixel, mono, serif sparingly."). Link after src/assets/brand.css and the components'
   css, with fonts.css. Adapted from type-r3/type.css's A · Geist: the Sans now also reads (case-study prose, testimonials,
   the rail's quote) where the board had the Serif.
   ROLES
     --font-display   Geist, bold: names (a case study's client name)
     --font-body      Geist: the interface, the menu, captions' words
     --font-reading   Geist: prose, testimonials, the rail's quote
     --font-mono      Geist Mono: small labels only (captions' client, the dock, the type chip, meta)
     --font-numbers   Geist Pixel Square: stat numbers only (pixel, sparingly)
     --font-quote     Geist, bold: the rail's 88 px quote mark (Calvin, 3 Nov: "don't want serif in the quote rail. sans
                      there as well"); its box measured for Geist Bold's “: --qm-lh, --qm-h, --qm-x
     --font-serif     Geist Serif: the odd emphasised word; and the Thoughts page's plain-text manifesto, the one place it sets paragraphs (Calvin, 4 Nov: "this is where we would use geist serif")
     --font-pixel     Geist Pixel Square: the odd word ("automates" in the homepage statement), sparingly */
:root, :root[data-theme] {
  --font-display: "Geist", "Helvetica Neue", Arial, system-ui, sans-serif; --font-body: "Geist", "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-reading: "Geist", "Helvetica Neue", Arial, system-ui, sans-serif; --font-mono: "Geist Mono", ui-monospace, Menlo, monospace;
  --font-numbers: "Geist Pixel Square", "Geist Mono", ui-monospace, monospace; --font-quote: "Geist", "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-serif: "Geist Serif", "Times New Roman", serif; --font-pixel: "Geist Pixel Square", "Geist Mono", ui-monospace, monospace;
  --display-wght: 700; --numbers-wght: 500; --quote-wght: 700;
  --name-track: -.035em; --menu-size: 15px; --menu-track: -.005em;
  --cap-size: 11px; --cap-track: .01em; --chip-size: 11.5px; --chip-track: .06em;
  --tag-size: 10.5px; --tag-track: .06em; --pill-size: 11px; --pill-track: .06em;
  --qm-lh: .7475; --qm-h: .3116em; --qm-x: -.042em;
}

/* ---- Part 2: the live components, retuned per pairing ---- */
body { font-family: var(--font-body); }
.mn .mn__a { font-size: var(--menu-size); letter-spacing: var(--menu-track); }                    /* menu.css */
.card__cap { font-size: var(--cap-size); letter-spacing: var(--cap-track); }                           /* homepage: CLIENT — label */
.card__play { font-size: var(--pill-size); letter-spacing: var(--pill-track); }                        /* homepage: the Play pill */
.fx-out { font-size: var(--chip-size); letter-spacing: var(--chip-track); }                            /* filters.css: the dock */
.hv--h2 .card__type { font-size: var(--tag-size); letter-spacing: var(--tag-track); }                  /* hover.css: the type chip */
.tq__q { font-family: var(--font-reading); }                                                           /* homepage: testimonial cards */
.stat__n { font-family: var(--font-numbers); font-weight: var(--numbers-wght); }                       /* homepage: number cards */
/* work/case-study.css */
.client__name { font-family: var(--font-display); font-weight: var(--display-wght); letter-spacing: var(--name-track); }
.prose p, .tq--case .tq__q, .rail__quote p { font-family: var(--font-reading); }
.stat b { font-family: var(--font-numbers); font-weight: var(--numbers-wght); letter-spacing: -.01em; }
.rail__mark { font-family: var(--font-quote); font-weight: var(--quote-wght); line-height: var(--qm-lh); height: var(--qm-h); margin-left: var(--qm-x); }
