/* Miles Mosaic — "Calm" restyle self-hosted fonts (all OFL).
 *
 *   Public Sans          (wght 400–700)        — body / content (replaces Geist as body default)
 *   Bricolage Grotesque  (opsz, wght 400–800)  — display / headings / editorial (mockup `.disp`)
 *   IBM Plex Mono        (wght 400/500/600)     — data / numerics / route codes (replaces Geist Mono)
 *
 * Latin subset, font-display:swap, fetched from Google Fonts (OFL). Same-origin
 * so SVG→canvas export in Studio can embed them without tainting the canvas.
 * Geist (chrome) + Fraunces (.serif) remain in assets/fonts/studio/studio-fonts.css.
 */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('PublicSans.woff2') format('woff2');
}
@font-face {
  /* Real italic for body/editorial emphasis (article <em>, etc.) — Bricolage display
     has no italic, so display flourishes use upright instead. */
  font-family: 'Public Sans';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url('PublicSans-Italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('BricolageGrotesque.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('IBMPlexMono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('IBMPlexMono-500.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('IBMPlexMono-600.woff2') format('woff2');
}
