/* ============================================================================
   Self-hosted web fonts (latin subset, woff2) — served from our own origin so
   the type is IDENTICAL on every device and network. Corporate/office Wi-Fi
   routinely blocks or throttles fonts.googleapis.com / fonts.gstatic.com, and a
   slow link FOUT-swaps to Georgia/monospace — which is what made the site look
   "cheap" and inconsistent on weaker machines. No external CDN dependency.
   Regenerate with tools/fetch-fonts.mjs. font-display: swap.
   (Fraunces / Inter / Cormorant are variable fonts: one file covers every
   weight, so the weights below share a single woff2.)
   ============================================================================ */

/* --- Cormorant Garamond (THE display serif, everywhere) ------------------
   Formerly a duet with Fraunces; Fraunces was dropped so one serif carries
   every heading, nameplate and display line. Its own italic covers the
   calligraphic accents Fraunces italic used to. */
@font-face {
  font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400 600; font-display: swap;
  src: url('../assets/fonts/web/cormorant-garamond.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap;
  src: url('../assets/fonts/web/cormorant-garamond-italic.woff2') format('woff2');
}

/* --- General Sans (UI sans / body) --------------------------------------
   Replaced Inter. Inter is the default-issue product sans and reads as
   "unchosen"; General Sans is geometric-humanist with slightly warmer,
   more open shapes that sit better under Cormorant's high contrast.
   Three static weights (not variable), so all three files are needed. */
@font-face {
  font-family: 'General Sans'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../assets/fonts/web/general-sans-400.woff2') format('woff2');
}
@font-face {
  font-family: 'General Sans'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../assets/fonts/web/general-sans-500.woff2') format('woff2');
}
@font-face {
  font-family: 'General Sans'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../assets/fonts/web/general-sans-600.woff2') format('woff2');
}

/* --- Space Mono (board / kickers / mono UI) ---------------------------- */
@font-face {
  font-family: 'Space Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../assets/fonts/web/space-mono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Space Mono'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('../assets/fonts/web/space-mono-700.woff2') format('woff2');
}

/* --- Italianno (signature script) ---------------------------------------
   Replaced Sacramento. Italianno was already being asked for by name in
   souvenir.js but had no @font-face, so it silently fell back to the OS
   cursive; it is now the one real script face and Sacramento is gone. */
@font-face {
  font-family: 'Italianno'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../assets/fonts/web/italianno.woff2') format('woff2');
}

/* --- Kalam (THE HAND: the memory-fragment diary) ------------------------
   A real pen hand. Compared side by side (tools/_cmp) against Caveat (a marker),
   Shantell Sans (a designed casual face) and Gloria Hallelujah (childish print),
   Kalam was the only one that read as someone WRITING: uneven strokes, a genuine
   nib, natural weight variation between the 700 title and the 300/400 body, and
   still fully readable at body size. Three real weights, no synthetic bolding. */
@font-face {
  font-family: 'Kalam'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('../assets/fonts/web/kalam-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Kalam'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../assets/fonts/web/kalam-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Kalam'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('../assets/fonts/web/kalam-700.woff2') format('woff2');
}

/* NB: Caveat and Dancing Script were auditioned for the diary hand (Kalam won)
   and their @font-face + woff2 have been removed — no element used either
   family. See the Kalam note above for why it was chosen over them. */
