/* ==========================================================================
   Responsive rules
   ========================================================================== */

@media (max-width: 900px) {
  .grid-2 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 780px) {
  .utility-bar .top-left-hide-mobile { display: none; }

  .nav-toggle { display: inline-flex; }

  .nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--color-white);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    box-shadow: var(--shadow-md);
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition);
  }
  .nav-links.open { max-height: 480px; }
  .nav-links li { border-top: 1px solid var(--color-border); }
  .nav-links a { display: block; padding: 1rem var(--space-md); }

  .nav-a11y-btn span.label { display: none; }

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

  .testimonial-card { grid-template-columns: 1fr; text-align: center; }
  .testimonial-card img { margin: 0 auto; }
}

/* No horizontal scrolling anywhere */
html, body { overflow-x: hidden; }
