/* Ajustes tipográficos compartilhados — evita quebras artificiais e viúvas. */
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{overflow-wrap:normal;word-break:normal;hyphens:none}
h1,h2,h3,h4,.post-title,.faq-q,.hero-title,.page-hero h1,.article h1,.article h2{
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
p,li,.post-excerpt,.hero-desc,.page-hero-sub,.article,.notice{
  text-wrap:pretty;
  word-break:normal;
  hyphens:none;
}
a{overflow-wrap:normal;word-break:normal}
.hero-left h1,.page-hero-inner h1,.hero .container>h1{max-width:19ch}
.section-header h2,.cta-band h2{max-width:23ch}
.section-header.center h2,.cta-band h2{margin-left:auto;margin-right:auto}
.section-header h2.wide-heading{max-width:none;width:100%;font-size:clamp(2rem,4.2vw,3.35rem)!important}
@media(max-width:768px){
  h1,.page-hero h1,.hero .container>h1{font-size:clamp(2.15rem,10.5vw,3.4rem)!important;line-height:1.06!important;letter-spacing:-.035em!important;max-width:17ch}
  h2{font-size:clamp(1.65rem,7.4vw,2.45rem)!important;line-height:1.13!important;letter-spacing:-.025em!important}
  h3{line-height:1.25!important}
  p,li{line-height:1.7}
  .hero-desc,.page-hero-sub{font-size:1rem!important;max-width:34ch}
  .post-title{font-size:1.15rem!important;line-height:1.3!important}
  .section-header h2.wide-heading{max-width:none;margin-left:auto;margin-right:auto;font-size:clamp(1.8rem,4.4vw,2.4rem)!important}
}
@media(max-width:420px){
  h1,.page-hero h1,.hero .container>h1{font-size:clamp(2rem,10vw,2.75rem)!important;max-width:16ch}
  .container{padding-left:1.15rem!important;padding-right:1.15rem!important}
}
