/* ============================================================
   QUILL & COMPASS — SHARED DESIGN TOKENS
   The design firewall for the whole marketing site.

   Grammar: 15th-16th-c. Northern-European illuminated manuscript
   + cartographer's workshop. Cut paper, woodcut, parchment.
   Warm paper grounds, iron-gall ink figures, rubric red, gold.

   This file exists because index.html and map.html were two
   unrelated visual systems that shared NOTHING — map.html declared
   this palette privately inside map.css, and index.html carried its
   own near-black one. Re-skinning index.html by copying the values
   across would have created exactly the parallel source of truth the
   project forbids, so the palette moved here and BOTH pages load it.

   Load order matters: tokens.css FIRST, then the page's own sheets.

   What lives here: colour, type, easing, measure — anything two
   pages could disagree about.
   What does NOT: per-page machinery. map.css keeps its own :root
   for the theatre dials (camera push, footlights, sway rates),
   because nothing else has a stage.
   ============================================================ */

/* The four BN faces are local files, not a web-font service. index.html
   used to pull Cinzel + Source Serif Pro from Google Fonts, which meant
   the two pages resolved DIFFERENT body faces on the same machine. */
@font-face{font-family:'BN Dopeneck';src:url('./fonts/BNDopeneck.woff2') format('woff2');font-display:swap}
@font-face{font-family:'BN Wispy';src:url('./fonts/BNWispy.otf') format('opentype');font-display:swap}
@font-face{font-family:'BN Blooms';src:url('./fonts/BNBlooms.otf') format('opentype');font-display:swap}
@font-face{font-family:'BN AIScript';src:url('./fonts/BNAIScriptFinal.otf') format('opentype');font-display:swap}

:root{
  /* parchment */
  --paper-100:#f4e9cf; --paper-300:#e7d4a6; --paper-500:#d8b878; --paper-deep:#cdb083;
  /* iron-gall ink */
  --ink-900:#1c130a; --ink-700:#2b2016; --ink-500:#4a3320; --ink-soft:#6b5638;
  /* gold + ember */
  --gold:#c8aa6e; --gold-bright:#d8a23e; --ember:#f08433; --ember-deep:#c75e1a;
  /* illuminated jewel accents (sparing) */
  --rubric:#e34234; --rubric-deep:#9c2b1c; --lapis:#26619c;
  --ember-text:#9a3c0a;   /* AA-legible emphasis on parchment (ember-deep is fills only) */

  /* --font-display is a heavy condensed face with a SIZE FLOOR: it carries a
     2.9rem heading and dies at 1rem. RULE: >=1.6rem only. Anything smaller
     uses --font-body at 600-700 with a little letter-spacing, which reads as
     a heading without being unreadable. This has been re-learned the hard way
     on captions, sub-headings, eyebrows and the CTA — do not breach it. */
  /* 'Cinzel Decorative' and 'Source Serif Pro' were dropped from these stacks on
     2026-08-04. They are the dark-era Google faces, and the site no longer loads
     them — but a font-family entry is a live candidate, not a comment: on any
     machine with them installed locally (common with Adobe Fonts) the page would
     silently render in the old faces instead of falling through to Georgia. */
  --font-display:'BN Dopeneck',Georgia,serif;
  --font-script:'BN AIScript','BN Wispy','Brush Script MT',cursive;
  --font-rubric:'BN Blooms',var(--font-display);
  --font-body:'Iowan Old Style','Palatino Linotype',Georgia,serif;
  /* referenced as var(--font-mono,...) in several places and never declared,
     so every "mono" eyebrow silently fell back. Declared once, here. */
  --font-mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;

  --snap:cubic-bezier(0.16,1,0.3,1);          /* easeOutExpo */
  --scrolled:cubic-bezier(0.22,1,0.36,1);     /* easeOutQuart */
  --calm:cubic-bezier(0.4,0,0.2,1);           /* easeInOutCubic */
  --runner:cubic-bezier(0.34,1.42,0.44,1);    /* flats on runners: overshoot, then settle */

  --measure:62ch;
}
