/* Mobile-first responsive design */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .hero-section h1 { font-size: 2.5rem;
    padding-top: 150px;
}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .hero-section h1 { font-size: 2.75rem;
    padding-top: 150px;
}
  .service-card { margin-bottom: 2rem; }
  .team-photo { width: 150px; height: 150px; }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .hero-section h1 { font-size: 3rem;
    padding-top: 150px;
}
  .section-padding { padding: 5rem 0; }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .container { max-width: 1140px; }
}

/* Mobile-specific adjustments */
@media (max-width: 767.98px) {
  .navbar-brand { font-size: 1rem; }
  .hero-section { min-height: 80vh; }
  .hero-section h1 { font-size: 2rem;
    padding-top: 150px;
}
  .section-padding { padding: 3rem 0; }
  .service-card { margin-bottom: 1.5rem; }
  .team-photo { width: 100px; height: 100px; }
  .contact-form { padding: 1.5rem; }
}

/* No animations on mobile to respect user preferences */
@media (max-width: 767.98px) and (prefers-reduced-motion: no-preference) {
  .service-card:hover { transform: none; }
  .price-card:hover { transform: none; }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .service-card { border: 2px solid #000; }
  .price-card { border: 2px solid #000; }
  .faq-card { border: 2px solid #000; }
}

/* Dark mode support */
/* Disable horizontal scroll on desktop resolutions */
@media (min-width: 992px) {
    html, body {
        overflow-x: hidden;
        max-width: 100%;
    }
}
