/* =====================================================================
   ESCALA TIPOGRÁFICA ÚNICA DO SITE (carregada por último)
   Títulos de seção, subtítulos, títulos de card, descrições e textos de
   card têm sempre o mesmo tamanho em qualquer seção ou página.
   ===================================================================== */
:root{
 --t-h1:50px;   /* título principal da primeira dobra */
 --t-h2:40px;   /* título de toda seção */
 --t-h3:23px;   /* subtítulo dentro de seção (painéis, quiz, janelas) */
 --t-h4:18px;   /* título de card / item */
 --t-lead:18px; /* descrição de seção (mesmo tamanho de "A boa notícia...") */
 --t-body:15px; /* texto dentro de cards */
 --t-small:13px;/* legendas, rótulos */
}
@media(max-width:640px){
 :root{--t-h1:28px;--t-h2:26px;--t-h3:20px;--t-h4:17px;--t-lead:16px;--t-body:14.5px;--t-small:12.5px}
}

/* títulos */
.cap0 h1,.hero h1,.lhero h1{font-size:var(--t-h1)!important;line-height:1.08!important}
section h2,.cap h2,.final h2,.ftext h2{font-size:var(--t-h2)!important;line-height:1.1!important}
.panel h3,.qbox h3,.qres h3,dialog .hd h3,.tl h3,.others h4,.legal h2,.sec h3{font-size:var(--t-h3)!important;line-height:1.2!important}
.sit h3,.cat h3,.pain b,.step b,.why b,.cred b,.steps li strong,.riskcards li strong,.whys li strong,.tl-item b,.photo .badge b + span,summary,dialog .svc b{font-size:var(--t-h4)!important;line-height:1.3!important}

/* descrições de seção */
.lead,section p,.cap p,.cap0 .sub,.hero .sub,.good,.ident p,.risk p,.how p,.tags p,.offer .box p,.ftext p,.checks li,.legal p,.legal li,.faq-more p{font-size:var(--t-lead)!important;line-height:1.6!important}
.good,.offer .box p{font-family:'Space Grotesk',sans-serif}

/* textos dentro de cards */
.sit p,.pain span,.step span,.why span,.cred,.panel p,.panel li,.svc span,dialog .svc span,.steps li,.riskcards li,.whys li,.taglist li,.how .cards li,.test p,details p,.tl-item span,.nums span,.stats span,.dcount span,.datebox p,.cities span,.qopts button,.pericia>div:last-child p{font-size:var(--t-body)!important;line-height:1.55!important}

/* rótulos e legendas */
.eyebrow,.kick,.tg,.ct,.qstep,.panel .ph span,.cat .ex span,.cat .go,.sit .go,.tabhint,.mk .lbl,.proof,.hero .proof,footer,.or,form .or{font-size:var(--t-small)!important}
.eyebrow{letter-spacing:.16em!important}

/* números de destaque (mesma família de tamanho) */
.nums b,.stats b{font-size:calc(var(--t-h2) * 1.1)!important}
.big,.qres .score b{font-size:calc(var(--t-h2) * 1.5)!important}

/* ---------- formulário: número de WhatsApp sem quebrar ---------- */
form .or a{white-space:nowrap}
@media(max-width:640px){form .or{line-height:1.7}form .or a{display:inline-block}}

/* ---------- crédito ROI discreto e sem quebra ---------- */
footer .copy .roi{gap:7px!important;flex-wrap:nowrap!important;white-space:nowrap}
footer .copy .roi img{height:16px!important}
footer .copy .roi span{font-size:12px}
footer .copy .roi em{font-size:11px!important;padding-left:8px!important;opacity:.85}
@media(max-width:640px){
 footer .copy{padding-right:0!important;flex-direction:column;align-items:flex-start}
 footer .copy .roi{flex-wrap:wrap!important;row-gap:4px}
}

.alr-txt{align-items:flex-start!important;text-align:left!important}
.alr-txt b{align-self:flex-start}

h1,h2,h3,.eyebrow,.kick,summary,.btn{text-wrap:balance}
p,li,.lead{text-wrap:pretty}
