/* Typography only. Sizes live in site.css :root; colours live in surfaces.css.
   Keep heading roles here, rather than adding per-section or mobile sizes. */
body { font-size: var(--type-0); line-height: 1.6; letter-spacing: normal; }
strong, b { font-weight: 600; }
h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.1; letter-spacing: normal; }
h1 { font-size: var(--type-5); letter-spacing: -.025em; }
h2 { font-size: var(--type-4); letter-spacing: -.02em; }
h3 { font-size: var(--type-2); }
h4, h5, h6 { font-size: var(--type-1); }
/* Heading-like controls have the same importance as subsection headings. */
body .service-panel-trigger strong,
body .process-strip strong,
body .price-toggle-name,
body .faq-list summary { font-size: var(--type-2); font-weight: 600; line-height: 1.15; letter-spacing: normal; }
body[data-mode="auto"] .price-toggle-name { font-size: var(--type-2); line-height: 1.15; }
body p { max-width: 70ch; line-height: 1.6; }
body p:not(.kicker):not(.eyebrow):not(.breadcrumbs):not(.hero-copy):not(.hero-status):not(.film-caption):not(.landing-price-key) { font-size: var(--type-0); }
body .hero-copy { font-size: var(--type-1); line-height: 1.6; }
/* Retain existing narrower measures, and cap full-width prose. */
body .landing-copy, body .privacy-content p { max-width: 70ch; line-height: 1.6; }
body .kicker, body .eyebrow, body .landing-price-key,
body .landing-header nav a, body .landing-footer-links a {
  letter-spacing: .08em;
}
/* Sentence-case navigation does not need tracked letters. */
body .main-nav a { letter-spacing: normal; }
body .price-cell b, body .price-rows, body .price-card,
body .landing-price-col dd, body .price-toggle-sub,
body .review-score, body .landing-rating { font-variant-numeric: tabular-nums; }
