/* ===========================================================
   Responsive refinements — desktop-first pass reinforcement
   =========================================================== */

/* Large monitors */
@media (min-width: 1600px){
  .container{ max-width: 1440px; }
  h1{ font-size: 5rem; }
}

/* Laptop */
@media (max-width: 1200px){
  .hero-stats{ gap: var(--space-4); }
  .masonry{ columns: 3 220px; }
}

/* Tablet */
@media (max-width: 900px){
  section{ padding: var(--space-5) 0; }
  .masonry{ columns: 2 220px; }
  .process-row{ overflow-x: visible; }
}

/* Small tablet / large phone */
@media (max-width: 720px){
  .hero-copy p{ max-width: 100%; }
  .stat-row{ gap: var(--space-2); }
  .stat-box{ min-width: 45%; padding: var(--space-2); }
  .footer-grid{ grid-template-columns: 1fr; text-align:left; }
  .footer-bottom{ flex-direction:column; text-align:center; }
}

/* Phone */
@media (max-width: 550px){
  .rate-card-grid{ grid-template-columns: 1fr; }
  .pricing-notice{ flex-direction: column; gap: var(--space-2); }
}

@media (max-width: 480px){
  .container{ padding: 0 1.1rem; }
  .g-card{ width: 250px; height: 160px; }
  .btn{ padding: 0.85rem 1.5rem; font-size: 0.88rem; }
  .terminal-body{ font-size: 0.76rem; }
  .hero-stats{ justify-content: space-between; }
  .price-card, .service-card, .testi-card, .contact-form, .rate-card, .why-item, .info-card, .process-step, .tech-card{ padding: var(--space-3); }
}

/* Ensure absolutely no horizontal scroll */
html, body{ max-width: 100vw; }
