body.private-page {
  background-color: var(--color-bg-dark);
}

.private-hero {
  background-image: url('/assets/images/private-party-elegant-venue.webp');
  background-size: cover;
  background-position: center;
}

.private-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: center;
}

.private-hero__copy {
  max-width: 40rem;
}

.private-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.private-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
  margin-top: var(--space-4);
}

.private-hero__meta-text {
  font-size: var(--font-size-sm);
  color: rgba(245, 241, 232, 0.78);
}

.private-hero__image-card {
  padding: 0;
  overflow: hidden;
}

.private-hero__image-wrapper img {
  width: 100%;
  height: auto;
}

.private-hero__image-caption {
  padding: var(--space-4);
}

.private-hero__eyebrow {
  font-size: var(--font-size-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-heading-burgundy);
  margin-bottom: var(--space-2);
}

.private-hero__caption-text {
  font-size: var(--font-size-sm);
}

.private-section-header {
  max-width: 42rem;
  margin-inline: auto;
  margin-bottom: var(--space-8);
}

.private-section-header p {
  margin-bottom: 0;
}

.private-section-intro__grid {
  align-items: flex-start;
  gap: var(--space-10);
}

.private-section-intro__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.private-section-intro__timeline h3 {
  margin-bottom: var(--space-4);
}

.private-timeline-step + .private-timeline-step {
  margin-top: var(--space-4);
}

.private-atmosphere-grid {
  gap: var(--space-6);
}

.private-atmosphere-card--casino {
  background: radial-gradient(circle at top left, rgba(200, 164, 90, 0.2), transparent 55%),
              radial-gradient(circle at bottom right, rgba(110, 31, 42, 0.25), transparent 55%),
              #050609;
}

.private-atmosphere-image-wrapper {
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-block: var(--space-4);
}

.private-section-service {
  padding-block: var(--space-12);
}

.private-service-grid {
  align-items: stretch;
  gap: var(--space-8);
}

.private-service-list,
.private-service-bullets,
.private-package-list,
.private-contact-options {
  padding-left: var(--space-5);
}

.private-service-list li,
.private-service-bullets li,
.private-package-list li,
.private-contact-options li {
  margin-bottom: var(--space-2);
}

.private-service-card {
  height: 100%;
}

.private-service-card__cta {
  margin-top: var(--space-4);
}

.private-section-packages {
  padding-block: var(--space-12);
}

.private-packages-grid {
  gap: var(--space-6);
}

.private-package-card--festive {
  background: radial-gradient(circle at top, rgba(110, 31, 42, 0.22), transparent 60%),
              rgba(15, 15, 15, 0.96);
}

.private-package-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.private-section-stories {
  padding-block: var(--space-12);
}

.private-stories-grid {
  gap: var(--space-6);
}

.private-story-card .private-story-cta {
  margin-top: var(--space-4);
}

.private-section-testimonials {
  padding-block: var(--space-12);
}

.private-testimonials-grid {
  gap: var(--space-6);
}

.private-testimonial blockquote {
  margin-bottom: var(--space-4);
}

.private-testimonial__name {
  font-weight: var(--font-weight-semibold);
}

.private-testimonial__meta {
  font-size: var(--font-size-sm);
  color: var(--color-gray-300);
}

.private-section-contact {
  padding-block: var(--space-12);
}

.private-contact-grid {
  gap: var(--space-8);
  align-items: flex-start;
}

.private-contact-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.private-contact-form {
  background-color: rgba(0, 0, 0, 0.9);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-soft);
}

.private-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.private-form-field + .private-form-field {
  margin-top: var(--space-4);
}

.private-form-consent {
  margin-block: var(--space-4);
}

.private-checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
}

.private-checkbox input[type="checkbox"] {
  margin-top: 0.2rem;
}

.private-section-faq {
  padding-block: var(--space-12);
}

.private-faq {
  max-width: 56rem;
  margin-inline: auto;
}

.private-faq-item {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-accent-emerald);
  background-color: rgba(0, 0, 0, 0.85);
  padding-inline: var(--space-4);
  padding-block: var(--space-3);
}

.private-faq-item + .private-faq-item {
  margin-top: var(--space-3);
}

.private-faq-item summary {
  cursor: pointer;
  font-weight: var(--font-weight-medium);
  list-style: none;
}

.private-faq-item summary::-webkit-details-marker {
  display: none;
}

.private-faq-item summary::after {
  content: '+';
  float: right;
  font-weight: var(--font-weight-bold);
}

.private-faq-item[open] summary::after {
  content: '–';
}

.private-faq-body {
  margin-top: var(--space-3);
}

@media (max-width: 960px) {
  .private-hero__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .private-hero__image-card {
    order: -1;
  }
}

@media (max-width: 768px) {
  .private-contact-form {
    padding: var(--space-4);
  }

  .private-form-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .private-package-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .private-hero__actions {
    flex-direction: column;
    align-items: flex-start;
  }
}
