/* Alexandria and Readex Pro, self-hosted. Brand kit v2, task 2.
 *
 * Replaces Geologica, which had no Arabic coverage at all -- see the note that
 * used to sit in style.css about Arabic falling through to a system font.
 *
 * Self-hosted rather than loaded from fonts.googleapis.com, which the brief
 * offers as the alternative. Three reasons:
 *   - the site already self-hosts (this file replaces geologica.css, which was
 *     moved off Google for exactly this reason: two render-blocking
 *     third-party origins on the critical path before any text can paint);
 *   - Google Fonts would mean adding style-src and font-src origins to the CSP
 *     in core.middleware.SecurityHeadersMiddleware, which is being tightened,
 *     not loosened (BACKLOG.md 22);
 *   - the brief's definition of done says performance must not get worse.
 *
 * Built from brand-kit/fonts/*.ttf with fonttools, split on the same
 * unicode-range boundaries Google serves. fonttools and brotli are build-time
 * only and are deliberately NOT in requirements/: nothing at runtime imports
 * them. Regenerate in a throwaway container; commit the .woff2 output.
 *
 * Alexandria-Regular.ttf is supplied in the kit but not built: the brief asks
 * for Alexandria 500 and 600 only.
 *
 * Splitting on unicode-range is what keeps an English page from downloading
 * Arabic glyphs -- the browser fetches a subset only when a character in its
 * range is actually used. /en/ pulls the five latin files and nothing else.
 *
 * font-display: swap, as before: text paints immediately in the fallback and
 * reflows when the webfont arrives, rather than being invisible. The fallback
 * stack in tokens.css is Segoe UI / Tahoma / system-ui, all of which carry
 * Arabic, so an Arabic page is readable before the webfont lands.
 */

@font-face {
  font-family: 'Alexandria';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("alexandria-500-latin.a78cb5cd716f.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: 'Alexandria';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("alexandria-500-latin-ext.16ad0f5fee84.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: 'Alexandria';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("alexandria-500-arabic.73a575c4802e.woff2") format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+FB50-FDFF, U+FE70-FEFF, U+102E0-102FB, U+10E60-10E7E, U+1EC71-1ECB4, U+1ED01-1ED3D, U+1EE00-1EEFF;
}

@font-face {
  font-family: 'Alexandria';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("alexandria-600-latin.50c5218a64dd.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: 'Alexandria';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("alexandria-600-latin-ext.6ebf721576e8.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: 'Alexandria';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("alexandria-600-arabic.8a193060cf0c.woff2") format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+FB50-FDFF, U+FE70-FEFF, U+102E0-102FB, U+10E60-10E7E, U+1EC71-1ECB4, U+1ED01-1ED3D, U+1EE00-1EEFF;
}

@font-face {
  font-family: 'Readex Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("readexpro-400-latin.f375c07388d2.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: 'Readex Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("readexpro-400-latin-ext.4de62e44c984.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: 'Readex Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("readexpro-400-arabic.c2817d075a9a.woff2") format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+FB50-FDFF, U+FE70-FEFF, U+102E0-102FB, U+10E60-10E7E, U+1EC71-1ECB4, U+1ED01-1ED3D, U+1EE00-1EEFF;
}

@font-face {
  font-family: 'Readex Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("readexpro-500-latin.c532d784faff.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: 'Readex Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("readexpro-500-latin-ext.04f235c1a417.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: 'Readex Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("readexpro-500-arabic.384f8484995b.woff2") format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+FB50-FDFF, U+FE70-FEFF, U+102E0-102FB, U+10E60-10E7E, U+1EC71-1ECB4, U+1ED01-1ED3D, U+1EE00-1EEFF;
}

@font-face {
  font-family: 'Readex Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("readexpro-600-latin.7d7d3e10fb63.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: 'Readex Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("readexpro-600-latin-ext.5ded541b2392.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: 'Readex Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("readexpro-600-arabic.f59906d8d0b0.woff2") format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+FB50-FDFF, U+FE70-FEFF, U+102E0-102FB, U+10E60-10E7E, U+1EC71-1ECB4, U+1ED01-1ED3D, U+1EE00-1EEFF;
}
