/* ==========================================================================
   AWAKE — the type scale.

   This file is the only place a type size is decided. Every number in it was
   read out of the ink in the designer's own PDF with pdfplumber — the drawn
   glyph size, not a text frame, not a rendering, not a judgement by eye.

   THE RULE
   Nothing outside this file sets font-size. A rule that needs type takes one of
   the roles below. If a size looks wrong on the page, it is wrong here or the
   design has moved — never both, and never fixed in place.

   IF THE DESIGN MOVES
   Export a fresh PDF, read it again, change the numbers here, and put the new
   export's date in tools/design/type-spec.json. Do not nudge a number to make a
   page look right: the programme's type was corrected by hand six or seven
   times over this build, every one of them a number changed by eye against a
   picture, with nothing to stop the next change undoing it (Arian, 23 Sep).

   THE CHECK
   node tools/design/check-type.mjs opens the built page at each artboard's own
   width and fails on any difference from type-spec.json. A size that has to
   pass a check cannot drift quietly.

   Source: AF_Website.pdf, exported 18 Sep 2026. Board page 1 at 1600, phone
   page 2 at 393. A point on those boards is a pixel here.
   ========================================================================== */

:root {
  /* --- The board's sizes (page 1, 1600 wide) --------------------------------
     42 / 24 / 24 / 18 / 16 — four steps and the display, which is what the
     board draws and nothing more. */
  --type-display:  42px;   /* the lineup names */
  --type-lineup:   42px;   /* the marquee, which follows the display here */
  --type-marker:   24px;   /* DAY 1 over the wreath */
  --type-title:    24px;   /* AWAKE, section and day titles, programme rows */
  --type-glyph:    24px;   /* the map's numbered markers and its key */
  --type-body:     24px;   /* About, bios, location copy, day hours */
  --type-lead:     18px;   /* the nav links and the hero dates */
  --type-row:      16px;   /* a programme row's time and venue */
  --type-label:    16px;   /* the section labels: About, The Program, Contact */
  --type-small:    16px;   /* labels, pills, filters, links, Book Your Spot */

  /* Leading. The display faces carry their own ratio because the board sets
     their leading absolutely — 40 on 42 is 0.95 — rather than by the body
     default. */
  --lh: 1.2;
  --lh-display: 0.95;

  /* --- The faces, as roles -------------------------------------------------
     Written once each. These were spelled out in full at a dozen places in the
     stylesheet, which is a dozen copies of one decision, each able to drift
     from the others (24 Sep). */
  --face-display: "GT Alpina Condensed", "Times New Roman", serif;
  --face-copy: "adobe-garamond-pro", "Adobe Garamond Pro", Garamond, serif;

  --head:    300 var(--type-title)/1 var(--face-display);
  --display: 300 var(--type-display)/var(--lh-display) var(--face-display);
  --marker:  300 var(--type-marker)/1 var(--face-display);
  --glyph:   300 var(--type-glyph)/1 var(--face-display);
  --copy:    400 var(--type-body)/1.167 var(--face-copy);
  --meta:    400 var(--type-small)/1.3 var(--face-copy);
  --spots:   300 var(--type-small)/1 var(--face-display);
}

/* --- The phone's sizes (page 2, 393 wide) ----------------------------------
   Seven steps, not the board's four. The programme's time and venue stay at 16
   where everything else around them drops to 15, and the map's markers take 22
   of their own — which is why those two had escaped the scale and were being
   set in raw pixels (24 Sep). They have names now.

   The lineup reads 36 on one line of the board and 32 on the rest of it. 32 is
   what the site sets and what the band is built to; the single 36 is left as a
   question for Christoph rather than guessed at. */
@media (max-width: 768px) {
  :root {
    --type-display:  32px;
    --type-lineup:   32px;
    --type-marker:   24px;
    --type-title:    20px;
    --type-glyph:    22px;
    --type-body:     18px;
    --type-lead:     15px;
    --type-row:      16px;
    --type-label:    16px;
    --type-small:    15px;

    --copy: 400 var(--type-body)/1.2 var(--face-copy);
  }
}
