@media (min-width: 768px) {
  .container { padding-inline: 2.5rem; }
}

@media (max-width: 1100px) {
  body.menu-open { overflow: hidden; }
  .nav-links {
    display: none;
    position: absolute;
    inset: 5.1rem 0 auto;
    flex-direction: column;
    gap: 0;
    padding: 0.5rem 1.25rem 1.5rem;
    background: var(--ivory);
    border-bottom: 1px solid var(--border);
  }
  .nav-links.open { display: flex; }
  .nav-links a { display: block; padding: 0.95rem 0; border-bottom: 1px solid var(--border); }
  .menu-toggle { display: block; }
  .nav-cta { display: none; }
}

@media (max-width: 900px) {
  .grid-3,
  .contact-layout { grid-template-columns: 1fr; }
  .who-we-are { grid-template-columns: 1fr; }
  .who-image { order: 2; min-height: 16rem; }
}

@media (max-width: 700px) {
  .grid-2,
  .footer-grid { grid-template-columns: 1fr; }
  .hero { min-height: 72vh; padding-block: 4.2rem; }
  .hero-title,
  .page-hero .hero-title {
    font-size: clamp(2.05rem, 10vw, 2.8rem);
    max-width: none;
  }
  .section { padding: 3.5rem 0; }
  .brand small { display: none; }
  .form { padding: 1.2rem; }
  .footer-bottom { flex-direction: column; }
}

@media (max-width: 480px) {
  .linkedin-link,
  .button { width: 100%; }
}
