/* Self-hosted fonts for the landing page and 404. No third-party font requests.
   The Latin faces are the app's own (ios/Qissa/Resources/Fonts, QFont in
   ios/Qissa/Design/Tokens/Tokens.swift): Alegreya Sans for body and labels,
   Fraunces 9pt Soft for display. Founder, 2026-10-23: the site's Inter read
   like a default Word document and did not match the app.
   Each file is the app's static TTF subset to the Latin range, unhinted,
   saved as WOFF2 (README.md has the command). Weight ranges mirror the
   app's mapping so the browser never synthesises bold: Alegreya Sans Medium
   answers 500 to 700 (QFont maps .semibold to Medium), Fraunces Regular
   answers 400 and 500. No Alegreya Sans italic on purpose: every byte of
   font requested before first paint counts in Lighthouse, and the one
   italic UI run (the pillar transliterations) is set in Fraunces italic,
   which the headline already loads.
   Noto Nastaliq Urdu stays for every Urdu run. Provenance and licences:
   README.md. The legal pages load fonts-legal.css, a narrower set. */

/* Alegreya Sans: body and UI */
@font-face {
  font-family: "Alegreya Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(alegreya-sans-400-latin.woff2) format("woff2");
}
@font-face {
  font-family: "Alegreya Sans";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(alegreya-sans-500-latin.woff2) format("woff2");
}

/* Fraunces 9pt Soft: display. One family name, three static cuts. */
@font-face {
  font-family: "Fraunces 9pt Soft";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(fraunces-9pt-soft-400-latin.woff2) format("woff2");
}
@font-face {
  font-family: "Fraunces 9pt Soft";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url(fraunces-9pt-soft-600-latin.woff2) format("woff2");
}
@font-face {
  font-family: "Fraunces 9pt Soft";
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(fraunces-9pt-soft-400italic-latin.woff2) format("woff2");
}

/* Noto Nastaliq Urdu: arabic. Two discrete weights over one variable file,
   exactly as requested before. */
@font-face {
  font-family: "Noto Nastaliq Urdu";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(noto-nastaliq-urdu-arabic.woff2) format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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;
}
@font-face {
  font-family: "Noto Nastaliq Urdu";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(noto-nastaliq-urdu-arabic.woff2) format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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;
}

/* Noto Nastaliq Urdu: latin. Kept on purpose although every Urdu run here is
   Arabic script. With only the arabic face declared, Chrome laid the Urdu
   lines out with different metrics: the hero wordmark sat about 20px higher
   and touched the Latin wordmark above it (headless capture, 2026-10-12).
   Declaring this face, which covers the space character, restores the old
   layout. Do not remove it without re-shooting the hero. */
@font-face {
  font-family: "Noto Nastaliq Urdu";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(noto-nastaliq-urdu-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: "Noto Nastaliq Urdu";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(noto-nastaliq-urdu-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;
}
