/* ohoya — self-hosted fonts (formerly Google Fonts). Subsets: latin, latin-ext, vietnamese.
   Jost, Inter und JetBrains Mono sind VARIABLE FONTS (wght-Achse). Ein File je
   Familie+Subset deckt per font-weight-Range alle genutzten Gewichte ab — der
   Browser instanziiert das angeforderte Gewicht aus der Achse. Früher lag
   dieselbe Datei unter je einer URL pro Gewicht und wurde mehrfach geladen. */

/* Inter 300–600 — latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Inter 300–600 — latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/inter-latin.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;
}

/* JetBrains Mono 400–500 — latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/jetbrains-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* JetBrains Mono 400–500 — latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/jetbrains-mono-latin.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;
}

/* Jost 100–400 — latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 400;
  font-display: swap;
  src: url(/assets/fonts/jost-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Jost 100–400 — latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 400;
  font-display: swap;
  src: url(/assets/fonts/jost-latin.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;
}

/* ── Vietnamese subsets (added 2026-07-04) ─────────────────────────────
   Inter/JetBrains Mono: native vietnamese subset.
   Jost has NO Vietnamese glyphs → the vietnamese unicode-range is served
   from Be Vietnam Pro at matching weights under the family name Jost,
   so vi diacritics render light instead of falling back to a bold system font. */

/* Inter 300–600 — vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/inter-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* JetBrains Mono 400–500 — vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/jetbrains-mono-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Jost 100 — vietnamese (Be Vietnam Pro — Jost hat keine vietnamesischen Glyphen) */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-100-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Jost 200 — vietnamese (Be Vietnam Pro — Jost hat keine vietnamesischen Glyphen) */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-200-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Jost 300 — vietnamese (Be Vietnam Pro — Jost hat keine vietnamesischen Glyphen) */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-300-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Jost 400 — vietnamese (Be Vietnam Pro — Jost hat keine vietnamesischen Glyphen) */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-400-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* ── Be Vietnam Pro als echte Fallback-Familie ──────────────────────────
   Robuster Zweitweg für Safari/iOS: Font-Stacks verwenden
   'Jost', 'Be Vietnam Pro', sans-serif. Fehlt eine Glyphe in Jost
   (alle vietnamesischen Zeichen), greift BVP im passenden Gewicht,
   bevor eine System-Schrift einspringt. */

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-100-vietnamese.woff2) format('woff2');
}

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-200-vietnamese.woff2) format('woff2');
}

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-300-vietnamese.woff2) format('woff2');
}

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-400-vietnamese.woff2) format('woff2');
}


/* ── Vietnamesisch: komplette Be-Vietnam-Pro-Familie (Latin + Vietnamesisch) ──
   Jost hat KEINE vietnamesischen Glyphen. Der frühere Trick (BVP unter dem
   Namen 'Jost' + Fallback-Familie) versagte auf echten Browsern (Safari/Chrome):
   einzelne Buchstaben fielen auf eine fette System-Schrift zurück.
   Lösung: In der vietnamesischen Version rendern alle Jost-Display-Elemente in
   einer echten, stimmigen Be-Vietnam-Pro-Familie mit eigenen Subsets — wie Inter,
   das im Fließtext einwandfrei funktioniert. Kein Zeichen-Mischen mehr möglich. */
/* Be Vietnam Pro 200 — vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-200-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Be Vietnam Pro 200 — latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-200-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Be Vietnam Pro 200 — latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-200-latin.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;
}

/* Be Vietnam Pro 300 — vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-300-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Be Vietnam Pro 300 — latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Be Vietnam Pro 300 — latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-300-latin.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;
}

/* Be Vietnam Pro 400 — vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-400-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Be Vietnam Pro 400 — latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Be Vietnam Pro 400 — latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-400-latin.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;
}

/* Be Vietnam Pro 600 — vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-600-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Be Vietnam Pro 600 — latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Be Vietnam Pro 600 — latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/be-vietnam-pro-600-latin.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;
}

html[lang="vi"] .about-core-title,
html[lang="vi"] .about-founder-name,
html[lang="vi"] .about-status-title,
html[lang="vi"] .about-step-title,
html[lang="vi"] .about-why-title,
html[lang="vi"] .btn-amber,
html[lang="vi"] .choice-name,
html[lang="vi"] .compare-table th,
html[lang="vi"] .contact-subhead,
html[lang="vi"] .f-price,
html[lang="vi"] .f-product,
html[lang="vi"] .f-pt-today .f-pt-amount,
html[lang="vi"] .h-btn-primary,
html[lang="vi"] .h-btn-secondary,
html[lang="vi"] .h-quote,
html[lang="vi"] .h-scroll-nudge span,
html[lang="vi"] .hiw-step-title,
html[lang="vi"] .install-feat-title,
html[lang="vi"] .lang-btn,
html[lang="vi"] .lang-dropdown button[data-lang],
html[lang="vi"] .nav-mobile a,
html[lang="vi"] .nav-mobile-lang button,
html[lang="vi"] .pcard-badge,
html[lang="vi"] .pcard-name,
html[lang="vi"] .pcard-price,
html[lang="vi"] .pillar-title,
html[lang="vi"] .prod-price,
html[lang="vi"] .s-title,
html[lang="vi"] .specs-table .specs-k,
html[lang="vi"] .specs-table th,
html[lang="vi"] .uc-title,
html[lang="vi"] .weather-card-title,
html[lang="vi"] .wl-title,
html[lang="vi"] .g-article h1,
html[lang="vi"] .g-article h2,
html[lang="vi"] .g-article h3,
html[lang="vi"] .g-nav-mobile a,
html[lang="vi"] .guide-index a strong,
html[lang="vi"] .press-hero h1,
html[lang="vi"] .press-dl-card .dl-label {
  font-family: 'Be Vietnam Pro', sans-serif !important;
}

/* Brand wordmark ("ohoya") stays in Jost across ALL locales — it's pure
   ASCII, never needs a Vietnamese glyph fallback, and must look identical
   everywhere for brand consistency. Explicitly exclude it from the vi
   font-swap above (its base .nav-logo/.h-logo/.ft-logo/.g-logo rules already
   declare Jost, so no extra rule is needed here — this comment documents why
   they're deliberately absent from the list). */
