/* =========================================================
   Responsive rules — mobile-first overrides
   ========================================================= */

@media (max-width: 960px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-graphic{ order:-1; max-width:340px; margin:0 auto 32px; }
  .hero-actions{ flex-wrap:wrap; }
  .hero-stats{ flex-wrap:wrap; row-gap:20px; }
  .grid-4{ grid-template-columns:repeat(2, 1fr); }
  .grid-3{ grid-template-columns:repeat(2, 1fr); }
  .brand-marquee-track{ gap:56px; padding:20px 24px; }
  .brand-marquee-logo{ height:52px; }
  .brand-marquee-logo img{ max-width:150px; }
  .client-strip{ grid-template-columns:repeat(2, 1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; row-gap:32px; }
  .cta-band{ flex-direction:column; text-align:center; padding:40px 28px; }
}

@media (max-width: 1024px){
  /* Shrink header so logo + CTA button + hamburger always fit on one row */
  .nav{ padding:10px 20px; }
  .logo-img{ height:44px; }
  .nav-cta{ gap:10px; }
  .nav-cta .btn{ padding:9px 14px; font-size:.82rem; }

  .nav-links{
    position:absolute;
    top:100%; left:0; right:0;
    background:var(--surface);
    border-bottom:1px solid var(--border);
    box-shadow:0 12px 24px rgba(10,61,36,.08);
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:8px 24px 20px;
    max-height:80vh;
    overflow-y:auto;
    transform:translateY(-8px);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .nav-links a{ color:var(--text) !important; }
  .nav-links a::after{ background:var(--coral-600) !important; }
  .nav-links a.active{ color:var(--coral-600) !important; }
  .nav-links.open{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
  .nav-links li{ width:100%; padding:14px 0; border-bottom:1px solid var(--border); }
  .nav-links a{ display:block; padding:6px 0; font-size:1rem; }
  .nav-toggle{ display:flex; }
  .nav-cta .btn-outline-desktop{ display:none; }

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

@media (max-width: 640px){
  .grid-3, .grid-4{ grid-template-columns:1fr; }
  .client-strip{ grid-template-columns:1fr; }
  .brand-marquee-track{ gap:40px; padding:16px 18px; }
  .brand-marquee-logo{ height:42px; }
  .brand-marquee-logo img{ max-width:120px; }
  .footer-grid{ grid-template-columns:1fr; }
  .footer-bottom{ flex-direction:column; gap:10px; text-align:center; }
  .hero{ padding:56px 0 40px; }
  .page-header{ padding:52px 0 36px; }
  .section{ padding:56px 0; }
  .cta-band{ border-radius:12px; }
  .hero-actions{ flex-direction:column; align-items:stretch; }
  .hero-actions .btn{ justify-content:center; }

  /* Prevent iOS auto-zoom on form focus (needs 16px+ font) */
  .form-field input,
  .form-field textarea,
  .form-field select{ font-size:16px; }
}

@media (max-width: 400px){
  .logo-img{ height:34px; }
  .nav-cta .btn-dark{ padding:8px 12px; font-size:.78rem; }
}
