/* CONTACT US map alignment — keep the supplied map centred without a wide empty gutter. */
.exact-contact .contact-map-layout {
  width: min(100%, 1320px);
  margin-right: auto;
  margin-left: auto;
}

.exact-contact .contact-map-shell,
.exact-contact .contact-map-illustration {
  background: #fff !important;
}

.exact-contact .contact-map-illustration img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-position: 50% 50% !important;
  transform: none !important;
}

@media (min-width: 881px) {
  .exact-contact .contact-map-layout {
    grid-template-columns: minmax(0, 1.17fr) minmax(0, 1fr) !important;
    height: auto !important;
    min-height: 0;
    aspect-ratio: 2.17 / 1;
  }

  .exact-contact .contact-map-illustration img {
    object-fit: cover !important;
  }
}

/* Desktop: keep the whole contact composition on one centred content rail.
 * The 1.17:1 map column mirrors the supplied guide-map ratio, so it fills
 * its panel without the large empty gutters that appeared on wide screens. */
@media (min-width: 1181px) {
  body.home .exact-contact .contact-title,
  body.home .exact-contact .contact-map-layout,
  body.home .exact-contact .contact-bottom {
    width: min(1440px, calc(100% - 96px)) !important;
    max-width: 1440px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.home .exact-contact .contact-map-layout {
    grid-template-columns: minmax(0, 1.17fr) minmax(0, 1fr) !important;
    aspect-ratio: 2.17 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
  }

  body.home .exact-contact .contact-map-shell,
  body.home .exact-contact .contact-map-illustration,
  body.home .exact-contact .contact-place-list {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
  }

  body.home .exact-contact .contact-map-illustration img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
  }
}

@media (max-width: 880px) {
  .exact-contact .contact-map-layout {
    width: 100%;
  }

  .exact-contact .contact-map-shell {
    height: auto !important;
    aspect-ratio: 984 / 840;
  }

  .exact-contact .contact-map-illustration img {
    object-fit: contain !important;
  }
}
