/* ========================================
   RESPONSIVE - Mobile First
   ======================================== */

/* 768px+ (Tablet / Desktop) */
@media (min-width: 768px) {
  .nav-links {
    display: flex;
    align-items: center;
    gap: var(--space-8);
  }

  .menu-toggle {
    display: none;
  }

  .mobile-menu,
  .mobile-overlay {
    display: none;
  }

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

  .grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .process-grid {
    grid-template-columns: repeat(3, 1fr);
  }

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

  .team-preview {
    grid-template-columns: 1fr 1fr;
  }

  .team-member {
    grid-template-columns: 1fr 1fr;
  }

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

  .portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .service-list {
    grid-template-columns: 1fr 1fr;
  }
}

/* 1024px+ (Desktop) */
@media (min-width: 1024px) {
  .grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .grid-4 {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr;
  }
}

/* 1440px+ (Large Desktop) */
@media (min-width: 1440px) {
  .grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Landscape Mobile */
@media (max-width: 767px) and (orientation: landscape) {
  .hero {
    min-height: auto;
    padding-top: calc(var(--header-height) + var(--space-8));
    padding-bottom: var(--space-8);
  }
}

/* Touch Devices */
@media (hover: none) and (pointer: coarse) {
  .card:hover {
    transform: none;
    box-shadow: none;
  }
  .nav-link::after {
    display: none;
  }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal, .reveal-group > * {
    opacity: 1;
    transform: none;
  }
}

/* Print */
@media print {
  .nav, .menu-toggle, .mobile-menu, .mobile-overlay, .footer, .marquee, .cta-band, .btn, .scroll-indicator {
    display: none !important;
  }
  body {
    background: #fff;
    color: #000;
    font-size: 12pt;
  }
  h1, h2, h3 {
    color: #000;
    page-break-after: avoid;
  }
  a { color: #000; text-decoration: underline; }
  .card { border: 1px solid #ccc; background: none; box-shadow: none; }
  .section { padding: 1rem 0; }
}
