.booking-back {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13px;
}
.booking-back:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.booking-main {
  padding-top:56px;
  padding-bottom:42px;
}
.booking-intro {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  align-items:center;
  gap:80px;
  margin-bottom:52px;
}
.booking-intro .eyebrow {
  display:flex;
  align-items:center;
  gap:9px;
}
.booking-intro h1 {
  margin-top:22px;
  font-size:clamp(44px,5vw,64px);
  letter-spacing:-3px;
  line-height:1.04;
}
.booking-intro h1 span {
  color:var(--blue);
}
.booking-lead {
  margin-top:23px;
  font-size:20px;
  line-height:1.4;
}
.booking-description {
  max-width:490px;
  margin-top:12px;
  font-size:15px;
  color:var(--muted);
}
.booking-details {
  background:var(--pale-blue);
  border-radius:12px;
  padding:30px;
}
.booking-details dl {
  margin:21px 0 0;
}
.booking-details dl>div {
  display:grid;
  grid-template-columns:85px 1fr;
  gap:16px;
  padding-block:13px;
  border-top:1px solid #ccd6e9;
  font-size:14px;
  line-height:1.5;
}
.booking-details dt {
  color:var(--muted);
}
.booking-details dd {
  margin:0;
  font-weight:600;
}
.booking-calendar-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:23px;
}
.booking-calendar-heading .eyebrow {
  color:var(--blue);
  margin-bottom:10px;
}
.booking-calendar-heading h2 {
  font-size:29px;
  line-height:1.2;
  letter-spacing:-1px;
}
.booking-calendar-heading>p {
  max-width:270px;
  color:var(--muted);
  font-size:13px;
}
.booking-frame-wrap {
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
}
.booking-frame {
  display:block;
  width:100%;
  height:820px;
  border:0;
}
.booking-help {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px 28px;
  padding-top:20px;
  color:var(--muted);
  font-size:12px;
}
.booking-help a {
  color:var(--navy);
  text-decoration:underline;
  text-underline-offset:3px;
}
.booking-page .site-footer {
  border-top:1px solid var(--line);
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
@media(max-width:900px) {
  .booking-frame {
    height:900px;
  }
  .booking-intro {
    gap:30px;
    grid-template-columns:1fr 1fr;
  }
  .booking-details {
    padding:23px;
  }
  .booking-details dl>div {
    grid-template-columns:1fr;
    gap:4px;
  }
}
@media(max-width:600px) {
  .booking-main {
    padding-top:35px;
    padding-bottom:30px;
  }
  .booking-back {
    font-size:12px;
    gap:7px;
  }
  .booking-intro {
    grid-template-columns:1fr;
    gap:27px;
    margin-bottom:35px;
  }
  .booking-intro h1 {
    font-size:48px;
    letter-spacing:-2.4px;
    margin-top:18px;
  }
  .booking-lead {
    font-size:19px;
    margin-top:19px;
  }
  .booking-details dl>div {
    grid-template-columns:72px 1fr;
    gap:12px;
    font-size:13px;
    padding-block:11px;
  }
  .booking-details .eyebrow {
    font-size:9px;
    letter-spacing:1.2px;
  }
  .booking-calendar-heading {
    display:block;
    margin-bottom:18px;
  }
  .booking-calendar-heading h2 {
    font-size:27px;
  }
  .booking-calendar-heading>p {
    margin-top:12px;
    max-width:none;
  }
  .booking-frame-wrap {
    margin-inline:-12px;
    border-radius:8px;
  }
  .booking-frame {
    height:1500px;
  }
  .booking-help {
    display:grid;
    gap:10px;
  }
}
