.hero--subpage {
  position: relative;
}
.hero__inner--single {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}
@media (max-width: 959px) {
  .hero__inner--single {
    grid-template-columns: minmax(0, 1fr);
  }
}
.hero-floats--single {
  position: relative;
}
.hero-floats__grid--single {
  gap: var(--space-6);
}
.hero-float-card--full {
  grid-column: 1 / -1;
}
@media (min-width: 960px) {
  .hero-floats__grid--single {
    position: absolute;
    inset: -40px -20px 0 auto;
    max-width: 420px;
  }
  .hero-float-card--pink {
    transform: translate(5%, -10%) rotate(-4deg);
  }
  .hero-float-card--yellow {
    transform: translate(32%, -32%) rotate(3deg);
  }
  .hero-float-card--full {
    transform: translate(8%, 20%) rotate(-2deg);
  }
}
.private-intro-grid {
  align-items: center;
}
.private-hero-image {
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: var(--shadow-medium);
}
.private-hero-image img {
  height: 100%;
  object-fit: cover;
}
.section__header--center {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.format-figure {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
}
.visual-panel {
  position: relative;
  display: grid;
  gap: var(--space-6);
}
.visual-panel__image {
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: var(--shadow-medium);
}
.visual-panel__overlay {
  margin-top: -60px;
}
@media (min-width: 992px) {
  .visual-panel {
    align-content: start;
  }
  .visual-panel__overlay {
    max-width: 360px;
    margin-left: auto;
  }
}
.grid-2--reverse {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}
@media (min-width: 992px) {
  .grid-2--reverse {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  }
}
.points-grid {
  align-items: flex-start;
}
.booking-card {
  align-self: start;
}
.booking-steps {
  counter-reset: step;
  display: grid;
  gap: var(--space-6);
  padding-left: 0;
}
.booking-steps li {
  position: relative;
  padding-left: 0;
}
.booking-steps h4 {
  font-size: var(--font-size-md);
  margin-bottom: var(--space-2);
}
.link-inline {
  font-size: var(--font-size-sm);
  color: var(--color-accent-yellow);
}
.link-inline:hover {
  color: var(--color-primary-strong);
}
.crosslink-grid {
  margin-top: var(--space-6);
}
.btn--block-mobile {
  width: 100%;
}
@media (min-width: 640px) {
  .btn--block-mobile {
    width: auto;
  }
}
