/* Escala tipográfica de acessibilidade — revisão SPEC 1.0. */
:root {
  font-size: 16px;
}

body {
  font-size: 1rem;
  line-height: 1.6;
}

.desktop-nav a,
.mobile-menu a,
.button,
.plan-link,
.module-card > a,
.addon-grid a {
  font-size: 0.9375rem;
}

.eyebrow,
.plan-eyebrow,
.recommended,
.summary-kicker,
.sheet-card-top span,
.differentiator-grid article > p,
.module-card > span,
.module-card-media span {
  font-size: 0.75rem;
  line-height: 1.45;
}

.hero-proof span,
.trust-strip span,
.trust-strip b,
.system-top,
.system-bottom,
.system-list,
.commercial-inclusions > span,
.commercial-inclusions > small,
.promotion-validity,
.estimate-label,
.lead-price span,
.lead-estimate-note,
.theme-toggle-label {
  font-size: 0.75rem;
  line-height: 1.5;
}

.section-heading > p:not(.eyebrow),
.page-hero > p:not(.eyebrow),
.detail-hero > div > p:not(.eyebrow),
.builder-callout p:not(.eyebrow),
.split-cta p,
.final-cta p,
.legal-page p,
.legal-page li,
.technical-visual > div > p:not(.eyebrow),
.sheet-finder > div:first-child > p:not(.eyebrow) {
  font-size: 1rem;
  line-height: 1.7;
}

.plan-card > p:not(.plan-eyebrow, .recommended),
.module-card p,
.addon-grid p,
.home-differentiator-grid p,
.feature-grid p,
.commercial-facts span,
.dependency-note p,
.contact-steps p,
.site-map-group small,
.visual-evidence-grid figcaption span,
.module-gallery-grid figcaption {
  font-size: 0.875rem;
  line-height: 1.6;
}

.pricing-panel span,
.pricing-panel small,
.pricing-panel p,
.commercial-inclusions > b,
.site-map-group b,
.sheet-finder-results strong,
.sheet-finder-results small,
.sheet-finder-results > p,
.sheet-finder-panel > input,
.contact-steps h2 {
  font-size: 0.875rem;
}

.sheet-finder-panel > label,
.sheet-finder-results span,
.site-map-group > header span,
.site-map-group em,
.contact-steps article > span {
  font-size: 0.75rem;
}

.site-footer,
.site-footer a,
.site-footer span,
.site-footer p {
  font-size: 0.875rem;
  line-height: 1.6;
}

.site-footer h2 {
  font-size: 1rem;
}

input,
textarea,
select,
label {
  font-size: 1rem;
}

@media (max-width: 700px) {
  body { font-size: 1rem; }
  .button { min-height: 48px; }
  .mobile-menu nav a { min-height: 44px; display: flex; align-items: center; }
}
