/* Tam Nguyên — typefaces.
 *
 * The site is a port of Ferm Living, which ships two PAID foundry fonts:
 *   Canela Text (serif)  and  KH Teka (sans).
 * Those are not licensed for this site, so they are replaced 1:1 with the
 * closest free / OFL look-alikes, chosen by direct side-by-side comparison
 * against the originals (see /font-compare.html):
 *
 *   canela  ->  Fraunces  (variable, opsz 9-144)  — warm high-contrast serif
 *   teka    ->  Inter     (variable, opsz)         — neutral Swiss grotesque
 *
 * The family names "canela" / "teka" are kept so every component picks up the
 * new fonts with no markup changes.
 *
 * size-adjust + ascent/descent overrides are computed from the real font
 * metrics (x-height and typo ascent/descent of the originals) so the swap
 * keeps the same visual size, line length and vertical rhythm — Inter's
 * x-height is ~8% larger than KH Teka's, hence size-adjust: 92.32%.
 * font-optical-sizing defaults to `auto`, so Fraunces/Inter pick the display
 * optical size on large headings and the text size on body copy automatically.
 *
 * Vietnamese: the base files above are Latin-only subsets, so without the extra
 * `latin-ext` / `vietnamese` faces below the browser would fall back to a system
 * font for every accented Vietnamese letter (ậ ẩ ỷ Đ …) — the broken, patchy
 * look the client called a "syntax error". Each family is split by unicode-range
 * the same way Google Fonts / the CMS fonts (font-faces-data.ts) are: ASCII uses
 * the original Latin file (so English render + pixel parity is byte-identical),
 * accented Vietnamese pulls the matching subset. Subsets are the SAME typeface
 * (same x-height) so the metric overrides — and thus the layout — are unchanged.
 */

/* Standard Google/fontsource subset ranges. */
/* latin       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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD */
/* latin-ext   U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF */
/* vietnamese  U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB */

/* ----- canela  ->  Fraunces ----- */
@font-face {
  font-family: canela;
  src: url(./fonts/Fraunces-Variable.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 105%;
  ascent-override: 100%;
  descent-override: 23.53%;
  line-gap-override: 0%;
  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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: canela;
  src: url(./fonts/Fraunces-latin-ext.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 105%;
  ascent-override: 100%;
  descent-override: 23.53%;
  line-gap-override: 0%;
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,
    U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: canela;
  src: url(./fonts/Fraunces-vietnamese.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 105%;
  ascent-override: 100%;
  descent-override: 23.53%;
  line-gap-override: 0%;
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}

/* ----- teka  ->  Inter ----- */
@font-face {
  font-family: teka;
  src: url(./fonts/Inter-Variable.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 92.32%;
  ascent-override: 83.94%;
  descent-override: 24.37%;
  line-gap-override: 0%;
  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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: teka;
  src: url(./fonts/Inter-latin-ext.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 92.32%;
  ascent-override: 83.94%;
  descent-override: 24.37%;
  line-gap-override: 0%;
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,
    U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: teka;
  src: url(./fonts/Inter-vietnamese.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 92.32%;
  ascent-override: 83.94%;
  descent-override: 24.37%;
  line-gap-override: 0%;
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: teka;
  src: url(./fonts/Inter-Italic-Variable.woff2) format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  size-adjust: 92.32%;
  ascent-override: 83.94%;
  descent-override: 24.37%;
  line-gap-override: 0%;
  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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: teka;
  src: url(./fonts/Inter-Italic-latin-ext.woff2) format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  size-adjust: 92.32%;
  ascent-override: 83.94%;
  descent-override: 24.37%;
  line-gap-override: 0%;
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,
    U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: teka;
  src: url(./fonts/Inter-Italic-vietnamese.woff2) format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  size-adjust: 92.32%;
  ascent-override: 83.94%;
  descent-override: 24.37%;
  line-gap-override: 0%;
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
