/* Extra small devices (phones, less than 576px) */
@media (max-width: 575.98px) {
  .hero-section {
    min-height: 500px;
    height: auto;
    padding: 100px 0;
  }
  
  .section-title {
    font-size: 2rem;
  }
  
  .section {
    padding: 3rem 0;
  }
  
  .contact-form {
    padding: 1.5rem;
  }
  
  .team-member img {
    width: 150px;
    height: 150px;
  }
  
  /* Disable autoplay animations on mobile */
  @media (prefers-reduced-motion: no-preference) {
    .swiper-container.mobile-disable-autoplay .swiper-wrapper {
      transition-timing-function: ease;
    }
  }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
  .hero-section {
    min-height: 550px;
  }
  
  .section {
    padding: 4rem 0;
  }
  
  .team-member img {
    width: 170px;
    height: 170px;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .section {
    padding: 4.5rem 0;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .section-title {
    font-size: 2.75rem;
  }
}

/* Scale text responsively */
@media (max-width: 1200px) {
  html {
    font-size: 95%;
  }
}

@media (max-width: 992px) {
  html {
    font-size: 90%;
  }
}

@media (max-width: 768px) {
  html {
    font-size: 85%;
  }
}

/* Ensure proper spacing in mobile view */
@media (max-width: 767.98px) {
  .row > [class*="col-"] {
    margin-bottom: 2rem;
  }
  
  .row > [class*="col-"]:last-child {
    margin-bottom: 0;
  }
  
  .sm-no-margin {
    margin-bottom: 0 !important;
  }
}

/* Mobile navigation */
@media (max-width: 991.98px) {
  .navbar-collapse {
    background-color: var(--neutral-100);
    padding: 1rem;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  }
}

/* Adjust services cards on smaller screens */
@media (max-width: 767.98px) {
  .service-card {
    padding: 1.5rem;
  }
}

/* Adjust footer spacing on mobile */
@media (max-width: 767.98px) {
  footer {
    padding: 3rem 0 1.5rem;
    text-align: center;
  }
  
  .footer-column {
    margin-bottom: 2.5rem;
  }
}

/* Resize images on small screens */
@media (max-width: 575.98px) {
  .blog-image {
    height: 180px;
  }
} 