/* Self-hosted brand fonts — STANDARDS / brand: never hotlink Google. One source, served same-origin and
   loaded by both the SPA (web/index.html) and the server-rendered documents (<link href="/fonts.css">).
   The woff2 live in /fonts/. Newsreader (display serif), Libre Franklin (interface sans), IBM Plex Mono
   (figures) cover Latin; Sarabun covers Thai (the bilingual documents). */

@font-face { font-family: 'Newsreader'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/newsreader-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Newsreader'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/newsreader-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Newsreader'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/newsreader-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Newsreader'; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts/newsreader-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Newsreader'; font-style: italic; font-weight: 500; font-display: swap; src: url('/fonts/newsreader-latin-500-italic.woff2') format('woff2'); }

@font-face { font-family: 'Libre Franklin'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/libre-franklin-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Libre Franklin'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/libre-franklin-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Libre Franklin'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/libre-franklin-latin-600-normal.woff2') format('woff2'); }

@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2'); }

/* Sarabun — restricted to the Thai block so it only downloads + applies for Thai text; Latin stays on the
   families above via the font stack. */
@font-face { font-family: 'Sarabun'; font-style: normal; font-weight: 400; font-display: swap; unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; src: url('/fonts/sarabun-thai-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Sarabun'; font-style: normal; font-weight: 500; font-display: swap; unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; src: url('/fonts/sarabun-thai-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Sarabun'; font-style: normal; font-weight: 600; font-display: swap; unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; src: url('/fonts/sarabun-thai-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Sarabun'; font-style: normal; font-weight: 700; font-display: swap; unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; src: url('/fonts/sarabun-thai-700-normal.woff2') format('woff2'); }
