/* ============================================================
   PMB STAI Darul Ilmi Wadda'wah — Tipografi
   ============================================================

   SATU famili untuk seluruh situs: Google Sans. Judul, isi, label,
   angka statistik, tombol — semuanya. Yang membedakan peran hanya
   ukuran, bobot, dan tracking.

   Sebelumnya isi memakai Outfit dan judul memakai Cormorant Garamond
   (serif). Sekarang keduanya dihapus, mengikuti web kampus
   (stai.nurhamim.com) yang lebih dulu menyatu ke Google Sans.

   CATATAN BOBOT: Google Sans adalah variable font dengan sumbu berat
   400–700 saja — tidak ada 300/light. Deklarasi `font-weight:300`
   yang tersisa dari Outfit akan digambar pada 400. Itu disengaja dan
   tidak perlu diperbaiki satu per satu; selisihnya tidak terlihat
   pada teks kecil.

   CATATAN ARAB: Google Sans tidak punya glif Arab sama sekali. Situs
   PMB tidak menampilkan teks Arab, jadi tidak ada font Arab di sini.
   Kalau nanti ditambahkan, jangan andalkan Google Sans — muat Amiri
   seperti yang dilakukan web kampus.
   ============================================================ */

/* ── Cadangan yang metriknya dicocokkan ──────────────────────
   Webfont dimuat dengan font-display:swap, jadi teks pertama digambar
   dengan font sistem lalu digambar ULANG begitu Google Sans tiba.
   Karena kedua font punya lebar huruf dan tinggi baris berbeda,
   seluruh isi halaman bergeser pada saat pertukaran itu (CLS).

   Angka di bawah diukur langsung di browser pada proyek kampus, bukan
   dikira-kira (canvas TextMetrics dan lebar teks contoh pada 100px):

     lebar  Google Sans / Arial  = 99,11%
     ascent   96,6% vs 90,5%
     descent  28,6% vs 21,2%

   Dengan override ini font cadangan menempati ruang yang hampir sama
   persis, sehingga pertukaran font tidak lagi menggeser tata letak.
   Berkasnya nol byte: local() memakai font yang sudah ada di perangkat
   pengunjung — tidak ada unduhan tambahan.

   RUMUS: ascent-override dan descent-override dihitung SETELAH
   size-adjust diterapkan, jadi keduanya dibagi size-adjust dulu.
   Memasukkan angka ascent mentah membuat hasilnya meleset. */
@font-face {
  font-family: "Google Sans Fallback";
  src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Roboto");
  size-adjust: 99.11%;        /* lebar 99,11% dari Arial */
  ascent-override: 97.47%;    /* 96,6 / 0,9911 */
  descent-override: 28.86%;   /* 28,6 / 0,9911 */
  line-gap-override: 0%;
}

/* Varian miring dipakai untuk aksen judul (<em> pada hero dan
   section-title). Cadangannya perlu deklarasi sendiri, kalau tidak
   browser memiringkan cadangan tegak secara sintetis dengan metrik
   yang tidak dicocokkan. */
@font-face {
  font-family: "Google Sans Fallback";
  font-style: italic;
  src: local("Arial Italic"), local("Helvetica Oblique"), local("Liberation Sans Italic"), local("Roboto Italic");
  size-adjust: 99.11%;
  ascent-override: 97.47%;
  descent-override: 28.86%;
  line-gap-override: 0%;
}

/* Berkas ini sengaja HANYA berisi @font-face.

   Token --font-body / --font-display / --font tetap didefinisikan di
   blok <style> masing-masing view, seperti sebelumnya. Memindahkannya
   ke sini akan membuat urutan menang-kalah bergantung pada posisi
   <link> terhadap <style> inline — jebakan halus yang tidak sebanding
   dengan manfaatnya, karena nilai token hanya satu baris per view
   sedangkan definisi metrik di atas panjang dan benar-benar sama. */
