/*
 * Site-wide typeface. Layered !important rules deliberately supersede legacy
 * per-page typography (including their !important rules), without changing
 * font sizes, line heights, or the fonts used to render icon glyphs.
 */
@layer sparo-typography {
  body,
  body *:not(:where(
    .fa, .fas, .far, .fal, .fad, .fab, [class*="fa-"],
    .bi, [class*="bi-"],
    .material-icons, .material-icons-outlined,
    .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp
  )) {
    font-family: 'Inter Tight', sans-serif !important;
  }

  /* Scale-inspired headings: regular weight and less compressed tracking.
   * Include legacy titles rendered as divs, not just semantic headings. */
  :is(
    h1, h2, h3, h4, h5, h6, [role="heading"],
    .title, [class*="-title"], .hero-headline, .feedback-headline
  ) {
    font-weight: 400 !important;
    letter-spacing: -0.02em !important;
  }
}
