/*
 * Overpass, the app's UI typeface (docs/brand/BRAND.md).
 *
 * Self-hosted from @fontsource/overpass 5.3.0 (jimco/static/vendor/VENDORED.toml; SIL Open Font
 * License 1.1, vendor/overpass/5.3.0/OFL.txt). Served from 'self' only (CSP font-src 'self');
 * never link a font CDN. The public website's commercial Interstate font must not be copied.
 *
 * Kept: latin + latin-ext subsets of 400, 600, 700 and 400 italic, woff2 only (every browser the
 * app supports reads woff2). The unicode-range of each subset is the upstream one
 * (package/unicode.json), so a page in plain English downloads only the latin files it uses,
 * with ONE deliberate change: the latin faces leave out nine spacing characters that Overpass
 * maps to zero-width (combining) glyphs: U+0060 (grave), U+00A8 (diaeresis), U+00AF (macron),
 * U+00B4 (acute), U+00B7 (middle dot), U+00B8 (cedilla), U+02C6 (circumflex), U+02DA (ring
 * above) and U+02DC (small tilde). Drawn by Overpass, "Draft &middot; version" rendered as
 * "Draft &middot;version", a name typed with an acute accent as apostrophe overprinted the next
 * letter, and a ring typed as a degree sign overprinted the next digit. Left out of the range,
 * they come from the next font of --font-sans (system-ui ...) with a proper width
 * (docs/brand/BRAND.md; tests/unit/test_brand_assets.py checks the range). Recheck these
 * glyphs whenever the vendored version changes.
 * There is no 600/700 italic: the browser synthesises bold italic from 400 italic.
 *
 * Load this file before base.css:  <link rel="stylesheet" href="{% static 'css/fonts.css' %}">
 * and use the stack through the custom property:  font-family: var(--font-sans);
 *
 * Numbers: Overpass digits are proportional by default. Its GSUB has 'tnum' (and 'pnum'); with
 * tabular figures every digit is 0.616 em wide in all four styles, so a bold total lines up with
 * regular lines above it. Use font-variant-numeric: tabular-nums on numeric grid cells, totals
 * and any right-aligned money or quantity column.
 */

/* ---- latin ---- */
@font-face {
  font-family: "Overpass";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../vendor/overpass/5.3.0/overpass-latin-400-normal.0a42543972be.woff2") format("woff2");
  unicode-range: U+0000-005F, U+0061-00A7, U+00A9-00AE, U+00B0-00B3, U+00B5-00B6, U+00B9-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "Overpass";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../vendor/overpass/5.3.0/overpass-latin-600-normal.084bbf8c048a.woff2") format("woff2");
  unicode-range: U+0000-005F, U+0061-00A7, U+00A9-00AE, U+00B0-00B3, U+00B5-00B6, U+00B9-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "Overpass";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../vendor/overpass/5.3.0/overpass-latin-700-normal.8587eb4eb423.woff2") format("woff2");
  unicode-range: U+0000-005F, U+0061-00A7, U+00A9-00AE, U+00B0-00B3, U+00B5-00B6, U+00B9-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "Overpass";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../vendor/overpass/5.3.0/overpass-latin-400-italic.1e74e3da87d7.woff2") format("woff2");
  unicode-range: U+0000-005F, U+0061-00A7, U+00A9-00AE, U+00B0-00B3, U+00B5-00B6, U+00B9-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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;
}

/* ---- latin-ext ---- */
@font-face {
  font-family: "Overpass";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../vendor/overpass/5.3.0/overpass-latin-ext-400-normal.f99e7b869fe5.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: "Overpass";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../vendor/overpass/5.3.0/overpass-latin-ext-600-normal.c0c1d04d1d24.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: "Overpass";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../vendor/overpass/5.3.0/overpass-latin-ext-700-normal.09e3f2736c12.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: "Overpass";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../vendor/overpass/5.3.0/overpass-latin-ext-400-italic.4d88ca2947ce.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;
}

:root {
  --font-sans: "Overpass", system-ui, -apple-system, "Segoe UI", Roboto, "Liberation Sans", Arial, sans-serif;
}
