/* ============================================================
   SAA Digital Library — the self-hosted faces (WP28).

   These used to be 660 KB of base64 inside this file, pulled in by a
   trailing `@import url()` at the top of styles/globals.css. Next
   bundles its CSS by concatenating the imports, so that @import ended
   up AFTER real rules in the emitted stylesheet — and an @import that
   is not first is invalid, so every browser dropped it. The library
   had been rendering in fallback faces since the file was written.

   Now: one real .woff2 per face under /assets/fonts/, linked from the
   locale layout's <head>, with each face's `unicode-range` read from
   the font's OWN cmap. The Arabic faces are therefore gated behind
   Arabic codepoints and are never fetched on a Latin page.

   Generated — do not hand-edit. Filenames carry a content hash, so a
   replaced face cannot be served from a stale cache.
   ============================================================ */

/* Marcellus 400 latin — 14 KB */
@font-face {
  font-family: 'Marcellus';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/marcellus-400-latin.be9d4883.woff2') format('woff2');
  unicode-range: U+20-7E, U+A0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+2215;
}

/* Archivo 400 latin — 34 KB */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/archivo-400-latin.7150c0ec.woff2') format('woff2');
  unicode-range: U+D, U+20-7E, U+A0-FF, U+102, U+131, U+152-153, U+2BC, U+2C6, U+2DA, U+2DC, U+300-301, U+303-304, U+308-309, U+323, U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF;
}

/* Archivo 500 latin — 34 KB */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/archivo-500-latin.7150c0ec.woff2') format('woff2');
  unicode-range: U+D, U+20-7E, U+A0-FF, U+102, U+131, U+152-153, U+2BC, U+2C6, U+2DA, U+2DC, U+300-301, U+303-304, U+308-309, U+323, U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF;
}

/* Archivo 600 latin — 34 KB */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/archivo-600-latin.7150c0ec.woff2') format('woff2');
  unicode-range: U+D, U+20-7E, U+A0-FF, U+102, U+131, U+152-153, U+2BC, U+2C6, U+2DA, U+2DC, U+300-301, U+303-304, U+308-309, U+323, U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF;
}

/* IBM Plex Mono 400 latin — 10 KB */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-mono-400-latin.c36f509c.woff2') format('woff2');
  unicode-range: U+0, U+D, U+20-7E, U+A0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+300-301, U+303-304, U+308-309, U+323, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}

/* IBM Plex Mono 500 latin — 10 KB */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-mono-500-latin.a76f53ca.woff2') format('woff2');
  unicode-range: U+0, U+D, U+20-7E, U+A0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+300-301, U+303-304, U+308-309, U+323, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}

/* Amiri 400 arabic — 106 KB */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/amiri-400-arabic.4c2750cf.woff2') format('woff2');
  unicode-range: U+20-28, U+A0, U+600-6FF, U+750-77F, U+890-891, U+8A0, U+8AC, U+8B6-8BD, U+8D1, U+8E4-8FE, U+200C-2011, U+204F, U+2E41, U+FB50-FBC1, U+FBD3-FD3F, U+FD50-FDC7, U+FDF0-FDFD, U+FE70-FEFC, U+1EE00-1EEBB, U+1EEF0-1EEF1;
}

/* Amiri 400 latin — 19 KB */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/amiri-400-latin.06649aaf.woff2') format('woff2');
  unicode-range: U+20-7E, U+A0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+300-301, U+303-304, U+308, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2212, U+2215, U+FEFF;
}

/* Amiri 700 arabic — 98 KB */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/amiri-700-arabic.1313bcd0.woff2') format('woff2');
  unicode-range: U+20-21, U+28, U+A0, U+600-604, U+606-6FF, U+750-77F, U+890-891, U+8A0, U+8AC, U+8B6-8BD, U+8D1, U+8E4-8FE, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FBC1, U+FBD3-FD3F, U+FD50-FD8F, U+FD92-FDC7, U+FDF0-FDFD, U+FE70-FE72, U+FE74, U+FE76-FEFC;
}

/* Amiri 700 latin — 20 KB */
@font-face {
  font-family: 'Amiri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/amiri-700-latin.25feffc5.woff2') format('woff2');
  unicode-range: U+20-7E, U+A0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+300-301, U+303-304, U+308, U+323, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2212, U+2215, U+FEFF;
}

/* IBM Plex Sans Arabic 400 arabic — 33 KB */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-400-arabic.4ed189e8.woff2') format('woff2');
  unicode-range: U+0, U+D, U+20, U+A0, U+600-6FF, U+750-77F, U+8A0-8B3, U+8E4-8FE, U+2010, U+FB51-FBC1, U+FBD4-FBE9, U+FBFD-FC14, U+FC31-FC44, U+FC4F-FC96, U+FCCC, U+FCD9, U+FCF2-FD2C, U+FD3C-FD3F, U+FDF1-FDFD, U+FE70-FEFC;
}

/* IBM Plex Sans Arabic 500 arabic — 35 KB */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-500-arabic.bf2b68e7.woff2') format('woff2');
  unicode-range: U+0, U+D, U+20, U+A0, U+600-6FF, U+750-77F, U+8A0-8B3, U+8E4-8FE, U+2010, U+FB51-FBC1, U+FBD4-FBE9, U+FBFD-FC14, U+FC31-FC44, U+FC4F-FC96, U+FCCC, U+FCD9, U+FCF2-FD2C, U+FD3C-FD3F, U+FDF1-FDFD, U+FE70-FEFC;
}

/* IBM Plex Sans Arabic 600 arabic — 35 KB */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-600-arabic.0ccee444.woff2') format('woff2');
  unicode-range: U+0, U+D, U+20, U+A0, U+600-6FF, U+750-77F, U+8A0-8B3, U+8E4-8FE, U+2010, U+FB51-FBC1, U+FBD4-FBE9, U+FBFD-FC14, U+FC31-FC44, U+FC4F-FC96, U+FCCC, U+FCD9, U+FCF2-FD2C, U+FD3C-FD3F, U+FDF1-FDFD, U+FE70-FEFC;
}

/* ---- Homepage editor families (WP45) — generated by web/scripts/fonts-extra.mjs ---- */

/* Source Serif 4 400–600 latin — 50 KB */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/source-serif-4-400-600-latin.c1df4596.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;
}

/* Noto Naskh Arabic 400–700 arabic — 92 KB */
@font-face {
  font-family: 'Noto Naskh Arabic';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/noto-naskh-arabic-400-700-arabic.2a10d33e.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* Cairo 400–700 arabic — 30 KB */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/cairo-400-700-arabic.748022f5.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* Cairo 400–700 latin — 33 KB */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/cairo-400-700-latin.82c13cbd.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;
}

/* ---- end of the homepage editor families ---- */
