/* Final cascade guard, loaded after page-specific styles. */
:root { --sans: 'Inter', sans-serif; --serif: 'Playfair Display', serif; }
body, body *, p, span, a, li, div, button, input, textarea, .nav-link, .button, .tag, .label { font-family: 'Inter', sans-serif !important; }
h1, h2, h3, h4, h5, h6, .hero-title, .section-title, .title, .heading,
[class*="title"], [class*="heading"],
:is(h1,h2,h3,h4,h5,h6,.hero-title,.section-title,.title,.heading) *,
.approach-pillar :is(strong,h3), .proof-grid strong, .reason-grid strong {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  line-height: 1.15 !important;
}
.site-header nav a, .button, button, .tag { letter-spacing: .05em !important; }
/* Footer headings are functional UI labels, not editorial headlines. */
.site-footer .footer-main h3 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  line-height: 1.5 !important;
  margin: 0 0 24px !important;
}
.site-footer .footer-main a {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  display: inline-block;
}
/* Bold serif titles need a smaller measure in the tablet two-column layout. */
.approach-pillar h3 { margin: 0; }
@media (min-width: 761px) and (max-width: 1024px) {
  .about-foundation h2, .about-promise h2 {
    font-size: clamp(1.75rem, 3.2vw, 2.1rem) !important;
    overflow-wrap: anywhere;
  }
}
