/* Keep the shared footer's office blocks inside consistent mobile gutters. */
@media only screen and (max-width: 959px) {
  body > footer.sticky-footer {
    display: grid;
    height: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: 28px clamp(24px, 4vw, 40px) 32px;
    word-break: normal;
  }

  body > footer .logo-wrapper,
  body > footer .mailing-list {
    float: none;
    width: auto;
    min-width: 0;
    height: auto;
    padding: 0;
    border-right: 0;
  }

  body > footer .footer-boxes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
    min-width: 0;
  }

  body > footer .footer-boxes > .site-links,
  body > footer .footer-boxes > .contact {
    float: none;
    width: auto;
    min-width: 0;
    padding: 0;
  }

  body > footer .site-links {
    grid-column: 1 / -1;
  }

  body > footer .site-links ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 24px;
  }

  body > footer .contact strong {
    min-height: 2.6em;
  }

  body > footer .contact strong,
  body > footer .contact .address,
  body > footer .contact .phone,
  body > footer .contact .fax {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  body > footer .mailing-list .input-container {
    display: flex;
    align-items: stretch;
    height: auto;
  }

  body > footer .mailing-list input.email {
    flex: 1 1 auto;
    width: 0;
    min-width: 0;
  }

  body > footer .mailing-list input.btn {
    flex: 0 0 auto;
    width: 11rem;
    margin: 0;
  }
}

@media only screen and (max-width: 359px) {
  body > footer .footer-boxes {
    grid-template-columns: minmax(0, 1fr);
  }

  body > footer .contact strong {
    min-height: 0;
  }
}
