/* Shared reading scale. Keep the original typefaces, artwork and headline sizes. */
:root {
  --supa-type-body: 1.125rem;
  --supa-type-ui: 1rem;
  --supa-type-note: .875rem;
  --mv-muted: #595354;
}

/* Editorial copy: comfortably sized on every page, not just the hero. */
.mv-page, .mv-legacy, .mv-document { font-size: var(--supa-type-body); line-height: 1.75; }
.mv-page main p, .mv-legacy main p {
  font-size: var(--supa-type-body);
  line-height: 1.75;
}
.mv-page .mv-home-hero .mv-hero-copy > p,
.mv-page .mv-page-hero .mv-hero-copy > p {
  font-size: 1.25rem;
  line-height: 1.7;
}
.mv-page .mv-prose p { max-width: 65ch; }
.mv-page .mv-eyebrow, .mv-page .mv-mini-index,
.mv-legacy main p.eyebrow {
  font-size: var(--supa-type-note);
  letter-spacing: .08em;
  line-height: 1.6;
}
.mv-page a.mv-button, .mv-page button.mv-button,
.mv-page .mv-textlink, .mv-page .mv-tabs button {
  font-size: var(--supa-type-ui);
  line-height: 1.5;
  min-height: 44px;
}
.mv-page .mv-toc a {
  font-size: var(--supa-type-ui);
  min-height: 44px;
  padding-block: 8px;
  line-height: 1.6;
}
.mv-page .mv-toc a > span { font-size: var(--supa-type-note); min-width: 24px; }
.mv-page .mv-capability-band span { font-size: var(--supa-type-ui); }
.mv-page .mv-capability-band span:first-child { font-size: var(--supa-type-note); letter-spacing: .05em; }
.mv-page .mv-step-number { font-size: var(--supa-type-note); }
.mv-page .mv-question > summary { font-size: 1.125rem; line-height: 1.6; }
.mv-page main p.mv-caption, .mv-page .mv-availability p {
  font-size: var(--supa-type-note);
  color: #62585a;
  line-height: 1.75;
}

/* Footer links and service notes are content too. */
.mv-footer { font-size: var(--supa-type-ui); }
.mv-footer .mv-footer-top { grid-template-columns: 1.6fr 1fr 1fr 1.3fr; gap: 36px; }
.mv-footer .mv-footer-top > div > a:not(.mv-footer-brand a),
.mv-footer .mv-cookie-settings {
  font-size: var(--supa-type-ui);
  line-height: 1.65;
  padding-block: 3px;
}
.mv-footer h2, .mv-page .mv-footer h2 { font-size: var(--supa-type-ui); line-height: 1.6; }
.mv-footer .mv-footer-brand span { font-size: var(--supa-type-ui); }
.mv-footer .mv-footer-bottom p, .mv-footer .mv-copyright {
  font-size: var(--supa-type-note);
  color: #62585a;
  line-height: 1.75;
}
.mv-cookies {
  font-size: var(--supa-type-ui);
  width: min(960px, calc(100% - 40px));
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
}
.mv-cookies strong, .mv-cookies p, .mv-cookies button.mv-button,
.mv-cookie-actions > button:not(.mv-button) { font-size: var(--supa-type-ui); line-height: 1.6; }
.mv-cookie-actions { flex-wrap: wrap; gap: 12px 20px; }

/* Original Humans pages and the complete blog archive use the same body scale. */
.mv-legacy main :is(.lead, .subhead) {
  font-size: clamp(var(--supa-type-body), 1rem + .4vw, 1.25rem);
  line-height: 1.7;
}
.mv-legacy main :is(.bullet-list li, .pricing-card li, .trust-item, .metric .lbl, .table, .starnote strong),
.mv-legacy .article-body { font-size: var(--supa-type-body); line-height: 1.75; }
.mv-legacy main :is(.card h3, .step h4, .blog-card h3) { font-size: 1.25rem; line-height: 1.4; }
.mv-legacy main :is(.profile-card .pf-label, .pricing-card .tier, .blog-tag) {
  font-size: var(--supa-type-note);
  line-height: 1.6;
  letter-spacing: .06em;
}
.mv-legacy main :is(.blog-card .meta, .article .meta) {
  font-size: var(--supa-type-note);
  line-height: 1.6;
  letter-spacing: .035em;
  flex-wrap: wrap;
}
.mv-legacy main :is(.form-row label, .pagination a, .pagination .page-number, .blog-card .read) {
  font-size: var(--supa-type-ui);
  line-height: 1.6;
}
.mv-legacy main :is(input, textarea, select) { font-size: var(--supa-type-ui); }
.mv-legacy main .captcha-hint { font-size: var(--supa-type-note); line-height: 1.6; }
.mv-legacy main sup.star { font-size: var(--supa-type-note); }
.mv-legacy main .table-wrap { overflow-x: auto; }
.mv-legacy main .article-body { overflow-wrap: break-word; }

/* Standalone policy and verification pages retain their own visual shell. */
.mv-document .policy-content :is(p, li) { font-size: var(--supa-type-body); line-height: 1.75; }
.mv-document .policy-content table { font-size: var(--supa-type-ui); }
.mv-document .site-footer .footer-text { font-size: var(--supa-type-note); line-height: 1.75; color: #59616e; }
.mv-document :is(.page-card p, .page-card label, .page-card input, .page-card button, .lang-switcher select) {
  font-size: var(--supa-type-ui);
  line-height: 1.65;
}
.mv-document .badge { font-size: var(--supa-type-note); }
.mv-document .muted { color: #59616e; }

@media (min-width: 761px) and (max-width: 1200px) {
  .mv-home-art { width: 110%; }
}
@media (max-width: 900px) {
  .mv-cookies { display: block; }
  .mv-cookie-actions { justify-content: flex-end; margin-top: 16px; }
}
@media (max-width: 760px) {
  :root { --supa-type-body: 1.0625rem; }
  .mv-page .mv-home-hero .mv-hero-copy > p,
  .mv-page .mv-page-hero .mv-hero-copy > p { font-size: 1.125rem; }
  .mv-footer .mv-footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
  .mv-footer .mv-footer-brand { grid-column: 1 / -1; }
  .mv-cookies { width: calc(100% - 24px); }
}
@media (max-width: 600px) {
  .mv-page .mv-toc > div { grid-template-columns: 1fr; }
  .mv-page .mv-hero-actions { gap: 16px; }
  .mv-legacy main .pagination { border-radius: 18px; }
}
