/* Responsive Styles */
@media (max-width: 992px) {
    .about-content {
      grid-template-columns: 1fr;
      gap: 30px;
    }

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

    .hero h1 {
      font-size: 2.5rem;
    }

    .hero p {
      font-size: 1.2rem;
    }

    .services-grid {
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 25px;
    }

    .gallery-grid {
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 20px;
    }

    .blog-grid {
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 25px;
    }
  }

  @media (max-width: 768px) {
    .hamburger {
      display: block;
      font-size: 1.5rem;
      padding: 10px;
    }

    .nav-menu {
      position: fixed;
      left: -100%;
      top: 70px;
      flex-direction: column;
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      width: 100%;
      text-align: center;
      transition: 0.3s;
      box-shadow: 0 10px 27px rgba(0, 0, 0, 0.1);
      border-top: 1px solid rgba(255, 255, 255, 0.3);
      padding: 20px 0;
      z-index: 1000;
    }

    .nav-menu.active {
      left: 0;
    }

    .nav-menu li {
      margin: 15px 0;
    }

    .nav-menu a {
      padding: 15px 20px;
      font-size: 1.1rem;
      display: block;
      width: 100%;
      min-height: 44px; /* Touch target size */
    }

    .hero {
      height: 60vh;
      padding: 0 15px;
    }

    .section-title {
      font-size: 2rem;
      margin-bottom: 30px;
    }

    .service-card {
      padding: 25px;
    }

    .service-card img {
      height: 150px;
    }

    .gallery-item {
      height: 200px;
    }

    .gallery-text h4 {
      font-size: 1.3rem;
    }

    .gallery-text p {
      font-size: 0.9rem;
    }

    .blog-card img {
      height: 180px;
    }

    .contact-form input,
    .contact-form textarea {
      padding: 12px;
      font-size: 16px; /* Prevents zoom on iOS */
    }

    .btn {
      min-height: 44px; /* Touch target size */
      width: 100%;
      max-width: 300px;
    }

    section {
      padding: 50px 0;
    }

    .container {
      padding: 0 15px;
    }
  }

  @media (max-width: 576px) {
    .hero h1 {
      font-size: 2rem;
      margin-bottom: 15px;
    }

    .hero p {
      font-size: 1rem;
      margin-bottom: 25px;
    }

    .btn {
      padding: 12px 24px;
      font-size: 1rem;
      min-height: 48px;
    }

    .section-title {
      font-size: 1.8rem;
      margin-bottom: 25px;
    }

    .service-card {
      padding: 20px;
    }

    .service-card h3 {
      font-size: 1.2rem;
      margin-bottom: 12px;
    }

    .gallery-item {
      height: 180px;
    }

    .gallery-text h4 {
      font-size: 1.2rem;
    }

    .gallery-text p {
      font-size: 0.85rem;
    }

    .blog-content {
      padding: 15px;
    }

    .blog-content h3 {
      font-size: 1.1rem;
    }

    .contact-info h3 {
      font-size: 1.3rem;
    }

    .contact-form .form-group {
      margin-bottom: 15px;
    }

    .footer-container {
      grid-template-columns: 1fr;
      gap: 25px;
    }

    .footer-section h3 {
      font-size: 1.2rem;
    }

    .social-icons {
      justify-content: center;
    }

    .social-icons a {
      width: 44px;
      height: 44px;
      min-width: 44px;
      min-height: 44px;
    }

    .navbar {
      padding: 15px 0;
    }

    .logo {
      font-size: 1.5rem;
    }

    .hamburger {
      font-size: 1.3rem;
    }

    section {
      padding: 40px 0;
    }

    .container {
      padding: 0 10px;
    }
  }

  /* Extra small mobile devices */
  @media (max-width: 480px) {
    .hero {
      height: 50vh;
    }

    .hero h1 {
      font-size: 1.8rem;
    }

    .hero p {
      font-size: 0.95rem;
    }

    .section-title {
      font-size: 1.6rem;
    }

    .services-grid,
    .gallery-grid,
    .blog-grid {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .service-card,
    .gallery-item {
      margin: 0 auto;
      max-width: 100%;
    }

    .gallery-item {
      height: 160px;
    }

    .btn {
      padding: 14px 28px;
      font-size: 1.1rem;
    }

    .nav-menu a {
      padding: 18px 20px;
    }

    .contact-form input,
    .contact-form textarea {
      padding: 14px;
    }
  }

/* Desktop Optimization */
@media (min-width: 1200px) {
    :root {
      --max-width: 1400px;
    }
    
    .container {
      padding: 0 40px;
    }
    
    .hero {
      height: 80vh;
    }
    
    .hero h1 {
      font-size: 4rem;
      margin-bottom: 30px;
    }
    
    .hero p {
      font-size: 1.8rem;
      margin-bottom: 40px;
      max-width: 800px;
    }
    
    .btn {
      padding: 16px 32px;
      font-size: 1.2rem;
    }
    
    .section-title {
      font-size: 3rem;
      margin-bottom: 60px;
    }
    
    .services-grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 40px;
    }
    
    .service-card {
      padding: 40px;
    }
    
    .gallery-grid {
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 30px;
    }
    
    .gallery-item {
      height: 300px;
    }
    
    .blog-grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 40px;
    }
    
    .about-content {
      gap: 60px;
    }
    
    .contact-container {
      gap: 60px;
    }
    
    .navbar {
      padding: 30px 0;
    }
    
    .logo {
      font-size: 2.2rem;
    }
    
    .nav-menu li {
      margin-left: 30px;
    }
    
    .nav-menu a {
      padding: 12px 16px;
      font-size: 1.1rem;
    }
    
    section {
      padding: 80px 0;
    }
    
    .footer-container {
      gap: 50px;
    }
  }

@media (min-width: 1600px) {
    :root {
      --max-width: 1600px;
    }
    
    .container {
      padding: 0 60px;
    }
    
    .hero h1 {
      font-size: 4.5rem;
    }
    
    .hero p {
      font-size: 2rem;
      max-width: 1000px;
    }
    
    .services-grid {
      grid-template-columns: repeat(4, 1fr);
    }
    
    .gallery-grid {
      grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    }
    
    .blog-grid {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  