@media (max-width: 1120px) {
  .main-nav {
    position: absolute;
    left: 16px;
    right: 16px;
    top: 78px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
  }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 13px 12px; }
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .header-actions .btn-primary { display: none; }
}

@media (max-width: 900px) {
  .topbar .container, .footer-bottom { flex-direction: column; }
  .hero { min-height: auto; }
  .hero-content { padding: 88px 0 120px; }
  .hero-metrics, .grid-4, .grid-3, .stats, .footer-grid, .split, .contact-layout { grid-template-columns: 1fr 1fr; }
  .feature-panel { min-height: 320px; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 24px, var(--max)); }
  .brand img { width: 145px; }
  .header-actions .btn-dark { display: none; }
  .hero { background-position: 62% center; }
  .hero h1 { font-size: 39px; }
  .hero p, .section-head p, .page-hero p { font-size: 17px; }
  .hero-actions .btn, .cta-actions .btn { width: 100%; }
  .hero-metrics, .grid-2, .grid-3, .grid-4, .stats, .footer-grid, .split, .contact-layout, .form-grid { grid-template-columns: 1fr; }
  .section { padding: 62px 0; }
  .page-hero { padding: 72px 0 48px; }
  .cta { padding: 28px; }
  .floating-actions { right: 12px; bottom: 12px; }
  .float-btn { width: 52px; height: 52px; }
}
