.hero-layout {
  align-items: center;
}
.hero-copy {
  max-width: 36rem;
}
.hero-media {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.hero-image-frame {
  max-height: 24rem;
}
.hero-meta {
  margin-top: var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}
.section-intro .intro-card {
  height: 100%;
}
.intro-list,
.package-features,
.theme-list,
.safe-list,
.booking-steps {
  margin: 0;
  padding-left: 1.25rem;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}
.intro-list li,
.package-features li,
.theme-list li,
.safe-list li,
.booking-steps li {
  margin-bottom: 0.4rem;
}
.package-card + .package-card {
  margin-top: var(--space-4);
}
.section-scenarios .card {
  height: 100%;
}
.scenario-image {
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}
.safe-play-card {
  margin-top: var(--space-6);
}
.safe-play-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.booking-steps li + li {
  margin-top: 0.5rem;
}
.booking-note {
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}
.hero-cta-group,
.package-cta,
.cta-layout {
  align-items: center;
}
@media (max-width: 960px) {
  .hero-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero-media {
    order: -1;
  }
}
@media (max-width: 768px) {
  .section {
    padding-top: var(--space-10);
    padding-bottom: var(--space-10);
  }
  .hero {
    padding-top: var(--space-16);
  }
  .hero-cta-group,
  .package-cta {
    flex-direction: column;
    align-items: stretch;
  }
  .cta-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
