
/* V51 — unified readable typography across the entire site */
:root{
  --type-h1:clamp(40px,3.8vw,58px);
  --type-h2:clamp(30px,2.6vw,40px);
  --type-h3:clamp(20px,1.5vw,23px);
  --type-lead:18px;
  --type-body:16px;
  --type-small:14px;
  --type-micro:12px;
  --lh-title:1.07;
  --lh-h2:1.14;
  --lh-h3:1.28;
  --lh-body:1.65;
}
html{-webkit-text-size-adjust:100%}
body{font-size:var(--type-body)!important;line-height:var(--lh-body)!important}

/* Hero titles: large enough to lead, but not dominate the viewport */
body h1,
body .hero h1,
body .v42-hero h1,
body .v42-page-hero h1,
body .v43-audit-hero h1,
body .legal-hero h1{
  font-size:var(--type-h1)!important;
  line-height:var(--lh-title)!important;
  letter-spacing:-.035em!important;
  max-width:850px!important;
}

/* Section titles */
body h2,
body .v42-title,
body .section-title,
body .v50-solution-head h2,
body .v45-route-head h2,
body .v47-modal-copy h2{
  font-size:var(--type-h2)!important;
  line-height:var(--lh-h2)!important;
  letter-spacing:-.025em!important;
}

/* Card / subsection titles */
body h3,
body .v42-route-card h3,
body .v50-solution-card h3,
body .v43-audit-section h3,
body .card h3,
body .feature-card h3{
  font-size:var(--type-h3)!important;
  line-height:var(--lh-h3)!important;
  letter-spacing:-.012em!important;
}

/* Main readable copy */
body p,
body li,
body .v42-lead,
body .section-lead,
body .v50-solution-head p,
body .v45-route-head p,
body .v43-audit-hero .v42-lead,
body .legal-content p,
body .legal-content li{
  font-size:var(--type-body)!important;
  line-height:var(--lh-body)!important;
}

/* Intro/lead copy gets one controlled step up */
body .v42-lead,
body .section-lead,
body .hero p,
body .v42-hero-copy>p,
body .v43-audit-hero .v42-lead,
body .legal-content>p:first-child{
  font-size:var(--type-lead)!important;
  line-height:1.62!important;
  max-width:700px!important;
}

/* Supporting card copy — readable, never tiny */
body .v42-route-card p,
body .v50-solution-card p,
body .card p,
body .feature-card p,
body .v43-audit-section p,
body .v43-audit-card p,
body .v43-audit-card li,
body .v42-card p{
  font-size:15px!important;
  line-height:1.58!important;
}

/* Labels and captions */
body small,
body .v42-kicker,
body .eyebrow,
body .kick,
body .legal-kicker,
body .v42-route-no,
body .v50-solution-card small,
body .meta-label,
body .caption,
body .tag{
  font-size:var(--type-micro)!important;
  line-height:1.4!important;
}

/* Navigation and buttons should remain readable */
body .v39-header a,
body .v39-header button,
body .site-nav a,
body .header-contact a,
body .v42-btn,
body .btn,
body button{
  font-size:13px!important;
}

/* Comfortable line length */
body .v42-lead,
body .section-lead,
body .v50-solution-head p,
body .v45-route-head p,
body .legal-content>p,
body .legal-content li{
  max-width:74ch;
}

/* Avoid giant empty rhythm caused by oversized titles */
body .v50-solution-head,
body .v45-route-head{
  max-width:850px!important;
}

@media(max-width:760px){
  :root{
    --type-h1:clamp(35px,9.5vw,44px);
    --type-h2:clamp(28px,7.5vw,34px);
    --type-h3:21px;
    --type-lead:17px;
    --type-body:16px;
    --type-small:14px;
    --type-micro:11px;
  }
  body h1,
  body .hero h1,
  body .v42-hero h1,
  body .v42-page-hero h1,
  body .v43-audit-hero h1,
  body .legal-hero h1{
    max-width:100%!important;
  }
  body .v42-route-card p,
  body .v50-solution-card p,
  body .card p,
  body .feature-card p,
  body .v43-audit-section p,
  body .v42-card p{
    font-size:15px!important;
  }
}
\n\n/* Final specificity guard against legacy page-level typography */\nbody h1:not(#v51-typography-guard){font-size:var(--type-h1)!important;line-height:var(--lh-title)!important;}\nbody h2:not(#v51-typography-guard){font-size:var(--type-h2)!important;line-height:var(--lh-h2)!important;}\nbody h3:not(#v51-typography-guard){font-size:var(--type-h3)!important;line-height:var(--lh-h3)!important;}\nbody main p:not(#v51-typography-guard),\nbody main li:not(#v51-typography-guard){font-size:var(--type-body)!important;line-height:var(--lh-body)!important;}\nbody .v42-lead:not(#v51-typography-guard),\nbody .section-lead:not(#v51-typography-guard),\nbody .v43-audit-hero .v42-lead:not(#v51-typography-guard){font-size:var(--type-lead)!important;line-height:1.62!important;}\n