/* Escala tipográfica única (razão ~1.25) e ritmo de leitura
   xs 13px · sm 15px · base 17px · lg 20px · xl 26px · h2 40px · h1 52px */
:root{--t-xs:.8125rem;--t-sm:.9375rem;--t-base:1.0625rem;--t-lg:1.25rem;--t-xl:1.625rem;--t-h2:clamp(1.85rem,3.4vw,2.5rem);--t-h1:clamp(2.1rem,4.2vw,3.25rem);--medida:62ch}
body{font-size:var(--t-base);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p,li,summary,blockquote,td{text-wrap:pretty}
h1,h2,h3,.titulo,blockquote{text-wrap:balance;letter-spacing:-.015em}

/* títulos: H1 é o maior da página, H2 padronizado em todas as seções */
.hero h1{font-size:var(--t-h1);font-weight:700;line-height:1.08;max-width:15em}
.hero h1 b{font-weight:800}
.titulo,.vda-video .titulo{font-size:var(--t-h2);font-weight:800;line-height:1.12}
.chave h2{font-size:clamp(2.2rem,5vw,3.75rem);line-height:1.05}
h3,.item-eco h3,.oport b,.confianca b{font-size:var(--t-lg);font-weight:700;line-height:1.25}
.item-eco h3{font-size:var(--t-base)}

/* textos corridos: tamanho base e largura de leitura confortável */
.hero p{font-size:var(--t-lg);line-height:1.55;max-width:34em}
.garantia p,.faq details p,.cartao blockquote{max-width:var(--medida)}
.faq details p,.garantia p{font-size:var(--t-base);line-height:1.65}
.item-eco p,.oport p,.confianca span{font-size:var(--t-sm);line-height:1.6}
.queriam li{font-size:var(--t-lg)}
.dossie li{font-size:var(--t-sm)}
.cartao blockquote{font-size:var(--t-xl);line-height:1.3;font-weight:800}

/* rótulos e textos de apoio: nunca abaixo de 13px */
.eyebrow,.dossie-cab span{font-size:var(--t-xs);letter-spacing:.16em}
.cta-faixa span,.vda-video .micro,.de,.fim .legal,.redes{font-size:var(--t-xs)}
.vda-video .micro{max-width:var(--medida);margin-left:auto;margin-right:auto}
.dossie small,.preco small{font-size:var(--t-xs)}
.faq summary{font-size:var(--t-base);line-height:1.4}
th,td{font-size:var(--t-sm)}
thead th{font-size:var(--t-base)}

/* botões: mesmo tamanho de texto em toda a página */
.btn{font-size:var(--t-base);letter-spacing:.005em}
.topo .btn,tfoot .btn,.cta-fixo .btn{font-size:var(--t-sm)}
.cta-faixa .btn{font-size:var(--t-lg)}

/* espaço entre título e conteúdo padronizado */
.eyebrow{margin-bottom:12px}
.titulo+p,.titulo+.lista-eco,.titulo+ol{margin-top:22px}

@media (max-width:640px){
  :root{--t-base:1rem;--t-lg:1.125rem;--t-xl:1.375rem}
  .hero p{font-size:var(--t-base)}
  th,td{font-size:var(--t-xs)}
}
/* ajustes finos: tudo na escala */
:root{--medida:58ch}
.barra-urgencia{font-size:var(--t-xs)}
.topo nav{font-size:var(--t-sm)}
.item-eco .mini{font-size:.6875rem}
.hex.centro span{font-size:var(--t-xs)}
.hex span{font-size:var(--t-sm)}
.dossie-cab b{font-size:var(--t-lg)}
.dossie-rod span,.dossie-rod em{font-size:var(--t-xs)}
.video-tag{font-size:var(--t-sm)}
.selo-g span{font-size:var(--t-xs)}
.preco{font-size:var(--t-xl)}
/* site e Instagram centralizados no mesmo eixo do logotipo */
.hero .redes{width:min(520px,100%);justify-content:center;gap:26px}
.fim .redes{width:min(420px,100%);justify-content:center;gap:26px}
.hero-logo{width:min(520px,100%)}
.item-eco{grid-template-columns:72px 1fr}
.item-eco .mini{width:72px;font-size:.6rem;letter-spacing:-.01em}

/* ===== Revisão 29/10: tudo na mesma escala (13 / 15 / 17 / 20 / 26 / 40 / 52) ===== */
/* notas e etiquetas: 13px, nada menor no desktop */
html .selo-vagas,html button.som,html .figura small,html .prova small,html .av-preco .de-av,html .tabela-wrap td small{font-size:var(--t-xs)}
html .real-dica{font-size:var(--t-sm)}
/* listas e textos de cartão: 15px */
html .queriam .dossie li{font-size:var(--t-sm)}
/* títulos de cartões compactos: 17px; cartões principais: 20px */
html .item-eco h3,html .noticia b,html .jornada b{font-size:var(--t-base)}
html .oport b,html .avulso h3,html .real-cab h3,html .confianca b{font-size:var(--t-lg)}
html .tres-visoes,html .prova figcaption{font-size:var(--t-base)}
/* citações dos dois cartões do "Por que" no mesmo tamanho */
html .porque blockquote{font-size:var(--t-xl)}
/* ponto de interrogação do título no mesmo tamanho do título */
html .titulo .q{font-size:1em}
/* números da jornada acompanham o texto */
html .j-num{font-size:var(--t-base)}
/* faixa fixa do celular */
html .cta-fixo span{font-size:var(--t-sm)}
/* hexagonozinhos dos cartões do ecossistema: legível sem estourar */
html .item-eco .mini{font-size:.6875rem;letter-spacing:-.02em}
@media (max-width:640px){
  html .titulo .q{font-size:1em}
  html .porque blockquote{font-size:var(--t-xl)}
  html .tabela-wrap thead .selo-vagas{font-size:.625rem}
  html .real-dica{font-size:var(--t-xs)}
}
html .titulo .q{margin-left:.04em;vertical-align:baseline}
html .item-eco .mini{font-size:.625rem;letter-spacing:-.03em}
/* celular: foto da capa ocupa a largura toda, abaixo do texto */
@media (max-width:900px){html .hero.com-ensaio .wrap{grid-template-columns:1fr}html .hero-ensaio{background-position:50% 18%!important}}
