/* =====================================================================
   responsive.css  -  media queries (mobile-first)
   ===================================================================== */

@media (min-width: 640px) {
  .mat-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .svc-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .avis-cards { grid-template-columns: 1fr; max-width: 720px; }
  .stats-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .stat-item + .stat-item { border-top: none; border-left: 1px solid var(--border); padding-top: 8px; padding-left: 24px; }
}

@media (min-width: 768px) {
  section { padding: 80px 0; }

  .site-header { height: var(--header-h); }
  .nav-desktop { display: inline-flex; }
  .header-call { display: inline-flex; }
  .burger { display: none; }
  .menu-mobile { display: none !important; }
  .brand-tag { display: block; }
  .brand-mark { width: 40px; height: 40px; }

  html { scroll-padding-top: var(--header-h); }

  .hero-centre {
    padding: calc(var(--header-h) + 60px) 24px 40px;
  }
  .hero-centre__cta {
    flex-direction: row;
    max-width: none;
    justify-content: center;
    gap: 12px;
  }
  .hero-centre__cta .btn { width: auto; min-width: 200px; }

  .mat-grid { grid-template-columns: repeat(4, 1fr); }
  .svc-grid { grid-template-columns: repeat(2, 1fr); }

  .foot-grid {
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
  }
  .foot-bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  .contact-grid {
    grid-template-columns: 1fr 1fr;
    gap: 56px;
  }

  .services-head {
    flex-direction: row;
    align-items: end;
    justify-content: space-between;
  }
}

@media (min-width: 1024px) {
  .svc-grid { grid-template-columns: repeat(3, 1fr); }

  .hero-centre__band-inner { aspect-ratio: 21/9; }

  .avis-cards {
    grid-template-columns: 1fr;
    max-width: 720px;
  }
}

@media (max-width: 380px) {
  .hero-centre__title { font-size: 2.2rem; }
}
