@media (max-width: 1279px) {
  :root { font-family: var(--ts-font); }
  .tansun-static-home { font-family: var(--ts-font); }
  .capability-tabs { scroll-padding-inline: 24px; }
  .capability-tabs button { flex: 0 0 auto; padding-inline: 20px; min-height: 48px; }
  .capability-copy h3 { text-wrap: balance; }
  .journey { min-height: max(960px, calc(730px + 35vw)); }
  .news-heading { gap: 16px; flex-wrap: wrap; }
  .news-heading .psd-button { flex-shrink: 0; }
  .news-copy .round-link { position: relative; inset: auto; margin-top: 24px; }
  .news-progress { margin-top: 24px; gap: 4px; }
  .news-progress .news-dot { position: relative; width: 44px; height: 44px; flex: 0 0 44px; background: transparent; }
  .news-progress .news-dot::after { content: ''; position: absolute; width: 14px; height: 14px; inset: 15px; border-radius: 50%; background: #bcbcbc; }
  .news-progress .news-dot.is-active::after { background: var(--brand-blue); }
  .cta-actions { flex-wrap: wrap; }
  .cta-actions .psd-button { flex: 0 0 156px; }
}

/* Mobile font sizes from the approved sheet; all other style properties stay inherited. */
@media (max-width: 767px) {
  .tansun-static-home .home-banner__eyebrow,
  .tansun-static-home #banner-1-v2 .home-banner__description,
  .tansun-static-home #banner-1-v2 .home-banner__link,
  .tansun-static-home #capabilities .capabilities-heading p,
  .tansun-static-home .capability-copy p,
  .tansun-static-home .capability-copy .psd-button,
  .tansun-static-home .news-heading .psd-button,
  .tansun-static-home .news-copy :is(time, p),
  .tansun-static-home .cta-actions .psd-button { font-size: 14px; }
}
