/* Inter and Space Grotesk, from our own domain: no third party sees who
   opens a page. Variable fonts, one file per subset; licences beside them
   (fonts/OFL-*.txt). */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/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: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/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: 'Space Grotesk'; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/assets/fonts/space-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: 'Space Grotesk'; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/assets/fonts/space-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; }

/* Until the fonts arrive, text is drawn in Arial (Roboto on Android) scaled
   to the width the real font will take, so lines break in the same places
   and nothing moves when it swaps. The sizes are measured: the same text's
   width in each font, at each weight. The overrides give each line the real
   font's height (Inter 0.969 above and 0.241 below, Space Grotesk 0.984 and
   0.292, no line gap where Arial has one), divided by the size, which scales
   them too. A face whose local font is missing is skipped, so Arial and
   Roboto each need a family of their own. */
@font-face { font-family: 'Inter Fallback'; font-weight: 400 500; src: local('Arial'), local('ArialMT'); size-adjust: 106.9%; ascent-override: 90.62%; descent-override: 22.56%; line-gap-override: 0%; }
@font-face { font-family: 'Inter Fallback'; font-weight: 600 700; src: local('Arial Bold'), local('Arial-BoldMT'); size-adjust: 101%; ascent-override: 95.92%; descent-override: 23.88%; line-gap-override: 0%; }
@font-face { font-family: 'Inter Fallback Roboto'; font-weight: 400 500; src: local('Roboto'), local('Roboto-Regular'); size-adjust: 107.3%; ascent-override: 90.28%; descent-override: 22.48%; line-gap-override: 0%; }
@font-face { font-family: 'Inter Fallback Roboto'; font-weight: 600 700; src: local('Roboto Bold'), local('Roboto-Bold'); size-adjust: 109.4%; ascent-override: 88.55%; descent-override: 22.05%; line-gap-override: 0%; }
@font-face { font-family: 'Space Grotesk Fallback'; font-weight: 500 700; src: local('Arial Bold'), local('Arial-BoldMT'); size-adjust: 101.2%; ascent-override: 97.23%; descent-override: 28.85%; line-gap-override: 0%; }
@font-face { font-family: 'Space Grotesk Fallback Roboto'; font-weight: 500 700; src: local('Roboto Bold'), local('Roboto-Bold'); size-adjust: 109.6%; ascent-override: 89.78%; descent-override: 26.64%; line-gap-override: 0%; }
