/* =============== Noto Sans Devanagari — self-hosted ===============
   Served from this site, NOT from fonts.googleapis.com.

   Why it is not a CDN link any more: the दाखला is a fixed-size legal sheet
   whose layout is measured in JavaScript (the field fitter in certificate.php
   shrinks a value until it fits its column). Those measurements depend on the
   exact font. When Google's CDN was slow or unreachable — a real possibility
   on a rural school connection — `display: swap` silently fell back to
   Nirmala UI or Kohinoor, the measured widths changed, and the same
   certificate printed differently on different machines with nothing visibly
   wrong. Self-hosting removes that failure mode entirely: every machine
   renders and prints the identical sheet, online or not.

   It also matches the project's zero-external-dependency rule (a font file in
   assets/ is an asset, not a dependency) and takes a third-party request off
   every page of a government site.

   Subsets: devanagari (U+0900–097F and friends) and latin (e-mail addresses,
   "PEN", ASCII digits). Weights 400/600/700 — the three the CSS actually asks
   for. Do not add a weight here without something using it.

   font-display: swap is kept deliberately. The files are same-origin and
   cached after the first page, so the swap window is a few milliseconds; on a
   cold load, readable text in a fallback beats invisible text. The certificate
   re-measures on document.fonts.ready, so a swap cannot leave the sheet
   mis-sized.

   To update: re-run scratchpad/fetch_fonts.php against a fresh Google Fonts
   CSS. Nothing here is hand-written. */

@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/noto-sans-devanagari-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/noto-sans-devanagari-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 Sans Devanagari';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/noto-sans-devanagari-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/noto-sans-devanagari-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 Sans Devanagari';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/noto-sans-devanagari-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

@font-face {
  font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/noto-sans-devanagari-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;
}
