/* Factory and office contacts share the same responsive layout on static and detail pages. */
.footerGrid {
  grid-template-columns: minmax(180px, 1.55fr) minmax(80px, .65fr) minmax(125px, 1fr) minmax(155px, 1.1fr) minmax(175px, 1.2fr);
  gap: clamp(18px, 2.8vw, 44px);
}
.footerLocation p { overflow-wrap: anywhere; }
.footerLocation a[data-contact-phone] {
  color: #dce8fb;
  font-weight: 700;
  margin-top: 14px;
}
.locationSection--split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 0;
}
.locationSection--split .locationPanel {
  min-height: 520px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.locationPanel--office { background: #081933; color: #fff; }
.locationPanel--office address { color: #b8c8e0; }
.locationPanel--office .eyebrow { color: #8db8ff; }
.locationPanel--office .textLink { color: #fff; }
.locationPanel .locationPhone {
  margin-top: 24px;
  font-size: 18px;
  font-weight: 700;
}
.locationPanel .textLink { margin-top: auto; padding-top: 30px; }
@media (max-width: 1100px) {
  .footerGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footerBrandBlock { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .locationSection--split { grid-template-columns: 1fr; }
  .locationSection--split .locationPanel { min-height: 420px; }
}
@media (max-width: 560px) {
  .footerGrid { grid-template-columns: 1fr; }
  .footerBrandBlock { grid-column: auto; }
  .locationSection--split .locationPanel { min-height: 390px; padding: 80px 6vw; }
  .locationSection--split .locationPanel h2 { font-size: clamp(42px, 13vw, 66px); }
}
