.section-reservations-hero {
  padding-top: calc(var(--space-16) + var(--nav-height));
}
.reservations-hero-grid {
  display: grid;
  gap: var(--space-10);
  align-items: center;
}
.reservations-hero-copy {
  max-width: 640px;
}
.hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block: var(--space-5);
}
.hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}
.hero-meta {
  display: grid;
  gap: var(--space-4);
}
.hero-stat {
  padding-block: var(--space-3);
  border-top: var(--border-style-subtle);
}
.reservations-hero-media {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.hero-image-card {
  overflow: hidden;
}
.hero-image-card img {
  border-radius: var(--radius-md);
}
.hero-disclaimer {
  font-size: var(--font-size-xs);
}
.section-ambience {
  background-color: var(--color-bg-alt);
}
.ambience-layout {
  display: grid;
  gap: var(--space-10);
  align-items: center;
}
.ambience-media {
  max-width: 560px;
}
.ambience-grid {
  margin-top: var(--space-6);
}
.ambience-card {
  height: 100%;
}
.ambience-list {
  margin-top: var(--space-4);
  display: grid;
  gap: var(--space-2);
}
.ambience-list li::before {
  content: "•";
  margin-right: 0.5rem;
}
.season-grid {
  display: grid;
  gap: var(--space-4);
  margin-block: var(--space-4);
}
.season-item {
  padding-left: var(--space-2);
  border-left: 1px solid rgba(221, 209, 196, 0.9);
}
.section-private {
  background-color: var(--color-bg);
}
.reservations-private-grid {
  display: grid;
  gap: var(--space-8);
  align-items: flex-start;
}
.private-pills {
  margin-top: var(--space-6);
}
.concierge-points {
  display: grid;
  gap: var(--space-3);
  margin-block: var(--space-4);
}
.casino-list {
  display: grid;
  gap: var(--space-2);
}
.casino-list li::before {
  content: "•";
  margin-right: 0.5rem;
}
.private-aside {
  max-width: 380px;
}
.section-reservation-form {
  background-color: var(--color-bg-alt);
}
.form-layout {
  display: grid;
  gap: var(--space-10);
  align-items: flex-start;
}
.form-intro {
  max-width: 520px;
}
.form-info-grid {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-5);
}
.form-panel-wrapper {
  max-width: 640px;
  margin-left: auto;
}
.form-header {
  margin-bottom: var(--space-5);
}
.form-step-indicator {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.step-pill {
  width: 32px;
  height: 32px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(243, 229, 214, 0.6);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xs);
}
.step-pill.is-active {
  background-color: rgba(243, 229, 214, 0.3);
  border-color: rgba(243, 229, 214, 0.9);
}
.step-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, rgba(243, 229, 214, 0.8), transparent);
}
.form-step {
  display: block;
}
.form-step.is-hidden {
  display: none;
}
.form-success.is-hidden {
  display: none;
}
.button-full {
  width: 100%;
  margin-top: var(--space-4);
}
.newsletter-optin {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}
.newsletter-optin input[type="checkbox"] {
  width: auto;
  margin-top: 0.2rem;
}
.newsletter-optin label {
  margin-bottom: 0;
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--font-size-sm);
}
.summary-grid {
  display: grid;
  gap: var(--space-5);
  margin-block: var(--space-4);
}
.summary-card {
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  border: 1px solid rgba(243, 229, 214, 0.5);
  background-color: rgba(12, 9, 6, 0.35);
}
.summary-list {
  display: grid;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
}
.summary-list dt {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  opacity: 0.7;
}
.summary-list dd {
  margin: 0;
}
.terms-box {
  margin-top: var(--space-3);
}
.section-terms {
  background-color: var(--color-bg);
}
.terms-layout {
  display: grid;
  gap: var(--space-10);
  align-items: flex-start;
}
.terms-aside {
  max-width: 420px;
}
.accordion {
  margin-top: var(--space-5);
}
.accordion-header span:last-child {
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .reservations-hero-grid,
  .ambience-layout,
  .reservations-private-grid,
  .form-layout,
  .terms-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero-cta-row {
    flex-direction: column;
  }
  .hero-meta {
    grid-template-columns: minmax(0, 1fr);
  }
  .private-aside,
  .terms-aside,
  .ambience-media,
  .form-panel-wrapper {
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .reservations-hero-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }
  .hero-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ambience-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  }
  .reservations-private-grid {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.9fr);
  }
  .form-layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  }
  .form-info-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .terms-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }
  .summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
