/* ============================================
   Responsive — Mobile & Tablet
   ============================================ */

/* ── Tablet (< 1024px) ── */
@media (max-width: 1024px) {
  h1 { font-size: var(--font-size-3xl); }
  h2 { font-size: var(--font-size-2xl); }

  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-5 { grid-template-columns: repeat(3, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-xl); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }

  .service-block { grid-template-columns: 1fr; gap: var(--space-xl); }
  .service-block.reverse { direction: ltr; }
  .service-icon-large { height: 240px; }
}

/* ── Mobile (< 768px) ── */
@media (max-width: 768px) {
  :root { --nav-height: 64px; }

  .section { padding: var(--space-3xl) 0; }
  h1 { font-size: var(--font-size-2xl); }

  .hero { min-height: 75vh; }
  .hero h1 { font-size: var(--font-size-3xl); }
  .hero p { font-size: var(--font-size-base); }
  .hero-sub { min-height: 35vh; }
  .hero-sub h1 { font-size: var(--font-size-2xl); }

  /* Nav → Mobile */
  .nav-links, .nav-cta { display: none; }
  .nav-toggle { display: flex; }

  .nav-mobile {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--color-dark);
    z-index: 1005;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-xl);
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-base);
  }

  .nav-mobile.open { opacity: 1; visibility: visible; display: flex; }

  .nav-mobile a {
    font-size: var(--font-size-xl);
    color: var(--color-white);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 2px;
  }

  .nav-mobile a:hover { color: var(--color-accent); }

  /* Grids → Single Column */
  .grid-2, .grid-3, .grid-4, .grid-5 { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr; }

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

  .filter-tabs { gap: var(--space-xs); }
  .filter-tab { padding: 8px 16px; font-size: var(--font-size-xs); }

  .logo-grid { grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
}

/* ── Small Mobile (< 480px) ── */
@media (max-width: 480px) {
  .container { padding: 0 var(--space-md); }
  .hero h1 { font-size: var(--font-size-2xl); }
  .stat-number { font-size: var(--font-size-2xl); }
  .logo-grid { grid-template-columns: repeat(2, 1fr); }
}
