.booking-page .content-hero {
  padding: clamp(3.5rem, 7vw, 6.5rem) 0;
}

.booking-page .booking-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.booking-page .booking-hero__copy {
  min-width: 0;
}

.booking-page .content-hero h1 {
  max-width: 13ch;
  font-size: clamp(2.8rem, 5vw, 4.75rem);
  line-height: .98;
}

.booking-page .booking-hero__media {
  min-width: 0;
  margin: 0;
}

.booking-page .booking-hero__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  border-radius: .25rem 5rem .25rem .25rem;
  box-shadow: 0 24px 65px rgba(39, 48, 40, .16);
}

.booking-page .booking-hero__media figcaption {
  margin-top: .75rem;
  color: #68716c;
  font-family: Georgia, serif;
  font-size: .82rem;
  font-style: italic;
  text-align: right;
}

@media (max-width: 900px) {
  .booking-page .booking-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .booking-page .content-hero {
    background: #fbfaf7;
  }

  .booking-page .content-hero h1 {
    max-width: 100%;
    font-size: clamp(2.4rem, 7vw, 4rem);
  }
}

@media (max-width: 600px) {
  .booking-page .content-hero {
    padding: 3rem 0 3.75rem;
  }

  .booking-page .content-hero h1 {
    font-size: clamp(2rem, 9vw, 2.75rem);
  }

  .booking-page .booking-hero__media img {
    border-radius: .2rem 3.5rem .2rem .2rem;
  }
}
