/* Self-hosted Loro typefaces for the standalone HTML pages in /public.
 *
 * The Next app gets its fonts through @fontsource imports in app/layout.tsx.
 * These six pages are plain static files served straight off the origin — no
 * bundler, no imports — so they need a stylesheet they can <link> to. Same OFL
 * faces, same canonical family names, served from our own domain.
 *
 * Replaces the fonts.googleapis.com stylesheet each of them used to load, which
 * sent the reader's IP address to Google before anything rendered. Two of these
 * pages (political-money, donor-analysis) are linked from the footer of every
 * page on the site, so this was not a dusty corner.
 *
 * Only the weights these pages actually ask for, unioned across all six:
 *   Playfair Display  400/600/700, roman and italic
 *   Inter             300/400/500/600/700
 *   IBM Plex Mono     400/500
 *
 * No unicode-range, matching @fontsource's own subset stylesheets: these are
 * already latin-only files, and letting the browser fall back per glyph via the
 * font's cmap is the same behaviour with one less thing to get wrong.
 * font-display: swap matches the `&display=swap` on the old Google query string.
 *
 * Caching: Vercel serves /public with `max-age=0, must-revalidate`, which would
 * make every repeat visit re-check thirteen font files — worse than what Google
 * was doing, which was `immutable` for a year. vercel.json sets a one-year
 * immutable Cache-Control on /fonts/(.*) to match. That is safe because these
 * filenames are a fixed (family, weight, style): the bytes behind a given name
 * never change. If a font is ever revved, change the filename, not the header.
 */

/* ---- Playfair Display ============================================= */

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./playfair-display-latin-400-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('./playfair-display-latin-400-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./playfair-display-latin-600-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('./playfair-display-latin-600-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./playfair-display-latin-700-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('./playfair-display-latin-700-italic.woff2') format('woff2');
}

/* ---- Inter ======================================================== */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('./inter-latin-300-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./inter-latin-400-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./inter-latin-500-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./inter-latin-600-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./inter-latin-700-normal.woff2') format('woff2');
}

/* ---- IBM Plex Mono ================================================ */

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./ibm-plex-mono-latin-400-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./ibm-plex-mono-latin-500-normal.woff2') format('woff2');
}
