/* BasinMind web fonts, self-hosted (SIL OFL 1.1 — see OFL.txt).
   Served from our own origin so the hero no longer waits on two extra
   connections (fonts.googleapis.com for this CSS, then fonts.gstatic.com for
   the files) before it can paint. Files are Google Fonts' own woff2 builds,
   latin + latin-ext only; unicode-range means latin-ext is fetched only by a
   page that actually uses one of its characters.

   Inter Tight and JetBrains Mono are variable fonts — one file covers every
   weight we use (Inter Tight 400/500/600, JetBrains Mono 400/500).

   font-display: swap everywhere, with metric-matched fallbacks below.
   Instrument Serif is the Home hero (the LCP element). `optional` would avoid
   any swap, but on a slow first visit the 100 ms block period is shorter than
   the font download, so first-time visitors would see Georgia for the whole
   visit — the opposite of what the hero is for. Instead the hero paints at
   once in a fallback that is size-adjusted to Instrument Serif's advance
   width and vertical metrics, so when the real face swaps in the lines break
   at (nearly) the same places and nothing below moves. Home preloads the
   hero face and the body face, so on most connections the swap happens
   before first paint anyway. */

/* ── Instrument Serif 400 (roman + italic) ──────────────────────────────── */
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;
  src:url(instrument-serif-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:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;
  src:url(instrument-serif-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:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;
  src:url(instrument-serif-italic-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:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;
  src:url(instrument-serif-italic-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}

/* ── Inter Tight 400–600 (variable) ─────────────────────────────────────── */
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(inter-tight-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:"Inter Tight";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(inter-tight-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}

/* ── JetBrains Mono 400–500 (variable) ──────────────────────────────────── */
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400 500;font-display:swap;
  src:url(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}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400 500;font-display:swap;
  src:url(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}

/* ── Metric-matched fallbacks ───────────────────────────────────────────────
   Used only until the real face arrives (they sit second in --serif/--font).
   size-adjust = real face's advance width / fallback's, measured on a mixed
   English/Spanish sentence; the overrides are the real face's ascent and
   descent divided by size-adjust, so line boxes keep the same height.
   Georgia (Apple, Windows) and Arial; Noto Serif / Roboto stand in on
   Android, close enough that the residual shift stays well under 0.01.
   JetBrains Mono needs none: Menlo/Courier New advance within 0.5%. */
@font-face{font-family:"Instrument Serif Fallback";font-style:normal;
  src:local("Georgia"),local("Noto Serif"),local("Times New Roman");
  size-adjust:75.4%;ascent-override:131%;descent-override:41%;line-gap-override:0%}
@font-face{font-family:"Instrument Serif Fallback";font-style:italic;
  src:local("Georgia Italic"),local("Georgia-Italic"),local("Noto Serif Italic"),local("Times New Roman Italic");
  size-adjust:75.4%;ascent-override:131%;descent-override:41%;line-gap-override:0%}
@font-face{font-family:"Inter Tight Fallback";
  src:local("Arial"),local("Roboto"),local("Helvetica");
  size-adjust:95.25%;ascent-override:101.8%;descent-override:25.4%;line-gap-override:0%}
