/* Recoverly frontend headline hierarchy enhancement. Frontend layout only. */
:root {
  --recoverly-headline-weight: 800;
  --recoverly-headline-tight: -0.035em;
}
/* Stronger hierarchy for all public-facing content sections. */
body:not(.dashboard):not(.admin-dashboard) main h1,
body:not(.dashboard):not(.admin-dashboard) .hero h1,
body:not(.dashboard):not(.admin-dashboard) .hero-title,
body:not(.dashboard):not(.admin-dashboard) .banner-title,
body:not(.dashboard):not(.admin-dashboard) .page-header h1,
body:not(.dashboard):not(.admin-dashboard) .section-heading h1 {
  font-weight: var(--recoverly-headline-weight) !important;
  letter-spacing: var(--recoverly-headline-tight);
  line-height: 1.08;
  text-wrap: balance;
}
body:not(.dashboard):not(.admin-dashboard) main h2,
body:not(.dashboard):not(.admin-dashboard) .section-title,
body:not(.dashboard):not(.admin-dashboard) .section-heading h2,
body:not(.dashboard):not(.admin-dashboard) .content-heading,
body:not(.dashboard):not(.admin-dashboard) .heading-title {
  font-weight: 800 !important;
  letter-spacing: -0.025em;
  line-height: 1.16;
  text-wrap: balance;
}
body:not(.dashboard):not(.admin-dashboard) main h3,
body:not(.dashboard):not(.admin-dashboard) .card-title,
body:not(.dashboard):not(.admin-dashboard) .feature-title,
body:not(.dashboard):not(.admin-dashboard) .service-title {
  font-weight: 750 !important;
  letter-spacing: -0.015em;
  line-height: 1.22;
}
/* Fluid sizes enlarge section headlines without making mobile layouts overflow. */
body:not(.dashboard):not(.admin-dashboard) main h1,
body:not(.dashboard):not(.admin-dashboard) .hero h1,
body:not(.dashboard):not(.admin-dashboard) .hero-title,
body:not(.dashboard):not(.admin-dashboard) .banner-title,
body:not(.dashboard):not(.admin-dashboard) .page-header h1 {
  font-size: clamp(2.15rem, 4.6vw, 4.25rem);
}
body:not(.dashboard):not(.admin-dashboard) main h2,
body:not(.dashboard):not(.admin-dashboard) .section-title,
body:not(.dashboard):not(.admin-dashboard) .section-heading h2,
body:not(.dashboard):not(.admin-dashboard) .content-heading,
body:not(.dashboard):not(.admin-dashboard) .heading-title {
  font-size: clamp(1.65rem, 3.15vw, 2.75rem);
}
body:not(.dashboard):not(.admin-dashboard) main h3,
body:not(.dashboard):not(.admin-dashboard) .card-title,
body:not(.dashboard):not(.admin-dashboard) .feature-title,
body:not(.dashboard):not(.admin-dashboard) .service-title {
  font-size: clamp(1.08rem, 1.65vw, 1.4rem);
}
@media (max-width: 575.98px) {
  body:not(.dashboard):not(.admin-dashboard) main h1,
  body:not(.dashboard):not(.admin-dashboard) .hero h1,
  body:not(.dashboard):not(.admin-dashboard) .hero-title,
  body:not(.dashboard):not(.admin-dashboard) .banner-title,
  body:not(.dashboard):not(.admin-dashboard) .page-header h1 {
    font-size: clamp(2rem, 8vw, 2.75rem);
    line-height: 1.1;
  }
  body:not(.dashboard):not(.admin-dashboard) main h2,
  body:not(.dashboard):not(.admin-dashboard) .section-title,
  body:not(.dashboard):not(.admin-dashboard) .section-heading h2,
  body:not(.dashboard):not(.admin-dashboard) .content-heading,
  body:not(.dashboard):not(.admin-dashboard) .heading-title {
    font-size: clamp(1.5rem, 6vw, 2rem);
  }
}
