/* Signal V3 · sitewide typography migration, approved 2026-09-08.
 * Keep page-family layouts, colour, body fonts and conversion flows intact.
 * Important is intentional: page-specific and inline legacy fonts must not
 * replace the brand display face on semantic headings. */
:root, body {
  --font-display: var(--ci-font-display) !important;
  --font-body: var(--ci-font-body) !important;
  --font-outlier: var(--ci-font-data) !important;
  --hb-font-display: var(--ci-font-display) !important;
  --hb-font-body: var(--ci-font-body) !important;
  /* Legacy mono tokens are used for ordinary labels and Thai text too.
     Reserve actual monospace for code and explicit V3 data slots. */
  --hb-font-mono: var(--ci-font-body) !important;
  --font-mono: var(--ci-font-body) !important;
  --hb5-font-body: var(--ci-font-body) !important;
  --hb5-font-display: var(--ci-font-display) !important;
}
body { font-family: 'Noto Sans Thai', sans-serif !important; }
body :is(input,textarea,select,button,.hb-btn,.hb-label,.hb-nav__link,.hb-sheet__link,.hb-eyebrow,.hb-badge) {
  font-family: 'Noto Sans Thai', sans-serif !important;
}
body :is(code,pre,kbd,samp) {
  font-family: 'IBM Plex Mono', 'Noto Sans Thai', monospace !important;
  font-weight: 500;
}
body :is(h1,h2,h3,h4,h5,h6,.hb-h1,.hb-h2,.hb-h3,.hb-h4,.hb-h5,.hb-h6,.hb-accordion__trigger) {
  font-family: 'IBM Plex Sans Thai', sans-serif !important;
  font-style: normal;
}
body :is(h1,h2,.hb-h1,.hb-h2) { font-weight: 700; }
body :is(h3,h4,h5,h6,.hb-h3,.hb-h4,.hb-h5,.hb-h6) { font-weight: 600; }
body :is(h1,h2,h3,h4,h5,h6) :is(a,span,em,strong) {
  font-family: inherit !important;
}
