/* fonts.css — self-hosted faces only (no external URLs). Load before theme.css. */
@font-face {
  font-family: "Clinic Grotesk";
  src: url("fonts/grotesk.woff2") format("woff2-variations"), url("fonts/grotesk.woff2") format("woff2");
  font-weight: 300 700; font-style: normal; font-display: swap;
}
/* r32 nastaliq faces (tools/subset_nastaliq.py) */
/* Subset of nastaliq.woff2 (the site's Urdu text + the full Urdu letter set; variable wght kept). */
@font-face {
  font-family: "Clinic Nastaliq";
  src: url("fonts/nastaliq-sub-a959c9e3.woff2") format("woff2-variations"), url("fonts/nastaliq-sub-a959c9e3.woff2") format("woff2");
  font-weight: 400 700; font-style: normal; font-display: swap;
  unicode-range: U+0600, U+060C, U+061B, U+061F, U+0621-063A, U+0641-064B, U+064E-0652, U+0654, U+0660, U+0669-066A, U+0670, U+0679, U+067E, U+0686, U+0688, U+0691, U+0698, U+06A9, U+06AF, U+06BA-06BB, U+06BE, U+06C0-06C3, U+06CC, U+06D2-06D4, U+06F0-06F9, U+06FF, U+200C-200F, U+FDFA;
}
/* Fallback: the full face, fetched only by a page that uses a code point the subset lacks. */
@font-face {
  font-family: "Clinic Nastaliq";
  src: url("fonts/nastaliq.woff2") format("woff2-variations"), url("fonts/nastaliq.woff2") format("woff2");
  font-weight: 400 700; font-style: normal; font-display: swap;
  unicode-range: U+0601-060B, U+060D-061A, U+061C-061E, U+0620, U+063B-0640, U+064C-064D, U+0653, U+0655-065F, U+0661-0668, U+066B-066F, U+0671-0678, U+067A-067D, U+067F-0685, U+0687, U+0689-0690, U+0692-0697, U+0699-06A8, U+06AA-06AE, U+06B0-06B9, U+06BC-06BD, U+06BF, U+06C4-06CB, U+06CD-06D1, U+06D5-06EF, U+06FA-06FE, U+0750-077F, U+08A0-08FF, U+FB50-FDF9, U+FDFB-FDFF, U+FE70-FEFF;
}
/* end r32 nastaliq faces */
/* r35 (RFC 028 item 11): weight-matched local Urdu fallback. Until Clinic Nastaliq (variable, wght 400-700) loads,
   Urdu is laid out in the system Noto Nastaliq Urdu (macOS/iOS), which has only Regular and Bold. At 400 and 700 the
   two advance the same; at 500 (.btn, nav) the web face is 3.45% wider than Regular and at 600 2.3% narrower than
   Bold, so the CTA row and the schedule line re-wrapped at swap (font-swap CLS 0.0176 on
   /ur/doctors/dr-syed-nouman-shah/). Medians over every /ur/ element, measured on the real pages:
   node tools/nastaliq_fallback_metrics.mjs. Four faces cover every weight (a family's faces are matched by nearest
   weight, so 400/700 need their own 100% faces). Overrides keep the 1904/596 hhea box after the scale. The
   unicode-range is the Arabic blocks only: spaces and digits still come from the plain local face in both states
   (theme.css: Urdu `ch` and numerals unchanged). local() only: nothing is downloaded; absent (Android), it is skipped. */
@font-face {
  font-family: "Clinic Nastaliq Fallback";
  src: local("Noto Nastaliq Urdu"), local("NotoNastaliqUrdu");
  font-weight: 1 449; font-style: normal;
  size-adjust: 100.00%; ascent-override: 190.40%; descent-override: 59.60%; line-gap-override: 0.00%;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "Clinic Nastaliq Fallback";
  src: local("Noto Nastaliq Urdu"), local("NotoNastaliqUrdu");
  font-weight: 450 549; font-style: normal;
  size-adjust: 103.45%; ascent-override: 184.05%; descent-override: 57.61%; line-gap-override: 0.00%;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "Clinic Nastaliq Fallback";
  src: local("Noto Nastaliq Urdu Bold"), local("NotoNastaliqUrdu-Bold");
  font-weight: 550 649; font-style: normal;
  size-adjust: 97.68%; ascent-override: 194.92%; descent-override: 61.02%; line-gap-override: 0.00%;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "Clinic Nastaliq Fallback";
  src: local("Noto Nastaliq Urdu Bold"), local("NotoNastaliqUrdu-Bold");
  font-weight: 650 1000; font-style: normal;
  size-adjust: 100.00%; ascent-override: 190.40%; descent-override: 59.60%; line-gap-override: 0.00%;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "Clinic Serif";
  src: url("fonts/serif-italic.woff2") format("woff2");
  font-weight: 400; font-style: italic; font-display: swap;
}
/* Metric-matched local fallbacks (no download): while the faces above load, text is laid out in these at the
   same advance width, so swap does not re-wrap lines (CLS 0.39 on /en/contact/ at 1024px before, see
   docs/research/cls-contact-2026-10-18.md). Numbers from: python3 tools/font_fallback_metrics.py */
@font-face {
  font-family: "Clinic Serif Fallback";
  src: local("Georgia Italic"), local("Georgia-Italic");
  font-weight: 400; font-style: italic;
  size-adjust: 79.40%; ascent-override: 124.68%; descent-override: 39.04%; line-gap-override: 0.00%;
}
@font-face {
  font-family: "Clinic Grotesk Fallback";
  src: local("Trebuchet MS"), local("TrebuchetMS");
  font-weight: 300 549; font-style: normal;
  size-adjust: 106.97%; ascent-override: 91.98%; descent-override: 27.30%; line-gap-override: 0.00%;
}
@font-face {
  font-family: "Clinic Grotesk Fallback";
  src: local("Trebuchet MS Bold"), local("TrebuchetMS-Bold");
  font-weight: 550 700; font-style: normal;
  size-adjust: 102.83%; ascent-override: 95.69%; descent-override: 28.40%; line-gap-override: 0.00%;
}
