/* =============================================================
   ALAQAAR — SELF-HOSTED FONTS
   Self-hosted (wwwroot/fonts/) rather than linked from
   fonts.googleapis.com so the site's strict CSP (Program.cs:
   style-src/font-src 'self') needs no third-party exception, and
   pages load one origin fewer.

   Two type systems, chosen per script rather than forced into one:
   - Arabic (the site's primary, default language) uses Cairo — a
     modern geometric sans with full Arabic + Latin coverage and a
     bold, confident weight that was already this brand's voice.
     Oswald/Didact Gothic below have NO Arabic glyphs at all, so
     using them for Arabic text isn't a design choice, it's a bug
     (silent fallback to whatever generic sans-serif the OS has).
   - English (dir="ltr") switches to Oswald (headings) + Didact
     Gothic (body) — the same fine-boned, high-contrast luxury pairing
     referenced from flair-egypt.com's own type system, appropriate
     since English visitors are exactly the audience that reference
     mirrors. See the [dir="ltr"] overrides at the bottom of site.css.

   Cairo and Oswald below are variable fonts (one file covers their
   whole weight range via `font-weight: 400 800` / `400 700`), so a
   single @font-face per script/weight-range is all that's needed —
   no separate file per weight.
   ============================================================= */

@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/cairo-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFC, U+200C-200E;
}
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/cairo-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}

/* IBM Plex Sans Arabic (weights 400/700) — replaces Cairo as the site's
   default Arabic typeface (2026-09-21 refinement pass), a cleaner
   contemporary Naskh-style sans per the client's reference. Cairo's
   @font-face above is left in place (unused for now) in case a future
   accent needs it again, same convention as Marcellus below. */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ibmplexsansarabic-400-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFC, U+200C-200E;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ibmplexsansarabic-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/ibmplexsansarabic-700-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFC, U+200C-200E;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/ibmplexsansarabic-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  /* Widened from 400-700: the sidebar nav (site.css) now asks for weight
     300 to match flair-egypt.com's own nav (verified to be real Oswald
     300 via that site's own computed styles) — this variable font file
     does carry that weight, so a range that stopped at 400 was clamping
     it up to 400 unnecessarily. */
  font-weight: 200 700;
  font-display: swap;
  src: url('/fonts/oswald-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}

@font-face {
  font-family: 'Didact Gothic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/didactgothic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}

/* Josefin Sans (weight 300 — sidebar/nav links) and 700 (section titles,
   after the 2026-09-23 eyebrow-removal pass made titles the sole heading
   cue and they needed the heaviest weight this typeface offers) —
   self-hosted from the same Google Fonts release as the others above, for
   the same CSP reason. Latin-only (no Arabic glyphs), so it's scoped to
   .sidebar-nav a/.section-title under [dir="ltr"] only in site.css;
   Arabic keeps IBM Plex Sans Arabic. */
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/fonts/josefinsans-300-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/josefinsans-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}

/* Jost (weight 300) — the Hero's rotating slide caption (English only,
   see [dir="ltr"] .hero__caption in sections.css), same self-hosting
   rationale as the fonts above. Latin-only, so Arabic keeps Cairo for
   the caption at its normal weight. */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/fonts/jost-300-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}
/* Jost 700 (added 2026-09-29) — the bold English hero word, so its gold
   gradient and glow have enough stroke to show. Same source/licence (OFL)
   and Latin subset as the 300 file above. */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/jost-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}

/* Marcellus (weight 400) — no longer used for the brand name (since
   2026-09-20), left self-hosted in case a
   future serif accent needs it again. */
@font-face {
  font-family: 'Marcellus';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/marcellus-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122;
}

