.reservationHero{
  position:relative;
  width:100vw;
  min-height:min(720px,78vh);
  margin:0 0 88px calc(50% - 50vw);
  overflow:hidden;
  color:#fffdf8;
  background:#18231e;
}
.reservationHero>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
}
.reservationHero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(10,18,14,.84) 0%,rgba(10,18,14,.62) 47%,rgba(10,18,14,.16) 78%);
}
.reservationHero__inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  width:min(1120px,calc(100% - 48px));
  min-height:min(720px,78vh);
  margin:auto;
  padding:80px 0 64px;
}
.reservationHero .eyebrow{color:#e0b98d}
.reservationHero h1{
  max-width:10em!important;
  margin:14px 0 22px;
  color:#fffdf8!important;
  font-family:var(--serif);
  font-size:clamp(42px,6.2vw,82px);
  font-weight:500;
  line-height:1.3;
  letter-spacing:.04em!important;
}
.reservationHero__lead{
  max-width:46em;
  margin:0;
  color:rgba(255,253,248,.84);
  font-size:14px;
  line-height:2.05;
}
.reservationHero__nav{
  display:flex;
  flex-wrap:wrap;
  gap:1px;
  max-width:720px;
  margin-top:34px;
}
.reservationHero__nav a{
  min-width:190px;
  padding:14px 18px;
  color:#1c2922;
  background:#fffdf8;
  border:1px solid rgba(255,253,248,.88);
  font-size:12px;
  letter-spacing:.04em;
}
.reservationHero__nav a:hover,.reservationHero__nav a:focus-visible{color:#fffdf8;background:transparent}
.reservationIntent{margin:0 0 96px}
.reservationIntent__head{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);
  gap:54px;
  align-items:end;
  padding-bottom:34px;
  border-bottom:1px solid var(--line);
}
.reservationIntent__head h2{margin:10px 0 0;font-size:clamp(30px,3.6vw,48px);line-height:1.5}
.reservationIntent__head>p{margin:0;color:var(--sub);font-size:14px;line-height:2}
.reservationIntent__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--line)}
.reservationIntent__card{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line);background:#fffdf8}
.reservationIntent__photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:#d9ddd7}
.reservationIntent__photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.reservationIntent__card:hover .reservationIntent__photo img{transform:scale(1.025)}
.reservationIntent__body{display:flex;flex:1;flex-direction:column;padding:28px 26px 26px}
.reservationIntent__body h3{margin:10px 0 14px;font-size:23px;line-height:1.55}
.reservationIntent__body>p:not(.eyebrow){margin:0;color:var(--sub);font-size:13px;line-height:1.9}
.reservationIntent__checks{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 24px}
.reservationIntent__checks span{padding:5px 8px;border:1px solid var(--line);color:var(--sub);font-size:10px}
.reservationIntent__actions{display:grid;gap:8px;margin-top:auto}
.reservationIntent__actions a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding:12px 14px;
  color:#fffdf8;
  background:#203229;
  border:1px solid #203229;
  font-size:12px;
  line-height:1.5;
}
.reservationIntent__actions a::after{content:'\2197';margin-left:10px}
.reservationIntent__actions a:hover,.reservationIntent__actions a:focus-visible{color:#203229;background:transparent}
.reservationIntent__note{margin:18px 0 0;color:var(--sub);font-size:10px;line-height:1.8}
.revenueInfoGrid .travelInfoCard--visual{
  display:flex;
  flex-direction:column;
  padding:0;
  overflow:hidden;
}
.travelInfoCard__photo{
  aspect-ratio:3/2;
  margin:0;
  overflow:hidden;
  background:#d9ddd7;
  border-bottom:1px solid var(--line);
}
.travelInfoCard__photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.travelInfoCard--visual:hover .travelInfoCard__photo img{transform:scale(1.025)}
.travelInfoCard__body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:28px;
}
.travelInfoCard__body .cardActions{margin-top:auto;padding-top:18px}
.bookingChecklistVisual{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  margin:30px 0 0;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fffdf8;
}
.bookingChecklistVisual img{
  display:block;
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
}
.bookingChecklistVisual figcaption{
  display:flex;
  align-items:center;
  margin:0;
  padding:30px;
  color:var(--sub);
  font-size:13px;
  line-height:2;
  border-left:1px solid var(--line);
}
.revenuePage .travelCheckList--visual{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  max-width:none;
  margin-top:28px;
  border-top:0;
}
.travelCheckList--visual .travelCheckItem{
  display:grid;
  grid-template-columns:minmax(150px,.72fr) minmax(0,1fr);
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fffdf8;
}
.travelCheckList--visual .travelCheckItem--wide{grid-column:1/-1}
.travelCheckList--visual .travelCheckItem img{
  display:block;
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
}
.travelCheckList--visual .travelCheckItem div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:24px;
}
.travelCheckList--visual .travelCheckItem strong{
  font-family:var(--serif);
  font-size:18px;
  font-weight:500;
}
.travelCheckList--visual .travelCheckItem span{
  color:var(--sub);
  font-size:13px;
  line-height:2;
}
@media(max-width:900px){
  .reservationIntent__head{grid-template-columns:1fr;gap:20px}
  .reservationIntent__grid{grid-template-columns:1fr}
  .reservationIntent__card{display:grid;grid-template-columns:minmax(220px,.8fr) 1fr;border-bottom:1px solid var(--line)}
  .reservationIntent__photo{height:100%;aspect-ratio:auto}
}
@media(max-width:560px){
  main.wrap.revenuePage>.reservationHero{
    width:100vw!important;
    max-width:100vw!important;
    min-height:650px;
    margin-right:0!important;
    margin-bottom:64px;
    margin-left:-22px!important;
  }
  .reservationHero::after{background:linear-gradient(0deg,rgba(10,18,14,.9) 0%,rgba(10,18,14,.54) 66%,rgba(10,18,14,.2) 100%)}
  .reservationHero__inner{width:calc(100% - 40px);min-height:650px;padding:64px 0 36px}
  .reservationHero h1{font-size:41px;line-height:1.42}
  .reservationHero__lead{font-size:13px;line-height:1.9}
  .reservationHero__nav{display:grid;grid-template-columns:1fr;width:100%;margin-top:26px}
  .reservationHero__nav a{min-width:0}
  .reservationIntent{margin-bottom:72px}
  .reservationIntent__head{padding-bottom:26px}
  .reservationIntent__head h2{font-size:29px}
  .reservationIntent__grid{grid-template-columns:1fr}
  .reservationIntent__card{display:flex}
  .reservationIntent__photo{height:auto;aspect-ratio:16/10}
  .reservationIntent__body{padding:24px 20px}
  .travelInfoCard__body{padding:24px 20px}
  .bookingChecklistVisual{grid-template-columns:1fr}
  .bookingChecklistVisual img{min-height:0;aspect-ratio:3/2}
  .bookingChecklistVisual figcaption{padding:20px;border-top:1px solid var(--line);border-left:0}
  .revenuePage .travelCheckList--visual{grid-template-columns:1fr;gap:16px}
  .travelCheckList--visual .travelCheckItem,
  .travelCheckList--visual .travelCheckItem--wide{grid-column:auto;grid-template-columns:1fr}
  .travelCheckList--visual .travelCheckItem img{height:auto;min-height:0;aspect-ratio:16/10}
  .travelCheckList--visual .travelCheckItem div{padding:20px}
}
