/* Adaptations responsives */
@media (max-width: 1200px) {
  .specialites-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1024px) {
  h2 {
    font-size: 2.3rem;
  }

  .hero-content h1 {
    font-size: 3.1rem;
  }

  .hero-container,
  .interactive-container,
  .contact-container {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .hero-visual {
    order: -1;
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .services-grid > *:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  body {
    cursor: auto !important;
  }

  .custom-cursor-dot,
  .custom-cursor-circle {
    display: none !important;
  }

  section {
    padding: 80px 20px;
  }

  .section-header {
    margin-bottom: 48px;
  }

  .main-header {
    padding: 14px 20px;
    background-color: rgba(254, 254, 254, 0.9);
  }

  .main-nav {
    display: none;
  }

  .mobile-nav-toggle {
    display: block;
  }

  .hero-content {
    align-items: center;
    text-align: center;
  }

  .hero-actions {
    width: 100%;
    flex-flow: column;
    gap: 12px;
  }

  .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .metrics-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 16px;
  }

  .metric-card h3 {
    font-size: 2.6rem;
  }

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

  .services-grid > *:last-child {
    grid-column: span 1;
  }

  .diagnostic-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .diagnostic-card-wrapper,
  .contact-form-card {
    padding: 28px;
  }

  .contact-container {
    gap: 40px;
  }

  .form-grid,
  .footer-container,
  .footer-links-grid {
    grid-template-columns: 1fr;
  }

  .form-grid .col-span-2 {
    grid-column: span 1;
  }

  .footer-container {
    gap: 48px;
  }

  .footer-links-grid {
    gap: 32px;
  }

  /* Mobile Menu Styles */
  .main-header.mobile-menu-open .main-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: rgba(250, 253, 251, 0.96);
    backdrop-filter: blur(28px) saturate(150%);
    -webkit-backdrop-filter: blur(28px) saturate(150%);
    border-bottom: 1px solid rgba(30, 77, 59, 0.12);
    padding: 24px 24px 36px 24px;
    gap: 20px;
    box-shadow: 0 15px 35px rgba(30, 77, 59, 0.08);
    opacity: 0;
    transform: translateY(-10px);
    animation: mobileNavSlideDown 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }

  .main-header.mobile-menu-open .nav-link {
    font-size: 1.1rem;
    padding: 8px 0;
    border-bottom: 1px solid rgba(30, 77, 59, 0.05);
  }

  .main-header.mobile-menu-open .nav-btn {
    margin-top: 10px;
    text-align: center;
  }

  @keyframes mobileNavSlideDown {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
