/* Vazirmatn, the one face this site actually uses.
 *
 * Three things were wrong here and each of them cost real seconds:
 *
 *   1. No `font-display`. The default is `auto`, which every browser treats as `block`:
 *      text is *invisible* until the font arrives. The font was taking 12 seconds, so the
 *      page was blank Persian for 12 seconds. `swap` shows the fallback immediately and
 *      repaints when the real face lands.
 *
 *   2. The fallback was `Courier, monospace`. For the seconds before the font arrives —
 *      and for anyone it never arrives for — Persian text rendered in a monospace face.
 *      The stack below is the system Persian/Arabic sans on each platform, which looks
 *      close enough that the swap is not a jolt.
 *
 *   3. `.eot` was listed first. EOT is Internet Explorer only, and IE is gone; modern
 *      browsers skipped it correctly but every byte of that chain was dead weight in the
 *      one file that blocks first paint. woff2 first, woff behind it, nothing else.
 *
 * Sahel was declared here too and nothing on the site ever asked for it, so the
 * declaration went with the rest. The files stay on disk.
 */
@font-face {
    font-family: vazirmatn;
    src: url('font/Vazir-Regular.woff2') format('woff2'),
         url('font/Vazir-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* The weight the whole site was already asking for and never had.
 *
 * Only 400 was declared, while every heading on every page sets 700 or 800 — so the browser
 * was synthesising bold by smearing the Regular outlines outward. On Latin text that looks
 * merely cheap; on Persian it thickens the joins between letters until the counters close
 * up, which is why headings read as muddy rather than strong. Vazir-Black has been sitting
 * in css/font/ unused the whole time.
 *
 * Declared across 700-900 so both weights the site uses land on the real face rather than
 * falling back to a synthesised one. It costs a second font request on first paint, which is
 * the thing this file was rewritten to be careful about — but it is `swap` like its
 * neighbour, so nothing is ever invisible waiting for it, and headings are the text most
 * damaged by a fake.
 */
@font-face {
    font-family: vazirmatn;
    src: url('font/Vazir-Black.woff2') format('woff2'),
         url('font/Vazir-Black.woff') format('woff');
    font-weight: 700 900;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: vazirmatn, 'Segoe UI', Tahoma, 'Iranian Sans', 'Noto Naskh Arabic', sans-serif;
}
