/* SISTEMA TIPOGRÁFICO GLOBAL — General Sans / referência Velaris ===========
   Direção: clínico editorial. Títulos semibold, compactos e de grande escala;
   miolos regulares, menores e com entrelinha de 1.5. Este arquivo é carregado
   por último para normalizar as seções legadas sem alterar seus layouts. */

body {
  font-family: var(--font-text);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  letter-spacing: -0.006em;
}

:where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: var(--tracking-tight);
  text-wrap: balance;
}

:where(p, li, dd) {
  font-weight: 400;
}

.display,
.h1,
.h2,
.h3 {
  font-weight: 600;
}

.section__head,
.regioes__head {
  gap: 1rem;
  max-width: 48rem;
}

.section__head .h2,
.regioes__head .h2,
.sobre .h2 {
  max-width: 18ch;
  font-size: var(--text-3xl);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.section__head--center .h2,
.section__head--center .lede,
.regioes__head .h2,
.regioes__head .lede {
  margin-inline: auto;
}

.lede,
.section__head .lede,
.regioes__head .lede,
.sobre .lede {
  max-width: 34rem;
  font-size: var(--text-lg);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.01em;
}

.eyebrow {
  font-size: var(--text-xs);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.16em;
}

/* Hero: reproduz a relação 60/16 da referência sem perder a prioridade da
   primeira dobra. */
.medic-hero__title {
  max-width: 13ch;
  font-size: clamp(2.85rem, 4vw, 4rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.medic-hero__title strong {
  font-weight: 600;
}

.medic-hero__lede {
  max-width: 34rem;
  margin-top: 1.25rem;
  font-size: var(--text-lg);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.01em;
}

.medic-hero__cta,
.medic-nav,
.medic-hero__stats dd {
  letter-spacing: -0.005em;
}

.medic-hero__stats dt {
  font-weight: 600;
}

.medic-hero__stats dd {
  font-size: var(--text-sm);
  line-height: 1.4;
}

/* Mosaico superior e cards editoriais. */
.medic-mosaic__card h2,
.catizani-feature-card__titulo {
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.medic-mosaic__card p,
.catizani-feature-card__texto,
.catizani-feature-card__link {
  font-size: var(--text-base);
  line-height: 1.5;
  letter-spacing: -0.006em;
}

.catizani-hero__titulo,
.maquina__linha {
  font-size: clamp(2.25rem, 1.7rem + 2.55vw, 3.75rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.maquina__linha--virada {
  font-weight: 600;
}

.maquina__nota {
  font-size: var(--text-base);
  line-height: 1.5;
}

/* Componentes de leitura: mesma cadência 600/400 e 1.1/1.5. */
.ciclo__titulo,
.jornada__titulo,
.faq__pergunta,
.mecanismo-card__body strong,
.rodape__titulo {
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.ciclo__descricao,
.jornada__etapa p,
.faq__resposta p,
.comparativo p,
.local p {
  font-size: var(--text-base);
  line-height: 1.5;
  letter-spacing: -0.006em;
}

.mecanismo-card__body span {
  line-height: 1.5;
}

.sobre__registro,
.sobre__rotulo {
  font-weight: 500;
}

.sobre__lista li {
  font-size: var(--text-sm);
  line-height: 1.5;
  letter-spacing: -0.006em;
}

@media (max-width: 47.99rem) {
  .section__head .h2,
  .regioes__head .h2,
  .sobre .h2 {
    max-width: 15ch;
  }

  .medic-hero__title {
    max-width: 12ch;
    font-size: clamp(2.25rem, 10.5vw, 2.75rem);
    line-height: 1.04;
  }

  .medic-hero__title-line {
    white-space: normal;
  }

  .medic-hero__lede {
    max-width: 31rem;
  }
}
