.section--alt {
  background: linear-gradient(135deg, rgba(255, 75, 110, 0.03), rgba(47, 137, 255, 0.03));
}

.parties-hero {
  padding-top: var(--space-40);
  padding-bottom: var(--space-40);
}

.parties-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);
  gap: var(--space-24);
  align-items: center;
}

.parties-hero__text p {
  font-size: var(--font-size-lg);
}

.parties-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  margin-bottom: var(--space-8);
}

.parties-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.parties-hero__image {
  max-width: 480px;
  margin-left: auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.parties-section-header {
  max-width: 46rem;
  margin-bottom: var(--space-20);
}

.parties-section-header--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.parties-section-header--center p {
  margin-left: auto;
  margin-right: auto;
}

.parties-steps {
  align-items: stretch;
}

.parties-step ul,
.parties-theme ul,
.parties-variation ul,
.parties-safety-card ul,
.parties-essential ul,
.parties-photo-card ul {
  margin-bottom: 0;
}

.parties-themes {
  align-items: stretch;
}

.parties-spaces {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);
  gap: var(--space-24);
  align-items: center;
}

.parties-spaces__image {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.parties-spaces__grid {
  margin-top: var(--space-12);
}

.parties-variations,
.parties-stories__grid,
.parties-safety__grid,
.parties-essentials__grid {
  align-items: stretch;
}

.parties-stories__intro,
.parties-essentials__intro {
  max-width: 42rem;
  margin-bottom: var(--space-16);
}

.parties-photos {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);
  gap: var(--space-24);
  align-items: center;
}

.parties-photos__image {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.parties-photos__grid {
  margin-top: var(--space-12);
}

.parties-cta {
  background: radial-gradient(circle at top left, rgba(255, 180, 0, 0.18), transparent 55%),
    radial-gradient(circle at bottom right, rgba(47, 137, 255, 0.18), transparent 55%);
}

.parties-cta__inner {
  max-width: 60rem;
  margin: 0 auto;
}

.parties-cta__content {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
  align-items: center;
  justify-content: space-between;
}

.parties-cta__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

@media (max-width: 992px) {
  .parties-hero__inner,
  .parties-spaces,
  .parties-photos {
    grid-template-columns: minmax(0, 1fr);
  }

  .parties-hero__image,
  .parties-spaces__image,
  .parties-photos__image {
    margin-left: 0;
    margin-right: auto;
  }
}

@media (max-width: 768px) {
  .parties-hero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-32);
  }

  .parties-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .parties-cta__content {
    flex-direction: column;
    align-items: flex-start;
  }

  .parties-cta__actions {
    width: 100%;
  }

  .parties-cta__actions .button {
    width: 100%;
    justify-content: center;
  }
}
