body {
  color-scheme: dark;
}
.hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);
  gap: var(--space-32);
  align-items: center;
}
.hero__content {
  max-width: 36rem;
}
.hero__media {
  display: flex;
  justify-content: flex-end;
}
.hero-image-card {
  padding: var(--space-16);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
}
.hero-image-caption,
.section-image-caption {
  margin-top: var(--space-8);
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}
.hero-meta {
  margin-top: var(--space-24);
}
.hero-meta-text {
  margin-top: var(--space-8);
  font-size: var(--font-size-sm);
}
.section-header {
  max-width: 44rem;
}
.section-header--stack {
  gap: var(--space-24);
}
.section-header-cta {
  flex-shrink: 0;
}
.section-subtitle {
  color: var(--color-text-muted);
}
.section--alt {
  background: radial-gradient(circle at top left, rgba(56, 189, 248, 0.06), transparent 55%),
    radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.08), transparent 60%),
    var(--color-surface-alt);
}
.section__split {
  align-items: center;
}
.section__split--reverse {
  direction: rtl;
}
.section__split--reverse > * {
  direction: ltr;
}
.section-image-card {
  padding: var(--space-16);
  border-radius: var(--radius-xl);
}
.section-list {
  margin-top: var(--space-12);
  padding-left: 1.1rem;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}
.section-list li + li {
  margin-top: var(--space-4);
}
.card-link,
.callout-link {
  display: inline-flex;
  margin-top: var(--space-16);
  font-size: var(--font-size-sm);
}
.booking-card {
  height: 100%;
}
.booking-snippet {
  margin-top: var(--space-16);
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}
.reviews-preview {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
.review-item {
  background: rgba(15, 23, 42, 0.9);
  border-radius: var(--radius-md);
  padding: var(--space-12) var(--space-16);
}
.review-quote {
  font-size: var(--font-size-sm);
  color: var(--color-text);
}
.review-meta {
  margin-top: var(--space-8);
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}
.info-card + .info-card {
  margin-top: var(--space-24);
}
.section-cta-final {
  text-align: center;
}
.hero-actions--center {
  justify-content: center;
}
@media (max-width: 992px) {
  .hero__layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero__media {
    justify-content: flex-start;
  }
}
@media (max-width: 768px) {
  .hero__layout {
    gap: var(--space-24);
  }
  .section-header-cta {
    margin-top: var(--space-16);
  }
  .section__split--reverse {
    direction: ltr;
  }
}
