/* ==========================================================================
   Responsive layer — intentional mobile behaviour, not a blind shrink.
   ========================================================================== */

@media (max-width: 1080px) {
  .nav-primary { display: none; }
  .nav-cta .btn-outline.desktop-only { display: none; }
  .menu-toggle { display: flex; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { margin-top: 2rem; height: 320px; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .journey, .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .split, .split--reverse { grid-template-columns: 1fr; }
  .split--reverse .split-media { order: 0; }
  .form-grid { grid-template-columns: 1fr; }
  .section-head { flex-direction: column; align-items: flex-start; }
  .cta-band .hero-actions .btn { flex: 1; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-legal { justify-content: center; }
}

@media (max-width: 640px) {
  .grid-2, .grid-3, .grid-4, .why-grid, .journey { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-item:nth-child(3) { border-left: none; }
  .hero-actions .btn, .cta-band .btn { width: 100%; }
  .container { padding-inline: 1.1rem; }
  .footer-top { grid-template-columns: 1fr; }
  .two-col-text { columns: 1; }
  .journey::before { display: none; }
  .doc-row { flex-wrap: wrap; }
  .job-card { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 480px) {
  .branch-toolbar input, .branch-toolbar select { width: 100%; }
  .float-card { position: static; margin-bottom: 0.7rem; animation: none; }
  .hero-visual { display: flex; flex-direction: column; justify-content: center; height: auto; }
  .hero-visual__base { position: static; margin-bottom: 0.7rem; height: 160px; }
}

/* Touch target comfort */
@media (hover: none) {
  .card:hover, .news-card:hover, .product-card:hover { transform: none; }
  .btn, .pill-btn, .tab-btn { min-height: 46px; }
}

/* Print */
@media print {
  .site-header, .mobile-drawer, .back-to-top, .hero-visual, .page-loader, .toast-stack, .site-footer .newsletter-form { display: none; }
  body { background: #fff; }
}
