/* PR19 — legibilidade, escala tipográfica e contraste */
:root{
  --pr19-readable-ink:#241f1b;
  --pr19-readable-copy:#4d453f;
  --pr19-readable-muted:#5d544d;
  --pr19-readable-accent:#9f5c43;
  --pr19-readable-soft:#b46f53;
}

/* Títulos principais: mais horizontais, menos gigantes e sem colunas de palavras. */
.helena-intro h2,
.story-compact-copy h2,
.results-preview h2,
.story-head h2,
.journey-head h2,
.technology-head h2,
.cases-intro h2,
.faq-title h2,
.contact-copy h2,
.results-page .results-hero h1,
.results-page .category-copy h2,
.results-page .results-video h2{
  width:100%!important;
  max-width:none!important;
  font-size:clamp(2.6rem,4.15vw,4.65rem)!important;
  line-height:1.04!important;
  letter-spacing:-.022em!important;
  text-wrap:balance!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* Evita que regras antigas limitem artificialmente os títulos a 16/17 caracteres. */
.helena-intro,
.story-compact-copy,
.results-preview-copy,
.faq-title,
.story-head,
.journey-head,
.technology-head,
.cases-intro{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

.story-compact-copy h2 em,
.results-preview h2 em,
.story-head h2 em,
.journey-head h2 em,
.professional-copy h2 em,
.hero h1 em,
.portrait h2 em{
  color:var(--pr19-readable-accent)!important;
}

/* Contraste: manter a paleta, mas retirar cinzas/beiges claros demais para leitura. */
body{
  color:var(--pr19-readable-ink);
}

.story-compact-copy>p:not(.overline):not(.story-compact-note),
.story-compact-copy .large-copy,
.journey-head>p,
.technology-head>p:last-child,
.cases-intro>p:last-child,
.faq details p,
.result-card p,
.results-hero>p:last-child,
.category-copy>p:last-child,
.results-filter-status,
.professional-bio,
.privacy-note{
  color:var(--pr19-readable-copy)!important;
  opacity:1!important;
}

.overline,
.chapter-label,
.story-compact-note,
.results-lightbox__eyebrow,
.consultation-step span,
.principle span,
.tech-tab span{
  color:var(--pr19-readable-accent)!important;
  opacity:1!important;
}

.consultation-step p,
.consultation-step strong,
.result-card h3,
.faq summary,
.tech-display>p:not(.overline){
  color:var(--pr19-readable-ink)!important;
}

/* Pequenos textos recebem peso/contraste mínimo para não sumirem em telas claras. */
.overline,
.story-compact-note,
.results-filter-status,
.chapter-label,
.consultation-step span{
  font-weight:600!important;
}

/* Área da consulta: melhora leitura sem alterar estrutura aprovada. */
.story-compact-copy{
  max-width:760px!important;
}

.story-compact-copy .large-copy{
  max-width:38ch!important;
  font-size:clamp(1.22rem,1.8vw,1.72rem)!important;
  line-height:1.35!important;
}

.consultation-step strong{
  font-size:clamp(1.12rem,1.45vw,1.38rem)!important;
  line-height:1.2!important;
}

.consultation-step p{
  font-size:.94rem!important;
  line-height:1.58!important;
}

/* FAQ e resultados ficam menos verticais. */
.faq-title h2,
.results-preview h2{
  max-width:18ch!important;
}

.results-preview-copy>p:last-child,
.faq-title>p{
  max-width:62ch!important;
  color:var(--pr19-readable-copy)!important;
}

@media(max-width:1024px){
  .helena-intro h2,
  .story-compact-copy h2,
  .results-preview h2,
  .story-head h2,
  .journey-head h2,
  .technology-head h2,
  .cases-intro h2,
  .faq-title h2,
  .contact-copy h2,
  .results-page .results-hero h1,
  .results-page .category-copy h2,
  .results-page .results-video h2{
    font-size:clamp(2.3rem,4.7vw,3.45rem)!important;
    max-width:none!important;
  }

  .faq-title h2,
  .results-preview h2{
    max-width:22ch!important;
  }
}

@media(max-width:700px){
  .helena-intro,
  .story-compact-copy,
  .results-preview-copy,
  .faq-title,
  .story-head,
  .journey-head,
  .technology-head,
  .cases-intro{
    padding-left:0!important;
    padding-right:0!important;
  }

  .helena-intro h2,
  .story-compact-copy h2,
  .results-preview h2,
  .story-head h2,
  .journey-head h2,
  .technology-head h2,
  .cases-intro h2,
  .faq-title h2,
  .contact-copy h2,
  .results-page .results-hero h1,
  .results-page .category-copy h2,
  .results-page .results-video h2{
    font-size:clamp(1.95rem,7.3vw,2.55rem)!important;
    line-height:1.08!important;
    max-width:none!important;
    text-wrap:pretty!important;
  }

  .story-compact-copy .large-copy{
    font-size:1.18rem!important;
    max-width:100%!important;
  }

  .overline,
  .story-compact-note,
  .chapter-label{
    letter-spacing:.1em!important;
  }
}

@media(max-width:430px){
  .helena-intro h2,
  .story-compact-copy h2,
  .results-preview h2,
  .story-head h2,
  .journey-head h2,
  .technology-head h2,
  .cases-intro h2,
  .faq-title h2,
  .contact-copy h2,
  .results-page .results-hero h1,
  .results-page .category-copy h2,
  .results-page .results-video h2{
    font-size:clamp(1.8rem,8vw,2.25rem)!important;
    line-height:1.1!important;
  }
}
