/*
 * Self-hosted Inter and Poppins (LV-1675). These replace the Google Fonts <link> that web/index.html
 * used to load, which the nightly DAST scan flagged three ways: no Subresource Integrity on the
 * stylesheet (90003) and a permissive CORS header on each of Google's two font hosts (10098). SRI
 * could not fix the first, because Google serves a DIFFERENT stylesheet per browser (measured
 * 2026-09-23: Chrome, Firefox, IE11 and curl user agents got four different bodies), so no single
 * integrity hash can match. Serving the files ourselves also lets the CSP say font-src 'self'.
 *
 * The same weights the Google URL asked for: Inter 400-700, Poppins 500/600/700, display=swap.
 *
 * Provenance, both SIL Open Font License 1.1 (licence text next to each font; neither declares a
 * Reserved Font Name, so a subset may keep the family name):
 *   inter/InterVariable.woff2   rsms/inter release v4.1 (Inter-4.1.zip, web/InterVariable.woff2).
 *                               One variable file covers every weight.
 *   poppins/Poppins-*.woff2     google/fonts ofl/poppins at 8b0a1d0f5983c89bc2b93f1b5fb55f9e252744b5
 *                               (Poppins 4.004, upstream itfoundry/Poppins), Medium/SemiBold/Bold TTFs.
 *
 * SUBSET TO LATIN, BECAUSE THE WHOLE FILES DID NOT FIT THE BUNDLE CEILING. tools/ci/check-bundle-size.mjs
 * sums all of dist/, public/ included, and the full files (516 KB, Poppins carrying Devanagari) put dist/
 * ~212 KB over webBundleCeilingBytes. Subset with fontTools 4.60.1 `pyftsubset`, all layout features kept
 * (tabular figures matter here: components.css uses font-variant-numeric: tabular-nums throughout), to:
 *   U+0000-017F (Basic Latin, Latin-1, Latin Extended-A - so £, é, ł, ő), U+0218-021B (Romanian
 *   comma-below), U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0394, U+03A3 (the UI
 *   renders a Delta and a Sigma), U+2000-206F (punctuation, dashes, quotes, ellipsis), U+20A0-20CF
 *   (currency, so €), U+2100-214F (letterlike), U+2190-21FF (arrows), U+2212, U+2215, U+221E, U+2248,
 *   U+2260, U+2264-2265, U+26A0, U+FEFF, U+FFFD.
 * Measured against every non-ASCII character in web/src and in @aryza/engagement-components: the subset
 * lacks nothing the full files had except box-drawing/geometric glyphs neither font draws anyway. A
 * character outside it (a Cyrillic or Vietnamese customer name, say) falls back to the next family in the
 * stack rather than failing - Google's own stylesheet split the same families by unicode-range.
 *
 * Relative URLs on purpose, so this file does not care where it is mounted.
 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("inter/InterVariable.woff2") format("woff2");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("poppins/Poppins-Medium.woff2") format("woff2");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("poppins/Poppins-SemiBold.woff2") format("woff2");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("poppins/Poppins-Bold.woff2") format("woff2");
}
