/* CBC — mobile overrides
   Ported from Design/mobile.css
   Active via media query (no JS) — same breakpoints as desktop. */

@media (max-width: 760px) {
  body { font-size: 16px; }

  .wrap { padding: 0 18px; }

  h1 { font-size: clamp(32px, 8vw, 44px); }
  h2 { font-size: clamp(24px, 5.5vw, 30px); }
  h3 { font-size: clamp(18px, 4vw, 22px); }

  .topnav-inner { gap: 16px; height: 64px; }
  .topnav-links { display: none; }
  .topnav-cta .btn:not(.btn-primary) { display: none; }

  .hero { padding: clamp(28px, 6vw, 56px) 0 clamp(16px, 3vw, 28px); }
  .hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .hero h1 .hero-h1-main { font-size: clamp(36px, 10vw, 56px); }
  .hero-ctas { gap: 10px; }
  .hero-meta { gap: 18px; }

  .qlinks { grid-template-columns: 1fr 1fr; gap: 10px; }
  .qlink { padding: 16px 14px 18px; gap: 8px; }
  .qlink-title { font-size: 16px; }
  .qlink-desc { font-size: 12.5px; }

  .news-grid { grid-template-columns: 1fr; gap: 14px; }

  .two-col { grid-template-columns: 1fr; gap: 24px; }
  .two-col-sticky { position: static; }

  .team-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .partners { grid-template-columns: 1fr 1fr; gap: 10px; }
  .pricing { grid-template-columns: 1fr 1fr; gap: 10px; }
  .comp-grid { grid-template-columns: 1fr; gap: 14px; }
  .price-card-amount { font-size: 36px; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .footer-bar { flex-direction: column; gap: 10px; align-items: flex-start; }

  .form-grid { grid-template-columns: 1fr; }

  .section-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .section-head > * + * { width: 100%; }

  .news-featured { grid-template-columns: 1fr; padding: 18px; }

  .page-header { padding: 36px 0 24px; }

  .tbl, .tbl thead, .tbl tbody, .tbl tr, .tbl th, .tbl td { display: block; }
  .tbl thead { display: none; }
  .tbl tr {
    background: var(--bg-card);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 14px;
    margin-bottom: 10px;
  }
  .tbl td { border: 0; padding: 4px 0; font-size: 14px; }
  .tbl td::before { content: attr(data-label) " · "; color: var(--ink-mute); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
}
