/* ==========================================================================
   Type scale — loaded last so every page (new + legacy markup) uses one set
   of fonts and sizes.
     Headings / labels / buttons : Montserrat
     Everything you read         : Inter
     lead 18 · body 17 · card 15.5 · small 14 · fine 13 · eyebrow 12
   ========================================================================== */
:root {
  --wa-text: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --fs-lead: 18px; --fs-body: 17px; --fs-card: 15.5px; --fs-small: 14px; --fs-fine: 13px; --fs-eyebrow: 12px;
}

/* ---- Reading font everywhere ---- */
body, p, li, td, th, dd, blockquote, input, textarea, select,
.wai-prose, .wh-prose, .wh-row__text, .wh-feature__text, .wh-way__text, .wh-card__text,
.waipay-sub, .waiv-card-desc, .wait-card-bio-text, .waic-form-note, .wai-body, .home .wai-slide-1 .wai-body, .wai-check, .waipay-secure,
.waicr-detail-body, .waicr-meta, .waipay-summary-row, .wai-search-count, .wa-stat__label, .wa-meet__time {
  font-family: var(--wa-text) !important;
}
/* …but these paragraphs are really labels/titles: keep Montserrat */
.wh-eyebrow, .wai-eyebrow, .wa-hero__eyebrow, .wa-meet__eyebrow, .wa-meet__title, .ev-feature__label, .wait-card-title,
.waic-cta-eyebrow, .waic-cta-title, .wh-quick__title, .wh-plan__price, .wh-plan__name, .wh-row__num, .wf-tag,
.wh-quote blockquote, .ab-board__name, .wa-cta__title, .wh-gfp__raised strong {
  font-family: var(--wa-head) !important;
}

/* ---- Lead (18) ---- */
.wa-hero__sub, .wh-sub, .wh-founder__lead, .ab-lead, .home .wai-slide-1 .wai-body,
.waim-subtext, .waisp-subtext, .waiw-subtext, .wait-subtext, .waic-subtext { font-size: var(--fs-lead) !important; line-height: 1.65 !important; }

/* ---- Body (17) — long-form reading ---- */
.wh-prose, .wai-prose, .wai-prose p, .wai-prose li, .ab-more__body p, .wh-row__text, .ev-feature__desc, .wa-cta__sub, .wh-voice blockquote,
.wai-search-count, .wai-search-results p { font-size: var(--fs-body) !important; line-height: 1.75 !important; }

/* ---- Card (15.5) — descriptions inside cards / panels ---- */
.wh-feature__text, .wh-card__text, .wh-plan__desc, .wh-rail__lead, .wh-duo__card p, .wh-q__a, .wh-q__a p, .wh-crisis p:not(.wh-eyebrow),
.wh-path span:not(.wh-path__icon), .wh-way__text, .waiv-card-desc, .wait-card-bio-text, .wh-ticks li, .wh-quote__by, .wh-jobs__foot,
.wh-gfm__text span, .wh-branches__copy > p:last-child, .wa-card p, .wa-card--crisis p, .waipay-sub, .waic-form-note,
.waicr-detail-body, .waicr-detail-body p, .waicr-detail-body li, .waipay-mf-head p, .ev-feature li, .wh-creds li, .ab-board__text > p:not(.ab-board__sub):not(.wh-eyebrow), .wh-voice figcaption span span, .wh-gfp__alt, .wh-quick__help > span:not(.wh-quick__links) {
  font-size: var(--fs-card) !important; line-height: 1.65 !important;
}
.wh-ticks li { line-height: 1.5 !important; }

/* ---- Small (14) — notes, meta, helper text ---- */
.wh-plan__note, .wh-note, .wh-note p, .wh-crisis .wh-crisis__alt, .wa-meet__time, .wa-stat__label, .ab-board__sub, .waicr-meta, .waicr-chip,
.waipay-summary-row, .waipay-summary-row span, .wh-trust__line, .wh-gfp__goal, .waic-cta-note p { font-size: var(--fs-small) !important; }

/* ---- Fine print (13) ---- */
.wh-fine, .wh-gfp__small, .ev-cal__legend, .waipay-secure, .waipay-secure-badge, .wai-footer-legal { font-size: var(--fs-fine) !important; }

/* ---- Eyebrows (12, uppercase) ---- */
.wh-eyebrow, .wh-crisis .wh-eyebrow, .wai-eyebrow, .wa-meet__eyebrow, .ev-feature__label, .wait-card-title, .waic-cta-eyebrow, .wh-quick__title {
  font-size: var(--fs-eyebrow) !important; font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase !important; line-height: 1.2 !important;
}

/* ---- Card titles (20) ---- */
.wh-feature__title, .wh-card__title, .wh-duo__card h3, .wh-crisis h3, .wh-rail__tag, .wh-path strong, .waiv-card-title,
.wa-card h3, .ev-subhead, .wh-gfm__text strong, .waicr-detail-title { font-size: 20px !important; line-height: 1.3 !important; }

/* ---- Forms: one label style, 16px inputs (stops iOS zoom) ---- */
.waic-label, .waipay-field label, .wai-auth label, form label:not(.waic-choice):not(.waic-checkline):not(.wai-check) {
  font-family: var(--wa-head) !important; font-size: var(--fs-small) !important; font-weight: 700 !important;
}
.waipay-label { font-family: var(--wa-head) !important; font-size: 16px !important; font-weight: 800 !important; }
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=search], input[type=number], textarea, select {
  font-size: 16px !important;
}
.waipay-tile-name { font-size: var(--fs-fine) !important; }
.waicr-item-title { font-size: 16px !important; }

/* ---- SVG icons (wai_icon) ---- */
.wai-i { display: inline-block; width: 1.05em; height: 1.05em; vertical-align: -.17em; flex: none; stroke-width: 2.2; }
.wa-btn .wai-i, .wh-textlink .wai-i, .wh-feature__link .wai-i, .wh-way__link .wai-i { width: 1.15em; height: 1.15em; transition: transform .2s; }
.wa-btn:hover .wai-i--arrow-right, .wh-textlink:hover .wai-i--arrow-right, a:hover > .wai-i--arrow-right { transform: translateX(3px); }
.waipay-secure .wai-i, .waipay-secure-badge .wai-i { width: 1em; height: 1em; vertical-align: -.12em; margin-right: 2px; }
.wa-pager__link span .wai-i { width: 1em; height: 1em; }
.ev-cal__nav .wai-i, .waic-cal-arrow .wai-i { width: 18px; height: 18px; vertical-align: middle; }
.wai-slide-1 .wai-btn .wai-i { width: 18px; height: 18px; }
