/* Homepage-only responsive repair — 2026-09-05 */
@media (max-width: 767px) {
  html, body, #root { width: 100%; max-width: 100%; overflow-x: hidden; }
  main, main > section, main section > div { min-width: 0; max-width: 100%; }
  main > section { overflow-x: clip; }
  main h1, main h2, main h3, main h4, main p, main blockquote, main a { max-width: 100%; overflow-wrap: break-word; }
  .locked-why, .locked-client-voice { padding-left: 1rem; padding-right: 1rem; }
  .locked-why__grid { grid-template-columns: minmax(0, 1fr); }
  .locked-why__card { min-width: 0; min-height: 0; padding: 1.4rem; }
  .locked-why h2 { font-size: clamp(2rem, 11vw, 3rem); line-height: 1.02; }
  .locked-why__bar { padding: 1rem; line-height: 1.5; }
  .locked-client-voice blockquote { font-size: clamp(1.55rem, 7.4vw, 2.15rem); line-height: 1.16; }
  .locked-client-voice__role { font-size: .88rem; }
  .locked-partners { padding: 3rem 0; }
  .locked-partners__heading { padding: 0 1rem; }
  .locked-partners__marquee { gap: .5rem; margin-top: 2rem; }
  .locked-partners__row { max-width: 100vw; touch-action: pan-x pan-y; }
  .locked-partners__group { gap: .75rem; padding-right: .75rem; }
  .locked-partners__card { width: 9rem; height: 5.5rem; padding: .65rem; }
  .locked-partners__card img,
  .locked-partners__card img[src*="education-design-international"],
  .locked-partners__card img[src*="danbury"] { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; transform: none; }
  .locked-vacancy-logo { width: min(10rem, 58%); height: 4rem; }
  footer, footer > div, footer nav, footer .grid, footer a, footer p { min-width: 0; max-width: 100%; }
  footer .grid { grid-template-columns: minmax(0, 1fr) !important; }
  footer nav { display: grid; grid-template-columns: minmax(0, 1fr) !important; gap: .45rem; }
  footer a { white-space: normal !important; overflow-wrap: anywhere; }
  footer img { max-width: 13rem; }
}

/* Keep the complete homepage hero content-driven and clean at every viewport. */
#hero.home-hero {
  height: auto !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
}
#hero.home-hero > div:last-child {
  padding-top: clamp(5rem, 9vh, 7rem);
  padding-bottom: clamp(4rem, 8vh, 6rem);
}
@media (max-width: 639px) {
  #hero.home-hero > div:last-child {
    padding-top: 4rem;
    padding-bottom: 3.5rem;
  }
}
