/* ==========================================================================
   Responsive rules — mobile-first overrides (majority traffic is mobile)
   ========================================================================== */

/* Tablet */
@media (max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;row-gap:40px;}
  .counters{grid-template-columns:repeat(2,1fr);row-gap:32px;}
}

/* Nav collapse */
@media (max-width:900px){
  .nav-links{display:none;}
  .nav-cta .btn-ghost{display:none;}
  .nav-toggle{display:flex;}
}

/* Mobile */
@media (max-width:640px){
  section{padding:72px 0;}
  .section-tight{padding:52px 0;}
  .container{padding:0 20px;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .hero{padding:calc(var(--nav-h) + 48px) 0 64px;}
  .hero-actions{flex-direction:column;width:100%;}
  .hero-actions .btn{width:100%;}
  .footer-top{grid-template-columns:1fr;gap:36px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .price-row .amount{font-size:2.4rem;}
  .field-row{grid-template-columns:1fr;}
  .cta-band{padding:44px 24px;}
  .pricing-card{padding:32px 24px;}
  .form-card{padding:28px 22px;}
  .counters{grid-template-columns:1fr 1fr;}
  .counter .num{font-size:2rem;}
  .step{gap:16px;}
  .step-num{width:36px;font-size:1.2rem;}
  h1{font-size:clamp(2.1rem,9vw,2.8rem);}
  .card{padding:26px;}
}

@media (max-width:400px){
  .counters{grid-template-columns:1fr 1fr;}
}
