/* 1Cortex local Hanken Grotesk font (woff2, latin + latin-ext subsets).
 * Downloaded from fonts.gstatic.com (Hanken Grotesk v12, SIL OFL 1.1) and
 * hosted locally — no external CDN references at runtime.
 * Variable font: the wght axis (100-900) serves the weight range declared
 * below; the files are the latin / latin-ext slices of the variable face.
 *
 * Hanken Grotesk is the 1Cortex body/UI family (TASK-222): a polished,
 * neutral modern grotesk with strong legibility at UI sizes that lets the
 * Space Grotesk display face carry the brand personality.
 *
 * font-display strategy (design-1cortex-fonts, TASK-222):
 * - `swap` on both subsets: the browser paints with the fallback stack
 *   immediately and swaps in the webfont when it arrives, so text is never
 *   invisible even if a subset misses the first paint. The latin + latin-ext
 *   files are preloaded from the layout `<head>` to keep the swap window
 *   near-instant, and `/fonts/*` is served with immutable cache headers so
 *   repeat visits hit the local cache.
 */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/hanken-grotesk/hanken-grotesk-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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/hanken-grotesk/hanken-grotesk-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;
}
