/*
 * Paul Oak — Escala tipográfica global v5.4
 * Ajuste centralizado: alterar as variáveis abaixo recalibra todo o site.
 */
:root{
  --poc-type-base:clamp(1rem,.95rem + .2vw,1.125rem);
  --poc-type-h1:clamp(2rem,1.15rem + 3vw,3.5rem);
  --poc-type-h2:clamp(1.5rem,1.15rem + 1.5vw,2.25rem);
  --poc-type-h3:clamp(1.125rem,1.03rem + .4vw,1.375rem);
  --poc-type-lead:clamp(1rem,.93rem + .3vw,1.1875rem);
  --poc-leading-body:1.65;
  --poc-leading-h1:1.08;
  --poc-leading-h2:1.16;
  --poc-leading-h3:1.28;
  --poc-heading-gap:clamp(1rem,.75rem + .6vw,1.5rem);
}

html{font-size:16px}
body.poc-site{font-size:var(--poc-type-base);line-height:var(--poc-leading-body)}

/* Títulos principais: escala mais conservadora e consistente. */
body.poc-site h1,
body.poc-site .poc-hero-title{
  font-size:var(--poc-type-h1)!important;
  font-weight:400!important;
  line-height:var(--poc-leading-h1)!important;
  letter-spacing:-.035em!important;
  text-wrap:balance;
  margin-bottom:var(--poc-heading-gap)!important;
}

body.poc-site h2{
  font-size:var(--poc-type-h2)!important;
  font-weight:400!important;
  line-height:var(--poc-leading-h2)!important;
  letter-spacing:-.025em!important;
  text-wrap:balance;
  margin-bottom:var(--poc-heading-gap)!important;
}

body.poc-site h3{
  font-size:var(--poc-type-h3)!important;
  font-weight:500!important;
  line-height:var(--poc-leading-h3)!important;
  letter-spacing:-.012em!important;
  text-wrap:balance;
  margin-bottom:clamp(.65rem,.5rem + .35vw,1rem)!important;
}

/* Itálicos editoriais continuam leves, sem ganhar peso visual excessivo. */
body.poc-site h1 em,
body.poc-site h2 em,
body.poc-site h3 em,
body.poc-site h1 span,
body.poc-site h2 span{
  font-weight:300;
}

/* Texto de leitura: mínimo de 16 px e entrelinha confortável. */
body.poc-site main p:not(.poc-eyebrow):not(.poc45-kicker),
body.poc-site main li,
body.poc-site main dd,
body.poc-site footer p:not(.poc-eyebrow){
  font-size:var(--poc-type-base)!important;
  line-height:var(--poc-leading-body)!important;
}

/* Introduções podem crescer discretamente, sem competir com o título. */
body.poc-site .poc-hero-summary,
body.poc-site [class*="hero"] > div > p:not(.poc-eyebrow),
body.poc-site [class*="hero-copy"] > p:not(.poc-eyebrow){
  font-size:var(--poc-type-lead)!important;
  line-height:1.6!important;
}

/* Mantém etiquetas e metadados compactos; não são texto de leitura. */
body.poc-site .poc-eyebrow,
body.poc-site .poc45-kicker,
body.poc-site small,
body.poc-site dt,
body.poc-site [class*="number"],
body.poc-site [class*="index"]{
  line-height:1.35;
}

/* Garante distância clara entre título e parágrafo sem aumentar as seções. */
body.poc-site h1 + p,
body.poc-site h2 + p,
body.poc-site h3 + p{
  margin-top:0!important;
}

/* Cards e overlays: legíveis sem transbordar. */
body.poc-site .poc53-project-main h3,
body.poc-site .poc53-project-mobile-copy h3,
body.poc-site .poc51-insight-grid h3,
body.poc-site .poc51-profile-grid h3,
body.poc-site .poc53-method-list h3,
body.poc-site .poc52-cap-card h3,
body.poc-site .poc52-reel-head h3{
  max-width:38ch;
}

/* O footer segue a mesma hierarquia, sem voltar à escala monumental. */
body.poc-site .poc-footer-main h2{max-width:26ch}

@media(max-width:782px){
  :root{
    --poc-heading-gap:1rem;
  }
  body.poc-site h1,
  body.poc-site .poc-hero-title{letter-spacing:-.025em!important}
  body.poc-site h2{letter-spacing:-.018em!important}
  body.poc-site h3{letter-spacing:-.008em!important}
}
