/* Readability and responsive typography refinements. */
body { font-size: 16px; }
.nav a, .text-link { font-size: 13px; }
.nav a { min-height: 40px; display: inline-flex; align-items: center; }
.button { font-size: 13px; min-height: 48px; }
.button-small { font-size: 12px; }
.button-text-short { display: none; font-size: inherit; }
.button-text-long { font-size: inherit; }
.eyebrow { font-size: 11px; }
.hero-sub { font-size: 17px; line-height: 1.75; }
.hero-proof p { font-size: 13px; }
.trust-inner { font-size: 9px; }
.section-kicker { font-size: 9px; }
.intro-copy p, .service-header > p, .faq-intro > p { font-size: 16px; }
.under-link { font-size: 12px; }
.feature-card h3 { font-size: 16px; }
.feature-card p { font-size: 15px; line-height: 1.75; }
.feature-num, .step-number { font-size: 11px; }
.step h3 { font-size: 14px; }
.step p { font-size: 14px; }
.dash-top { font-size: 8px; }
.dash-period { font-size: 8px; }
.chart-y, .chart-x { font-size: 8px; }
.dash-stats span { font-size: 7px; }
.dash-stats strong { font-size: 10px; }
.dash-footnote { font-size: 9px; }
.faq-item summary { min-height: 54px; font-size: 15px; }
.faq-item p { font-size: 15px; line-height: 1.8; }
.cta-kicker { font-size: 9px; }
.cta-content > p { font-size: 16px; }
.cta-note { font-size: 8px; }
.footer-top > p { font-size: 13px; }
.footer-mail { font-size: 12px; }
.footer-bottom { font-size: 8px; }
.legal-note { font-size: 9px; }
.chat-header { font-size: 11px; }
.user-bubble, .ai-answer { font-size: 11px; }
.ad-label { font-size: 8px; }
.ad-content strong { font-size: 11px; }
.ad-content p { font-size: 9px; }
.ad-content a { font-size: 9px; }
.chat-footer { font-size: 10px; }

@media (max-width: 900px) {
  .nav a { font-size: 12px; }
  .intro-copy p, .service-header > p, .faq-intro > p { font-size: 15px; }
  .feature-card p, .step p { font-size: 14px; }
  .faq-item p { font-size: 14px; }
}

@media (max-width: 680px) {
  /* Keep the header CTA on one line and leave room for the menu button. */
  .topbar > .button .button-text-long { display: none; }
  .topbar > .button .button-text-short { display: inline; }
  .topbar > .button { white-space: nowrap; flex: 0 0 auto; gap: 8px; padding: 9px 10px; }
  body { font-size: 15.5px; }
  .nav a { font-size: 14px; min-height: 44px; }
  .topbar > .button { font-size: 11.5px; min-height: 42px; }
  .eyebrow { font-size: 10px; }
  .hero-sub { font-size: 15px; line-height: 1.75; }
  .hero-actions .button { font-size: 12px; }
  .text-link { font-size: 12px; }
  .hero-proof p { font-size: 12px; }
  .trust-inner { font-size: 8px; }
  .section-kicker { font-size: 8px; }
  .intro-copy p, .service-header > p, .faq-intro > p { font-size: 15px; }
  .under-link { font-size: 12px; }
  .feature-card h3 { font-size: 15px; }
  .feature-card p, .step p { font-size: 14px; }
  .feature-num, .step-number { font-size: 10px; }
  .step h3 { font-size: 14px; }
  .dash-top, .dash-period { font-size: 7px; }
  .chart-y, .chart-x { font-size: 7px; }
  .dash-stats span { font-size: 6.5px; }
  .dash-stats strong { font-size: 9px; }
  .dash-footnote { font-size: 8px; }
  .faq-item summary { min-height: 52px; font-size: 14px; }
  .faq-item p { font-size: 14px; }
  .cta-content > p { font-size: 15px; }
  .cta-kicker { font-size: 8px; }
  .footer-top > p { font-size: 12px; }
  .footer-mail { font-size: 11px; }
  .footer-bottom { font-size: 7px; }
  .legal-note { font-size: 8px; }
}

@media (max-width: 380px) {
  .button-text-long { display: none; }
  .button-text-short { display: inline; }
  .hero h1 { font-size: 45px; }
  .hero-actions { gap: 14px; }
  .hero-actions .button { gap: 16px; padding-inline: 12px; }
  .text-link { font-size: 11px; }
  .topbar > .button { gap: 7px; margin-right: 10px; }
}

/* Readable supporting labels, including the captions and dashboard. */
.trust-inner, .section-kicker, .manifesto-note, .cta-kicker, .cta-note {
  font-size: 14px;
  line-height: 1.65;
  letter-spacing: .055em;
  color: #bcb8ca;
}
.trust-inner { gap: 20px; padding-top: 20px; padding-bottom: 20px; }
.section-kicker { flex-wrap: wrap; row-gap: 6px; }
.manifesto-note { margin-top: 18px; }
.under-link { font-size: 16px; min-height: 44px; }
.dash-top, .dash-period { font-size: 13px; line-height: 1.6; letter-spacing: .035em; color: #bcb8ca; }
.dash-top { flex-wrap: wrap; gap: 10px 18px; }
.dash-top > span:last-child { color: #bcb8ca; }
.dash-heading { flex-wrap: wrap; gap: 12px; }
.chart-y, .chart-x { font-size: 11px; color: #bcb8ca; }
.dash-stats span { font-size: 12px; color: #bcb8ca; }
.dash-stats strong { font-size: 14px; }
.dash-footnote, .footer-bottom, .legal-note { font-size: 12px; line-height: 1.7; color: #aaa6b8; }

@media (max-width: 1100px) {
  .trust-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: center; }
  .trust-divider, .trust-spark { display: none; }
}
@media (max-width: 680px) {
  .trust-inner, .section-kicker, .manifesto-note, .cta-kicker, .cta-note { font-size: 13px; }
  .trust-inner { gap: 16px; }
  .section-kicker { column-gap: 10px; }
  .dash-stats { grid-template-columns: 1fr; gap: 14px; }
}
