/* ==========================================================================
   responsive.css — Breakpoint overrides (mobile-first refinements)
   Breakpoints: 1280 / 1024 / 860 / 640 / 400
   ========================================================================== */

@media (max-width: 1280px) {
  :root { --container-pad: 1.5rem; }
}

@media (max-width: 1024px) {
  .main-nav__list, .header-actions__divider { display: none; }
  .nav-toggle { display: flex; }
  .hero__grid, .split-grid { grid-template-columns: 1fr !important; }
  .hero__visual { order: -1; max-width: 520px; margin-inline: auto; }
  .footer-brand { grid-column: 1 / -1; }
  .section { padding-block: var(--space-16); }
  .section--lg { padding-block: var(--space-20); }
}

@media (max-width: 860px) {
  .page-hero { padding-block: calc(var(--header-h-scrolled) + var(--space-10)) var(--space-14); }
  .process-grid { grid-template-columns: 1fr !important; }
  .cta-banner { padding: var(--space-10) var(--space-6); }
  .hide-mobile { display: none !important; }
  .show-mobile { display: revert !important; }
}

@media (max-width: 640px) {
  :root { --container-pad: 1.25rem; }
  h1 { font-size: clamp(1.9rem, 8vw, 2.6rem); }
  .btn-group { flex-direction: column; align-items: stretch; }
  .btn-group .btn { width: 100%; }
  .badge-row { justify-content: center; }
  .section-head { margin-bottom: var(--space-10); }
  .marquee-strip { justify-content: center; text-align: center; }
  .footer-bottom__links { gap: var(--space-4); font-size: var(--fs-2xs); }
}

@media (max-width: 400px) {
  .brand__text small { display: none; }
}

/* Fine pointer / hover-capable only: disable heavy hover transforms on touch */
@media (hover: none) {
  .card:hover, .hover-lift:hover { transform: none; }
}

/* Print */
@media print {
  .site-header, .site-footer, .mobile-bar, .btn, .theme-toggle { display: none !important; }
}
