/* Readability for the public site: 16px supporting text, 18px form copy.
   Page-specific headings keep their existing scale. */
small, .small { font-size: 1rem; line-height: 1.6; }
.badge { font-size: max(1rem, .75em); white-space: normal; line-height: 1.4; }
h5, .h5 { font-size: 1.125rem; line-height: 1.4; }
h6, .h6 { font-size: 1rem; line-height: 1.5; }
.job-time, .footer-nav-list li a, .footer-bottom, .footer-bottom p,
.footer-bottom a, .footer-single-col p, .form-text, .breadcrumb,
.btn, .form-control, .form-select { font-size: 1rem; }
.footer-bottom, .footer-bottom p, .footer-nav-list li a { line-height: 1.6; }
.footer-bottom a, .footer-bottom p { overflow-wrap: anywhere; }
.form-control, .form-select { min-height: 48px; }
.lead { font-size: 1.125rem; line-height: 1.7; }
code, pre { font-size: max(1rem, .875em); }

/* A comfortable reading rhythm on the conversion path. */
.cro-form-box .cro-intro, .quote-cro .cro-form-box .cro-intro,
.cro-form label, .cro-form input:not([type=checkbox]), .cro-form textarea,
.cro-form button[type=submit], .cro-status, .cro-proof p,
.cro-price p, .cro-next li, .cro-next span, .cro-direct,
.cro-sample p { font-size: 1.125rem !important; line-height: 1.65 !important; }
.cro-form .cro-help, .cro-form .cro-consent, .cro-form summary,
.cro-sample .cro-caption, .cro-under-form, .cro-hero-facts,
.quote-cro .cro-context { font-size: 1rem !important; line-height: 1.6 !important; }
.cro-form textarea { height: 132px; min-height: 120px; }
.cro-form .cro-consent input { width: 20px; height: 20px; flex-basis: 20px; margin-top: 3px; }
.cro-form label { margin-top: 18px; }
.cro-form-box .cro-intro { margin-bottom: 24px !important; }
.cro-form .cro-consent { margin: 22px 0 !important; }
.cro-form button[type=submit] { min-height: 54px; }
.cro-quote-grid { gap: 48px; }
.cro-quote-form { position: static; }
.cro-table th, .cro-table td { line-height: 1.55; }
.cro-sticky span { flex: 1; min-width: 0; }
.cro-sticky a { flex-shrink: 0; }

/* Tables retain readable type and scroll within their own region. */
.table-responsive, .cro-table-wrap, .csv-mock, .code-block, pre { max-width: 100%; }
.csv-mock { overflow-x: auto; }
@media (max-width: 767px) {
  .cro-form-box, .quote-cro .cro-form-box { padding: 24px 20px !important; }
  .cro-quote-grid { gap: 28px; }
  .cro-sticky a { padding: 12px; }
  .source-page { padding-bottom: 108px; }
}

.read-more-link, .author-info span, .main-menu li a.nav-link { font-size: 1rem; }
h1, h2, h3, .dm-field-pill { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .article-body > table { display: block; max-width: 100%; overflow-x: auto; }
  .ecbr > div:first-child { width: 100px !important; }
}

/* Placeholders are part of the form, not miniature annotations. */
.form-control::placeholder, .cro-form input::placeholder, .cro-form textarea::placeholder {
  font-size: inherit !important;
  line-height: inherit !important;
  opacity: 1;
}
@media (max-width: 767px) {
  .fintech-hero-text h1 { font-size: clamp(2.25rem, 9vw, 3.25rem) !important; line-height: 1.15 !important; letter-spacing: -.035em; }
  .fintech-hero-text h2 { font-size: 1.5rem !important; line-height: 1.5 !important; letter-spacing: -.02em; }
}
.cro-proof p, .cro-price p, .cro-next span, .cro-direct, .cro-sample p { font-weight: 400 !important; }
@media (max-width: 767px) {
  .quote-cro .cro-form textarea { height: 180px; min-height: 180px; }
  .fintech-hero-text h2 { font-weight: 400 !important; }
}
