/* Self-hosted OFL alternatives: Inter + Instrument Serif Italic.
   See assets/fonts/SOURCES.json and accompanying OFL licenses. */
@font-face {
  font-family: 'Inter'; font-style: normal; font-weight: 100 900;
  font-display: swap; src: url('../assets/fonts/inter-latin-variable.woff2') format('woff2');
}
@font-face {
  font-family: 'Instrument Serif'; font-style: italic; font-weight: 400;
  font-display: swap; src: url('../assets/fonts/instrument-serif-latin-italic.woff2') format('woff2');
}
:root {
  --font-display: 'Inter', Arial, sans-serif;
  --font-cond: 'Inter', Arial, sans-serif;
  --font-body: 'Inter', Arial, sans-serif;
}
/* Final family layer also covers legacy inline font declarations, not icon fonts. */
body, body :where(*:not(i):not(svg):not(path):not([class*="fa-"]):not(.fa)) {
  font-family: 'Inter', Arial, sans-serif !important;
}
body { font-weight: 400; }
h1,h2,h3,h4,h5,h6 {
  font-weight: 700; letter-spacing: -.035em;
}
body h1, body .hero h1, body .hero-content h1,
body .page-hero h1, body .page-hero-title, body .builder-hero h1,
body .color-heading h1, body .gallery-head h1 {
  font-size: clamp(32px, 4.6vw, 66px); font-weight: 700;
  line-height: 1.08; letter-spacing: -.045em; text-transform: none;
  overflow-wrap: normal;
}
body .service-text h2,body .why-section h2,body .faq-title,body .areas-section h2 {
  font-size: clamp(28px, 3.3vw, 46px); font-weight: 700;
  line-height: 1.15; letter-spacing: -.035em; text-transform: none;
}
body h1 em, body h1 .font-editorial, body h2 .font-editorial {
  font-family: 'Instrument Serif', Georgia, serif !important;
  font-weight: 400; font-style: italic; letter-spacing: -.025em;
  text-transform: none; overflow-wrap: normal;
}
@media (max-width: 900px) {
  body .hero-content h1, body .page-hero h1, body .builder-hero h1 {
    font-size: clamp(32px, 5.5vw, 52px);
  }
}
@media (max-width: 768px) {
  body h1, body .hero h1, body .hero-content h1, body .page-hero h1,
  body .page-hero-title, body .builder-hero h1, body .color-heading h1, body .gallery-head h1 {
    font-size: clamp(32px, 7.8vw, 54px); line-height: 1.12;
  }
}
@media (max-width: 480px) {
  body h1, body .hero h1, body .hero-content h1, body .page-hero h1,
  body .page-hero-title, body .builder-hero h1, body .color-heading h1, body .gallery-head h1 {
    font-size: clamp(30px, 9.5vw, 43px);
  }
  body .service-text h2,body .why-section h2,body .faq-title,body .areas-section h2 {
    font-size: clamp(26px, 7.1vw, 32px);
  }
  body h1 .font-editorial, body h2 .font-editorial { letter-spacing: -.025em; }
}
@media (max-width: 375px) {
  body h1, body .hero h1, body .hero-content h1, body .page-hero h1,
  body .page-hero-title, body .builder-hero h1, body .color-heading h1, body .gallery-head h1 {
    font-size: clamp(28px, 9vw, 33px);
  }
}
