/* Self-hosted web fonts. Every page links this one file; the families match design/tokens.css.
 *
 * Copied from Google Fonts' css2 output (Oct 2026: Cormorant Garamond v21, Instrument Sans v4,
 * Taviraj v15, IBM Plex Sans Thai Looped v12), with the WOFF2 files served from /fonts/ instead
 * of Google's CDN. Google's own per-subset files are shipped as they are; nothing is re-subset.
 *
 * Subsets kept: latin for Cormorant Garamond and Instrument Sans; thai + latin for Taviraj and
 * IBM Plex Sans Thai Looped. unicode-range values are Google's, so a page downloads only the
 * subsets it renders. The two Latin faces have no baht sign (U+0E3F): it falls through to the
 * Thai family in the same stack, which has it.
 *
 * Cormorant Garamond (upright) and Instrument Sans are variable fonts: one file per subset
 * covers the weight range. Cormorant italic, Taviraj and IBM Plex Sans Thai Looped are static,
 * one file per weight. Licences (SIL OFL 1.1) sit beside the files in each family folder.
 *
 * font-display: swap. File names carry Google's version; to update a font, fetch the new file
 * under a new name so no cache serves the old one.
 */

/* Cormorant Garamond */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/cormorant-garamond/italic-500-latin-v21.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: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url("/fonts/cormorant-garamond/normal-500-600-latin-v21.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;
}

/* Instrument Sans */
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/fonts/instrument-sans/normal-400-600-latin-v4.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;
}

/* Taviraj */
@font-face {
  font-family: "Taviraj";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/taviraj/normal-500-latin-v15.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: "Taviraj";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/taviraj/normal-500-thai-v15.woff2") format("woff2");
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
@font-face {
  font-family: "Taviraj";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/taviraj/normal-400-latin-v15.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: "Taviraj";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/taviraj/normal-400-thai-v15.woff2") format("woff2");
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}

/* IBM Plex Sans Thai Looped */
@font-face {
  font-family: "IBM Plex Sans Thai Looped";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/ibm-plex-sans-thai-looped/normal-600-latin-v12.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: "IBM Plex Sans Thai Looped";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/ibm-plex-sans-thai-looped/normal-600-thai-v12.woff2") format("woff2");
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
@font-face {
  font-family: "IBM Plex Sans Thai Looped";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/ibm-plex-sans-thai-looped/normal-500-latin-v12.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: "IBM Plex Sans Thai Looped";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/ibm-plex-sans-thai-looped/normal-500-thai-v12.woff2") format("woff2");
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
@font-face {
  font-family: "IBM Plex Sans Thai Looped";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/ibm-plex-sans-thai-looped/normal-400-latin-v12.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: "IBM Plex Sans Thai Looped";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/ibm-plex-sans-thai-looped/normal-400-thai-v12.woff2") format("woff2");
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
