
/* =========================================
   Low-vision readability pass (Nov 2026)
   ========================================= */
:root {
  --font-sans: "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --ink: #111111;
  --ink-soft: #242424;
  --ink-mute: #3d3d3d;
  --ink-subtle: #555555;
  --line: #d9d4ca;
  --text-h2: 32px;
  --text-h3: 24px;
  --text-h4: 20px;
  --text-body-lg: 20px;
  --text-body: 18px;
  --text-body-sm: 16.5px;
  --text-caption: 15.5px;
  --text-micro: 14px;
}
body { line-height: 1.7; }
.article-body p, .article-body li { line-height: 1.75; }
.site-nav { font-size: 17px; font-weight: 600; }
.hero-deck, .hero-home .hero-deck { font-size: 20px; }
.section-deck, .topics-header .section-deck { font-size: 19px; }
.card-title { font-size: 25px; }
.card-excerpt { font-size: 18px; }
.faq-q { font-size: 22px; }
.faq-a { font-size: 19px; }
.toc li { font-size: 18px; }
.toc li::before { font-size: 15px; }
.math-row .val { font-size: 18px; }
.math-row.total .val { font-size: 20px; }
.metric-card-value { font-size: 21px; }
.rate-badge { font-size: 13.5px; }
.topic-name { font-size: 21px; }
.topic-section-title { font-size: 24px; }
.calc-input, .calc-select { font-size: 18px; }
.article-eyebrow, .section-eyebrow, .hero-eyebrow, .card-tag, .toc-title { letter-spacing: 0.06em; }
.hero-deck, .hero-home .hero-deck, .section-deck, .topics-header .section-deck { font-family: var(--font-sans); }
.site-nav { font-size: 16px; }
.site-nav { flex-wrap: wrap; row-gap: 4px; }
