/* Additions to the supplied compiled frontend, whose source build is absent. */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Keep office addresses readable with two offices or a larger directory. */
.footer-offices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 18rem));
  gap: 2.5rem 3rem;
}
.footer-office { min-width: 0; }
.footer-office-details { overflow-wrap: anywhere; }

.footer-legal { flex: 1; min-width: 0; }
.footer-legal .cta__label { white-space: normal; line-height: 1.5; }
@media (max-width: 639px) { .footer-legal { min-width: 10rem; } }
/* Preserve the lettering included in the hospitality group montage. */
a[href$="/groupe-hotelier-de-luxe"] img,
a[href$="/luxury-hotel-group"] img { object-fit: contain !important; object-position: center; }
