/* V25: clearer type hierarchy and comfortable reading sizes. */
:root {
  --type-body: 1.125rem;
  --type-card: 1.0625rem;
  --type-label: .875rem;
}

.hero h1 { font-weight: 600; }
.hero h1 em { font-weight: 600; }
.section h2,
.final-cta h2,
.faq-exit h2 { font-weight: 500; }
.section h2 em { font-weight: 600; }
.section h3 { font-weight: 500; }

.hero-lead { font-size: 1.25rem; line-height: 1.6; max-width: 60ch; }
.prose,
.section-heading > p,
.fit-copy > p,
.fit-list p,
.timeline p,
.chapter-copy p,
.family-chapter .chapter-copy p,
.final-cta p,
.faq-exit p {
  font-size: var(--type-body);
  line-height: 1.6;
}
.prose { max-width: 65ch; }
.benefit-card p,
.faq details p { font-size: var(--type-card); line-height: 1.6; }
.faq summary { font-size: var(--type-body); font-weight: 600; line-height: 1.4; }

.eyebrow,
.card-label,
.step-tag { font-size: var(--type-label); }
.hero-proof span { font-size: .9375rem; line-height: 1.4; }
.hero-visual figcaption { font-size: .9375rem; }
.final-cta small,
.small-note,
footer p { font-size: 1rem; line-height: 1.5; }

@media (max-width: 560px) {
  .hero-lead { font-size: var(--type-body); }
  .hero-proof span { font-size: var(--type-label); }
  .chapter-copy h3,
  .family-chapter .chapter-copy h3 { font-size: 1.75rem; line-height: 1.16; }
  .fit-list h3,
  .timeline h3 { font-size: 1.375rem; line-height: 1.25; }
  .faq-exit p { font-size: var(--type-body); }
}

@media (max-width: 360px) {
  .chapter-copy h3,
  .family-chapter .chapter-copy h3 { font-size: 1.625rem; }
}
