/* Site-wide readability pass.
   Most assessment pages use inline styles, so these overrides keep text readable
   without rewriting every generated page. */

:root {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html {
  font-size: 16px;
}

body {
  font-size: 16px !important;
  line-height: 1.6;
}

p,
li,
input,
textarea,
select {
  font-size: 16px !important;
  line-height: 1.65 !important;
}

button,
.btn-primary,
.btn-ghost,
.nav-cta,
.tc-btn,
.email-submit,
.btn-start,
.btn-begin,
.btn-next,
.btn-prev,
.btn-unlock,
.analyze-btn,
.tab {
  min-height: 44px;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  white-space: normal;
}

.tc-btn,
.nav-cta,
.btn-primary,
.btn-start,
a[href="#tools"],
button[onclick="startTest()"] {
  font-weight: 900 !important;
}

a {
  text-underline-offset: 3px;
}

.nav-link,
.footer-link,
.f-link,
.f-col-title,
.f-copy,
.f-legal a,
.tc-tag,
.tc-dim-chip,
.tc-note,
.tc-pill,
.bc-cat,
.bc-read,
.section-eyebrow,
.section-link,
.cat-label,
.process .ps-num,
.email-eyebrow,
.email-note,
.hero-eyebrow,
.stat-l,
.hc-tag,
.updated,
.page-tag,
.tool-name,
.meta-label,
.temp-tag,
.section-label,
.name-hint,
.name-skip,
.test-category,
.test-progress-label,
.q-dim-name,
.q-num,
.result-tag,
.insight-label,
.unlock-price-label,
.unlock-secure,
.footer-copy {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.section-link,
.f-link,
.f-legal a,
.footer-link {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.mqi,
.mqdot {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

[style*="font-size:9px"],
[style*="font-size: 9px"],
[style*="font-size:10px"],
[style*="font-size: 10px"],
[style*="font-size:11px"],
[style*="font-size: 11px"] {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

[style*="font-size:12px"],
[style*="font-size: 12px"] {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

[style*="font-size:13px"],
[style*="font-size: 13px"],
[style*="font-size:14px"],
[style*="font-size: 14px"],
[style*="font-size:15px"],
[style*="font-size: 15px"] {
  font-size: 16px !important;
  line-height: 1.45 !important;
}

.hero-p,
.section-p,
.tc-desc,
.bc-excerpt,
.ps-desc,
.email-p,
.faq-a,
.content p,
.footer-brand p,
.hc-desc,
.temp-desc,
.answer-label {
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.tc-name,
.bc-title,
.ps-title,
.faq-q {
  line-height: 1.15 !important;
}

.tc,
.bc,
.hc,
button,
a[href],
input,
textarea {
  touch-action: manipulation;
}

.tc-bottom,
.email-form,
.footer-bottom,
.hero-actions {
  gap: 14px;
}

@media (max-width: 760px) {
  body {
    font-size: 17px !important;
  }

  p,
  li,
  input,
  textarea,
  select,
  .hero-p,
  .section-p,
  .tc-desc,
  .bc-excerpt,
  .ps-desc,
  .email-p,
  .faq-a,
  .content p,
  .footer-brand p {
    font-size: 17px !important;
  }

  button,
  .btn-primary,
  .btn-ghost,
  .nav-cta,
  .tc-btn,
  .email-submit,
  .btn-start,
  .btn-begin,
  .btn-next,
  .btn-prev,
  .btn-unlock,
  .analyze-btn {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }

  .nav-cta {
    width: auto;
  }

  .tc-bottom,
  .email-form,
  .footer-bottom,
  .hero-actions {
    align-items: stretch !important;
  }

  .tc-pills {
    gap: 8px !important;
  }

  .tc-pill {
    padding: 7px 10px !important;
  }
}
