/* ============================================================================
   Marija Deck — Typography Tokens (Joycean)
   The "Sabon synthesis" (research/typography-principles.md): a Garamond-revival
   body bridging the classical book canon with modernist functionalism, paired
   with a grotesk for the Aeolus all-caps headline and a mono for Ithaca's
   catechism. Anti-generic: no Inter/Roboto/Arial/system-ui as a primary face.
   Fonts: EB Garamond, Cormorant Garamond, Archivo, IBM Plex Mono (all SIL OFL).
   Print ideal noted in the style guide: Sabon + Gill Sans.
   ========================================================================== */

:root {
  /* — Families — */
  --font-body:    "EB Garamond", "Sabon", Georgia, "Times New Roman", serif;
  --font-display: "Cormorant Garamond", "EB Garamond", Georgia, serif;
  --font-grotesk: "Archivo", "Gill Sans", "Helvetica Neue", sans-serif; /* Aeolus headers, eyebrows, labels */
  --font-mono:    "IBM Plex Mono", "SF Mono", ui-monospace, monospace;   /* Ithaca catechism / data */

  /* — Modular scale (editorial, Perfect Fourth 1.333) on a book-like 18px base — */
  --fs-xs:   0.75rem;   /* 13.5px — meta/caption */
  --fs-sm:   0.875rem;  /* 15.75px — small */
  --fs-base: 1rem;      /* 18px — body */
  --fs-lg:   1.333rem;  /* 24px */
  --fs-xl:   1.777rem;  /* 32px */
  --fs-2xl:  2.369rem;  /* 42.6px */
  --fs-3xl:  3.157rem;  /* 56.8px */
  --fs-4xl:  4.209rem;  /* 75.8px */
  --fs-5xl:  5.61rem;   /* 101px — slide hero */

  /* — Weights — */
  --fw-light:    300;
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;

  /* — Line heights — */
  --lh-tight:   1.08;   /* display */
  --lh-snug:    1.25;   /* headings */
  --lh-body:    1.6;    /* body prose */
  --lh-loose:   1.75;   /* flow / Penelope */

  /* — Tracking — */
  --ls-tight:   -0.02em;
  --ls-normal:  0;
  --ls-wide:    0.04em;
  --ls-eyebrow: 0.18em;  /* Aeolus all-caps eyebrow */

  /* — Measure (45–75ch; cap at 66ch) — */
  --measure:      66ch;
  --measure-narrow: 48ch;

  /* — Hierarchy roles (size · weight · family · tracking) — */
  --role-display-font:   var(--font-display);
  --role-display-weight: var(--fw-semibold);
  --role-eyebrow-font:   var(--font-grotesk);   /* the Aeolus label */
  --role-eyebrow-tf:     uppercase;
  --role-body-font:      var(--font-body);
  --role-data-font:      var(--font-mono);
}

/* Em-dash dialogue (the "Joycean dash") helper — Penelope/quote module */
.joycean-dash::before { content: "— "; color: var(--color-accent-ink); }
