.hero-home {
  position: relative;
  min-height: 90vh;
}
.hero-home .hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-home .hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-inner {
  position: relative;
  z-index: 1;
}
.hero-meta {
  margin-top: var(--space-24);
}
.section-invite .invite-grid {
  align-items: stretch;
}
.section-invite .invite-actions {
  margin-top: var(--space-24);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
}
.section-invite .invite-list {
  margin-top: var(--space-24);
  display: grid;
  gap: var(--space-8);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}
.section-invite .invite-panel .quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-top: var(--space-16);
}
.section-invite .invite-note {
  margin-top: var(--space-20);
  font-size: var(--font-size-sm);
}
.section-dining .dining-grid,
.section-lounge .lounge-grid,
.section-events .events-grid,
.section-service .service-grid,
.section-membership .membership-grid,
.section-gallery .gallery-grid,
.section-highlights .highlights-grid {
  align-items: center;
}
.section-dining .dining-media,
.section-lounge .lounge-media,
.section-highlights .highlights-media,
.section-gallery .gallery-media {
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.section-dining .dining-media picture,
.section-lounge .lounge-media picture,
.section-highlights .highlights-media picture,
.section-gallery .gallery-media picture {
  display: block;
  height: 100%;
}
.section-dining .feature-list,
.section-lounge .feature-list,
.section-events .feature-list,
.section-service .feature-list,
.section-membership .feature-list,
.section-gallery .feature-list {
  margin-top: var(--space-20);
  display: grid;
  gap: var(--space-8);
  font-size: var(--font-size-sm);
}
.section-dining .section-cta-inline,
.section-lounge .section-cta-inline,
.section-events .section-cta-inline,
.section-service .section-cta-inline,
.section-membership .section-cta-inline,
.section-gallery .section-cta-inline,
.section-highlights .section-cta-inline {
  margin-top: var(--space-24);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
}
.section-vip-nights .vip-grid {
  margin-top: var(--space-32);
}
.section-vip-nights .vip-meta {
  margin-top: var(--space-16);
  font-size: var(--font-size-xs);
}
.section-vip-nights .link-more,
.section-events .link-more,
.section-highlights .link-more,
.section-gallery .link-more {
  display: inline-flex;
  margin-top: var(--space-16);
  font-size: var(--font-size-sm);
}
.section-events .events-panel .events-note {
  margin-top: var(--space-16);
  font-size: var(--font-size-sm);
}
.section-testimonials .testimonials-grid {
  margin-top: var(--space-32);
}
.section-testimonials .testimonial-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.section-testimonials .testimonial-meta {
  margin-top: var(--space-16);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}
.section-testimonials .testimonial-name {
  display: block;
  font-weight: 600;
  color: var(--color-text);
}
.section-testimonials .testimonial-tag {
  display: block;
  margin-top: 2px;
}
.section-testimonials .testimonials-link {
  margin-top: var(--space-32);
}
.section-highlights .highlights-grid-inner {
  margin-top: var(--space-24);
  display: grid;
  gap: var(--space-16);
}
.section-highlights .highlight-item h3 {
  font-size: var(--font-size-lg);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.section-highlights .highlight-item p {
  margin-top: var(--space-8);
}
.section-service .service-grid .service-panel,
.section-membership .membership-grid .membership-panel,
.section-events .events-grid .events-panel {
  align-self: stretch;
}
.section-gallery .gallery-grid {
  row-gap: var(--space-32);
}
.section-final-cta .final-cta {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  align-items: flex-start;
}
.section-final-cta .final-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
}
@media (min-width: 900px) {
  .section-final-cta .final-cta {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .section-final-cta .final-cta-copy {
    max-width: 60%;
  }
}
@media (max-width: 767px) {
  .hero {
    min-height: 80vh;
  }
  .section {
    padding-top: var(--space-48);
    padding-bottom: var(--space-48);
  }
}
