/*
 * Inter, self-hosted. Previously pulled from fonts.googleapis.com, which cost a render-blocking
 * stylesheet on one cross-origin host plus the font binaries on a second (fonts.gstatic.com) -
 * two DNS+TCP+TLS handshakes on the critical path before first paint. The marketing homepage's
 * LCP element is a TEXT block, not an image, so that chain was the LCP.
 *
 * Latin + latin-ext only: the marketing site is English-only, and the other five subsets Google
 * serves (cyrillic, greek, vietnamese...) are never selected by unicode-range for our content.
 * The unicode-range values below are Google's own, so the browser still downloads only the
 * subset a page actually needs - latin alone for virtually every visitor.
 *
 * ONE FILE PER SUBSET, NOT ONE PER WEIGHT. What Google serves for a multi-weight Inter request is
 * a single VARIABLE font (fvar/HVAR/avar/STAT) repeated under five URLs - the five files we used
 * to ship were byte-identical. The browser cannot know that: each URL is its own resource, so a
 * page using 400/500/600/700 fetched the same 48KB four times, and only the preloaded 400 arrived
 * before first paint. The rest landed after, and every 500/600/700 run of text reflowed on arrival
 * - which is what put a 0.082 layout shift on the nav (weight 500 links, 600 when active).
 *
 * Declaring the wght AXIS RANGE instead of a pinned weight also makes the in-between weights real:
 * marketing.css asks for 550 and 650 in a few places, and against pinned faces those silently
 * snapped to the nearest declared file.
 *
 * font-display: swap is preserved: text paints immediately in the fallback and swaps when Inter
 * arrives, so a slow font can never blank the page. With one preloaded file covering every weight,
 * that swap now happens once, before first paint, instead of trickling in per weight.
 */

/*
 * Metric-matched fallback. `font-display: swap` means SOMETHING paints before Inter arrives, and with
 * a plain system fallback that first paint has different advance widths - so when Inter lands, every
 * line re-measures and the layout jumps. On /templates that was the entire desktop CLS (0.084), almost
 * all of it the nav re-flowing under `ms-auto`.
 *
 * This face is Arial, rescaled to Inter's proportions, so the pre-swap paint occupies the same space:
 *   size-adjust      106.64% - measured Inter/Arial advance ratio at weight 400, on THIS subset
 *   ascent-override   90.84% - Inter hhea ascender 2728 / upem 2816, divided by size-adjust
 *   descent-override  22.64% - Inter hhea descender  680 / upem 2816, divided by size-adjust
 * (the division is required: size-adjust rescales the overrides too, so they are specified pre-scale).
 *
 * Measured under real throttling: 0.0838 -> 0.0000, with Inter still painting. Where Arial is absent
 * the src fails and the stack simply falls through to the next system font, exactly as before.
 */
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial");
  size-adjust: 106.64%;
  ascent-override: 90.84%;
  descent-override: 22.64%;
  line-gap-override: 0%;
}

/* latin-ext */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  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;
}

/* latin */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  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;
}
