/* Larger working sizes for desktop: small support copy and labels remain legible. */
@media (min-width: 901px) {
  .eyebrow { font-size: 14px; }
  .hero-note,
  .drawing-label,
  .visual-note .eyebrow,
  .note-number,
  .card-top,
  .steps-art span,
  .tag,
  .site-footer p,
  .site-footer > a:last-child,
  .panel-heading .eyebrow,
  .pill,
  .field-error,
  .input-hint,
  .note-payment > span,
  .note-payment small,
  .calculator-key,
  .payment-year > p:first-child,
  .payment-year > span,
  .year-caption,
  .subsidy-detail,
  .subsidy-total .eyebrow,
  .subsidy-total p,
  .calculation-disclosure,
  .payoff-panel .eyebrow,
  .payoff-panel p:last-child,
  .payoff-control label,
  .range-labels,
  .payoff-value span,
  .explain-copy > .eyebrow,
  .editorial-callout > span,
  .editorial-callout > p,
  .gauge > div > span,
  .ratio-summary,
  .chart-axis,
  .window-story > .eyebrow,
  .conversation > span,
  .section-footnote,
  .faq-layout > div > .eyebrow,
  .contact-layout > div > .eyebrow,
  .contact-reminder,
  .contact-card > .eyebrow,
  .contact-card .consent,
  .contact-card .button,
  .notice,
  .broker-details > .eyebrow,
  .broker-title,
  .broker-credentials,
  .broker-details address,
  .states-section > .shell > .eyebrow,
  .state-license,
  .disclosure-heading .eyebrow,
  .disclosures > p,
  .disclosures summary,
  .disclosures summary span,
  .source-content,
  .source-content li p,
  #contact-status {
    font-size: 14px;
  }

  .brand-caption { font-size: 12px; }
  .nav-row > nav { font-size: 14px; }
  .window-selector button { font-size: 15px; }
  .disclosure-heading .equal-housing { font-size: 14px; }
  .text-link,
  .scenario-strip a,
  .strategy-card dl,
  .strategy-card dd,
  .card-link,
  .reset-button,
  .input-wrap > span,
  .subsidy-total p,
  .faqs details summary,
  .contact-links { font-size: 15px; }
  .section-heading > p,
  .strategy-card > p:not(.tag),
  .explain-copy > p:not(.eyebrow),
  .window-story p,
  .story-card > p:not(.tag),
  .faq-layout > div > p:not(.eyebrow),
  .faqs details p,
  .contact-layout > div > p:not(.eyebrow) { font-size: 16px; }
  .strategy-card dt,
  label,
  .contact-card label,
  .contact-card input:not([type="checkbox"]),
  .contact-card select { font-size: 15px; }
  .disclosures > details .source-content { font-size: 14px; }
  .story-card .text-link { font-size: 15px; }
  .contact-layout .contact-reminder { font-size: 14px !important; }
  .program-visual-meta > span:last-child,
  .program-visual .program-visual-caption { font-size: 14px; }
  .subsidy-detail b { font-size: 15px; }
  .state-name { font-size: 15px; }
  .program-label,
  .section-heading .program-label,
  .explain-copy > .program-label { font-size: 16px; }
}

.contact-links { gap: 10px; }
.contact-card label:not(.consent),
.contact-card input:not([type="checkbox"]),
.contact-card select,
.contact-card textarea { font-size: 16px; }
.contact-card textarea { padding: 12px; }
.contact-card .button { min-height: 54px; font-size: 16px; }
.contact-card .consent { font-size: 14px; }
.contact-card #contact-status { font-size: 16px; line-height: 1.6; }
.contact-links > a { width: fit-content; }
.contact-links > .contact-action {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 10px;
  padding: 10px 15px;
  border: 1px solid #d8e0ce;
  border-radius: 4px;
  color: var(--ink);
  background: #e7ebdc;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background .18s ease, transform .18s ease;
}
.contact-links > .contact-action:hover { background: #fffdf8; transform: translateY(-1px); }
.contact-links > .contact-action svg { width: 19px; height: 19px; flex: 0 0 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.contact-links > .contact-email { order: 2; font-size: 15px; }
.social-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 17px; }
.social-link { display: inline-flex; min-height: 46px; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid #d8e0ce55; border-radius: 4px; color: var(--paper); font-size: 14px; text-decoration: none; transition: color .18s ease, background .18s ease, border-color .18s ease; }
.social-link:hover { color: var(--ink); background: var(--paper); border-color: var(--paper); }
.social-link svg { display: block; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.social-link .social-icon-dot { fill: currentColor; stroke: none; }
@media (max-width: 600px) {
  .contact-links { flex-flow: row wrap; }
  .contact-links > .contact-action { flex: 1 1 auto; justify-content: center; padding-inline: 12px; }
  .contact-links > .contact-email { flex-basis: 100%; }
  .social-link { min-height: 48px; font-size: 15px; }
}
