/* Larger type for computer screens. Mobile keeps its own composition. */
@media (min-width: 1024px) {
  :root {
    --fs-h1: clamp(48px, 4.8vw, 74px);
    --fs-h2: clamp(36px, 3.5vw, 52px);
    --fs-h3: clamp(26px, 2.2vw, 34px);
    --fs-body: clamp(18px, 1.35vw, 20px);
    --fs-lead: clamp(20px, 1.6vw, 24px);
    --fs-small: 16px;
    --fs-btn: 18px;
  }
  body { font-size: var(--fs-body); }
  .nav a, .nav-links { font-size: 16px; }
  .top .head-cta, .btn-sm { font-size: 16px; min-height: 46px; height: auto; }
  .eyebrow, .shot-copy .eyebrow, .industry-catalog .eyebrow { font-size: 14px; }
  .sb-hero-copy h2 { font-size: clamp(48px, 4.75vw, 74px); line-height: 1.22; max-width: 62%; }
  .sb-hero-copy { padding-top: 64px; padding-bottom: 64px; }
  .sb-hero-panel { min-height: 620px; }
  .sb-hero-brand { font-size: 14px; letter-spacing: .1em; }
  .sb-hero-description { font-size: clamp(1.375rem, 1rem + .75vw, 1.625rem); max-width: 47%; }
  .sb-hero-actions .btn, .sb-hero-products { font-size: 1.25rem; min-height: 58px; }
  .sb-hero-note { font-size: 14px; }
  .sb-hero-controls .sb-hero-pause { font-size: 15px; }
  .journey-stacked .journey-heading h2 { font-size: var(--fs-h2); }
  .journey-stacked .journey-heading p, .journey-context p, .journey-next p,
  .row-heading p, .row-context { font-size: 18px; }
  .row-heading h3, .journey-step-title, .journey-next h3 { font-size: 30px; }
  .business-choice-copy strong, .problem-copy strong { font-size: 22px; }
  .business-choice-copy > span, .business-choice .choice-action,
  .problem-copy small, .problem-action { font-size: 16px; }
  .business-choice-copy { padding: 20px; gap: 10px; }
  .matched-product h4 { font-size: 28px; }
  .matched-product p, .matched-product .spec dd { font-size: 17px; }
  .matched-product .spec dt, .matched-product .small, .match-label,
  .journey-motion-note, .row-footnote, .selection-badge,
  .carousel-buttons .carousel-pause, .journey-disclaimer { font-size: 15px; }
  .matched-product .match-reason { font-size: 16px !important; }
  .consult-product h4 { font-size: 34px; }
  .prod .shot-copy h3, .ind-card .shot-copy h3, .ind-body h3,
  .clarity-card h3, .flow-step h3 { font-size: 27px; }
  .shot-copy p, .clarity-card p, .ask li, .qualifier-inline,
  .feat b, .quick a, .chip { font-size: 17px; }
  .feat span, .badge, .fh, .foot-tel span { font-size: 15px; }
  .spec dd b { font-size: 26px; }
  table.cmp th, table.cmp td { font-size: 17px; }
  .sb-product-campaign .hero-summary h1 { font-size: clamp(44px, 4.5vw, 70px); }
  .sb-product-campaign .hero-details .small { font-size: 15px; }
  .cashflow-copy .lead { font-size: 20px; }
  footer, footer h4, .cookie-copy p, label.fl { font-size: 16px; }
  .fi { font-size: 18px; }

  /* The original SB application controls retain their structure. */
  .phead h1 { font-size: 36px; }
  .phead p, .fld label, .fld input, .fld select, .bp-trigger { font-size: 18px; }
  .bp-opt, .bp-card .ttl, .banner, .summary, .cs span { font-size: 17px; }
  .help, .err, .notice, .tip, .bp-note, .bp-head, .bp-no,
  .bp-card .sub, .banner .sm, .trust span, .foot-note, .income-unit,
  .steps-label, .lbl, .cal-m, .day, .slot, .picked { font-size: 15px; }
  .dow span { font-size: 13px; }
  .fld .opt { font-size: 15px; }
}
@media (min-width: 1600px) {
  .sb-hero-panel { min-height: 700px; }
}
