﻿/* ============================================================
   FONTS — LastRitesFilm
   Khai @font-face cho 4 họ font tự chứa (C-23: KHÔNG nạp Google Fonts CDN).

   Tách riêng khỏi tokens.css có chủ đích: tokens.css là bản chép NGUYÊN VĂN
   từ specs/teamplate/assets/tokens.css (C-15 — "SA không thay giá trị nào"),
   nội dung ký tự trùng khít với nguồn — mọi GIÁ TRỊ token bit-đối-bit, chỉ
   lệch đúng 1 dòng chú thích (dòng 4, bỏ tên thương hiệu mượn theo C-12).
   Thêm @font-face vào đó sẽ phá mất tính chất kiểm chứng được ấy.

   ⚠️ ĐIỀU KIỆN TIÊN QUYẾT (ADR-017): /fonts/*.woff2 chỉ phục vụ được khi
   lastritesfilm/Web.config dòng 109 có |\.woff2 trong danh sách phần mở rộng.
   Web.config BỊ GITIGNORE ⇒ phải áp tay trên mọi môi trường.
   Kiểm 1 bước:  curl -I https://<host>/fonts/BeVietnamPro-Regular.woff2
   Content-Type là font ⇒ đúng. Là text/html ⇒ CHƯA áp — lỗi định tuyến,
   KHÔNG phải lỗi dải ký tự, đừng đi sửa nhầm chỗ.

   ── Vì sao KHÔNG khai unicode-range ─────────────────────────
   Montserrat hiện tại hỏng CHÍNH VÌ unicode-range không phủ U+1EA0-1EF9
   (DESIGN_SYSTEM A3) — chữ tiếng Việt rơi về font hệ thống, hỏng IM LẶNG.
   Không khai unicode-range ⇒ trình duyệt dùng font cho mọi ký tự nó có
   ⇒ loại bỏ hẳn chế độ hỏng đó. Trình duyệt vẫn chỉ tải họ font mà trang
   thật sự dùng, nên phần tiết kiệm bị mất là không đáng kể.

   ── Quy tắc chọn font-display ───────────────────────────────
   swap     : mọi font CÓ THỂ hiển thị chữ tiếng Việt.
              optional cho phép trình duyệt BỎ HẲN việc dùng font khi mạng
              chậm — mà font dự phòng của hệ thống lại thiếu dải tiếng Việt,
              nên đúng lúc đó chữ có dấu sẽ vỡ. Tức là optional có thể tái tạo
              lại chính triệu chứng C-23 sinh ra để chữa. Không đánh đổi.
   optional : chỉ EB Garamond — font display của Archive, A-010 xác định
              Archive là tiếng Anh nên không có rủi ro vỡ dấu. Đổi lại được
              zero layout shift (CLS) cho phần chữ lớn.
   ============================================================ */

/* ---------- Be Vietnam Pro · Brand B (ReviewFilm, TIẾNG VIỆT) ----------
   review.css dùng đủ 6 weight 300-800. Không dùng italic (0 chỗ).
   File giữ NGUYÊN tập ký tự — không cắt, để không lặp lại lỗi Montserrat. */
@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('/fonts/BeVietnamPro-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('/fonts/BeVietnamPro-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('/fonts/BeVietnamPro-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('/fonts/BeVietnamPro-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('/fonts/BeVietnamPro-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('/fonts/BeVietnamPro-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* ---------- EB Garamond · Brand A display (Archive, tiếng Anh) ----------
   Font BIẾN THIÊN — một file phủ trọn trục wght 400-800, nên không thể
   thiếu weight nào. archive.css dùng .lr-card__as ở dạng italic. */
@font-face {
  font-family: 'EB Garamond';
  src: url('/fonts/EBGaramond-Variable.woff2') format('woff2');
  font-weight: 400 800;
  font-style: normal;
  font-display: optional;
}
@font-face {
  font-family: 'EB Garamond';
  src: url('/fonts/EBGaramond-Italic-Variable.woff2') format('woff2');
  font-weight: 400 800;
  font-style: italic;
  font-display: optional;
}

/* ---------- Source Sans 3 · Brand A body ----------
   Font BIẾN THIÊN, trục wght 200-900. archive.css dùng .lr-note--fine italic.
   Dùng swap: archive.css có rule "Cầu nối sang Brand B" khai
   var(--rp-font), var(--lr-font-body) ⇒ họ này có thể phải gánh chữ tiếng Việt. */
@font-face {
  font-family: 'Source Sans 3';
  src: url('/fonts/SourceSans3-Variable.woff2') format('woff2');
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Source Sans 3';
  src: url('/fonts/SourceSans3-Italic-Variable.woff2') format('woff2');
  font-weight: 200 900;
  font-style: italic;
  font-display: swap;
}

/* ---------- IBM Plex Mono · nhãn kỹ thuật, DÙNG CHUNG cả 2 brand ----------
   Chỉ weight 400 — cả 8 chỗ dùng --lr-font-mono / --rp-font-mono đều không
   khai font-weight. Không dùng italic.
   swap + giữ nguyên tập ký tự: --rp-font-mono nằm trong module TIẾNG VIỆT
   (.rp-seo__eyebrow, .rp-footer__back, .rp-counter__n…). */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/IBMPlexMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
