/* ============================================
   RESPONSIVE
   ============================================ */

/* Tablet & smaller */
@media (max-width: 1100px) {
  .projects-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .services-grid {
    grid-template-columns: 1fr;
  }

  .service-card {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .service-card:last-child {
    border-bottom: none;
  }
}

/* Mobile */
@media (max-width: 980px) {
  /* Nav */
  nav.primary {
    display: none;
  }

  .nav-cta {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  header.nav {
    padding: 0 24px;
  }

  /* Sections */
  section {
    padding: 80px 24px;
  }

  .intro,
  .closer,
  .footer-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* Projects */
  .projects-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .projects-head {
    flex-direction: column;
    align-items: flex-start;
  }

  /* Testimonials */
  .testimonial-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .testimonial-tabs {
    flex-direction: row;
    overflow-x: auto;
    border-left: none;
    border-bottom: 1px solid var(--gray-200);
    scrollbar-width: none;
  }

  .testimonial-tabs::-webkit-scrollbar {
    display: none;
  }

  .testimonial-tab {
    border-left: none;
    border-bottom: 2px solid transparent;
    margin-left: 0;
    margin-bottom: -1px;
    flex-shrink: 0;
    min-width: 200px;
  }

  .testimonial-tab.active {
    border-bottom-color: var(--black);
    border-left-color: transparent;
  }

  .testimonial-content {
    padding: 32px;
  }

  .testimonial-quote {
    font-size: 18px;
  }

  /* Footer */
  .footer-locations {
    grid-template-columns: 1fr;
  }

  /* Hero */
  .slide-content {
    left: 24px;
    right: 24px;
    bottom: 140px;
  }

  .hero-controls {
    right: 24px;
    bottom: 40px;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .projects-grid {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}
