/* Self-hosted VARIABLE fonts. See DESIGN.md.
   ⚠ NOT a third-party font CDN: the CSP in site/_headers has no font-src for one, because
     it would mean every player loading every page is a request to somebody else's server.
   Variable, so one file covers every weight instead of four — 4 static Inter weights came
   to 587KB, which is a real cost on venue wifi. latin + latin-ext, so Filipino and Spanish
   names (Jose with an accent, Nina with a tilde, Pena) render in the real face. */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/assets/fraunces-var-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/assets/fraunces-var-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/inter-var-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/inter-var-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── THE SWAP FACE, WIDTH-MATCHED ────────────────────────────────────────────────────────
   `font-display: swap` means every cold load paints Georgia first and repaints in Fraunces
   when the woff2 lands. Georgia is the WIDER face — measured on the deployed build,
   "Wednesday" is 122px in Georgia against 113px in Fraunces at 21px, and a session time is
   about 10% wider — so the first paint is not merely a different-looking page, it is a page
   laid out to different numbers. On the session card that is the difference between the day
   and the time sharing a line and the day wrapping mid-word for as long as the download
   takes, on exactly the phones least likely to finish it quickly.

   `size-adjust` fixes the cause rather than the symptom: Georgia is drawn at 92% so its
   advance widths land within about 2% of Fraunces', and the swap becomes a change of shape
   instead of a reflow. Nothing here is downloaded — `local()` only names a font already on
   the device, and if neither is installed the stack falls through to the generic serif.
   ⚠ 92% is measured, not chosen: 113/122 for letters, 131/145 for a time string. */
@font-face {
  font-family: 'Fraunces Fallback';
  src: local('Georgia'), local('Times New Roman'), local('Times');
  size-adjust: 92%;
}
