/* ============================================================
   Catapulte — responsive.css
   All @media queries consolidated
   ============================================================ */

@media (max-width: 1024px) {
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .cards-grid-2 { grid-template-columns: 1fr; }
  .cards-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .services-list { grid-template-columns: 1fr; }
  .mission-vision { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 768px) {
  .site-header-inner { height: 56px; }

  .nav-burger { display: flex; }

  .site-nav {
    position: fixed;
    top: 56px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bg);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
  }
  .site-nav.open { transform: translateX(0); }

  .site-nav a {
    font-size: 1.1rem;
    padding: 12px 24px;
  }
  .site-nav a.nav-playbook { margin-left: 0; margin-top: 12px; }

  .header-theme-toggle { margin-left: 0; margin-top: 16px; }

  .site-hero { min-height: auto; padding: 4rem 1.5rem 3rem; }
  .site-hero h1 { font-size: clamp(2.2rem, 8vw, 3.5rem); }
  .hero-stats { gap: 2rem; }
  .hero-stat .num { font-size: 2rem; }

  .page-hero { padding: 5rem 1.5rem 3rem; }

  .site-section { padding: 3.5rem 0; }
  .container { padding: 0 1.25rem; }

  .cards-grid { grid-template-columns: 1fr; }
  .cards-grid-3 { grid-template-columns: 1fr; }
  .cards-grid-4 { grid-template-columns: 1fr; }

  .footer-inner { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; gap: 1rem; text-align: center; }

  .newsletter-form { flex-direction: column; }
  .newsletter-form button { width: 100%; }

  .category-filter { justify-content: center; gap: 6px; }
  .category-pill { padding: 6px 14px; font-size: 0.78rem; }
}
