/* Self-hosted webfonts.
 *
 * Every page used to pull these from Google's font CDN, which handed Google
 * the visitor's IP, User-Agent and the exact URL they were reading —
 * including /account, /checkout/success, and the privacy policy that names the
 * subprocessors. Google was not one of them, and the fix that costs nothing is
 * not to disclose the visit at all. Serving the files from our own origin also
 * means the "no analytics, no cookie banner" claim survives inspection rather
 * than depending on a third party's behaviour.
 *
 * There is deliberately no reference to that CDN left anywhere in this repo,
 * comments included: a grep for its hostnames is the check that this stayed
 * true, and a grep that matches a comment is a check that stopped working.
 *
 * Licensing: both families are SIL Open Font License 1.1 — Inter (Rasmus
 * Andersson) and JetBrains Mono (JetBrains s.r.o.). The OFL expressly permits
 * redistribution and bundling, including on a website, with the sole
 * conditions that the files are not sold on their own and that a modified font
 * is not distributed under the reserved name. Neither applies here: these are
 * the unmodified upstream binaries, redistributed as part of the site.
 *
 * Subsets: latin and latin-ext only. The site is English and the upstream
 * cyrillic/greek/vietnamese cuts would triple the bytes for glyphs no page
 * uses. These are the variable-font cuts, so one file per subset covers the
 * whole declared weight range instead of one file per weight.
 *
 * Lives in `public/` rather than in `src/styles/site.css` on purpose: site.css
 * arrives through the JS bundle, so an @font-face there would not start
 * fetching until the module graph had loaded. A plain <link> in the document
 * head starts the font request during HTML parse, which is what the Google
 * <link> it replaces was doing.
 *
 * To refresh: request the families below from the Google Fonts CSS v2 API
 * (`family=Inter:wght@400;450;500;600`, `family=JetBrains+Mono:wght@400;500;700`,
 * `display=swap`) with a current browser User-Agent, take the `latin` and
 * `latin-ext` sources, and update the unicode-range values from the same
 * response. Fetch it by hand; do not add it back to a page.
 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/fonts/inter-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 600;
  font-display: swap;
  src: url("/fonts/inter-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: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-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: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-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;
}
