/* Shared responsive overrides to keep existing look intact */
img,
video {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1200px) {
  nav {
    padding-left: 5%;
    padding-right: 5%;
  }

  .hero,
  .hero-wrap,
  #hero,
  .section,
  .service-section,
  .values-section,
  .timeline-section,
  .team-section,
  footer {
    padding-left: 5% !important;
    padding-right: 5% !important;
  }
}

@media (max-width: 992px) {
  .services-grid,
  .case-grid,
  .testi-grid,
  .process-steps,
  .values-grid,
  .locations-grid,
  .cases-grid,
  .openings-grid,
  .trust-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .services-nav {
    padding-left: 5%;
    padding-right: 5%;
  }
}

@media (max-width: 768px) {
  h1 {
    font-size: clamp(1.9rem, 8vw, 2.8rem) !important;
  }

  h2 {
    font-size: clamp(1.45rem, 6vw, 2rem) !important;
  }

  .hero-sub,
  .section-sub {
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
  }

  .services-grid,
  .case-grid,
  .testi-grid,
  .process-steps,
  .values-grid,
  .locations-grid,
  .cases-grid,
  .openings-grid,
  .team-grid,
  .trust-inner,
  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .float-card {
    width: min(340px, 92vw) !important;
  }

  .hero-card-2 {
    right: 0 !important;
  }

  .hero-right-grid {
    grid-template-columns: 1fr !important;
  }

  .service-pill {
    max-width: 100%;
  }

  .timeline {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .timeline::before {
    display: none !important;
  }
}

@media (max-width: 576px) {
  nav {
    height: 64px;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .hero,
  .hero-wrap,
  #hero,
  .section,
  .service-section,
  .values-section,
  .timeline-section,
  .team-section,
  footer {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .services-nav {
    top: 64px;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .btn-glow,
  .btn-outline {
    padding: 0.55rem 0.95rem;
  }
}
