.hero--celebrations {
  position: relative;
}

.hero--celebrations::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 10% 0, rgba(201, 165, 90, 0.2) 0, transparent 55%), radial-gradient(circle at 90% 100%, rgba(105, 27, 48, 0.4) 0, transparent 65%);
  opacity: 0.7;
}

.hero--celebrations .hero__inner {
  position: relative;
  z-index: 1;
}

.hero__visual {
  display: flex;
  align-items: center;
}

.hero__image {
  max-width: 480px;
  margin-left: auto;
}

.section__lead {
  margin-left: auto;
  margin-right: auto;
}

.celebrations-grid {
  align-items: stretch;
}

.celebrations-layout {
  align-items: center;
  gap: var(--space-10);
}

.celebrations-layout--reverse {
  direction: rtl;
}

.celebrations-layout--reverse > * {
  direction: ltr;
}

.celebrations-layout__visual--stacked {
  display: flex;
  flex-direction: column;
}

.celebrations-gallery-card {
  min-height: 260px;
}

.celebrations-gallery-text {
  margin-top: var(--space-6);
}

.celebrations-list {
  display: grid;
  gap: var(--space-4);
}

.celebrations-list h3 {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-2);
}

.celebrations-highlights {
  align-items: flex-start;
}

.celebrations-contact__grid {
  align-items: flex-start;
  gap: var(--space-8);
}

.celebrations-contact__aside {
  align-self: stretch;
}

.celebrations-benefits {
  display: grid;
  gap: var(--space-2);
}

.celebrations-benefits li {
  color: var(--color-text-muted);
}

.celebrations-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--space-1);
}

.celebrations-links a {
  font-size: var(--font-size-sm);
}

.celebrations-form .form-label {
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

@media (max-width: 1023.98px) {
  .hero__visual {
    margin-top: var(--space-8);
    justify-content: center;
  }

  .hero__image {
    max-width: 400px;
    margin-left: 0;
  }
}

@media (max-width: 767.98px) {
  .hero {
    padding-top: calc(var(--space-16) + var(--nav-height));
    padding-bottom: var(--space-16);
  }

  .celebrations-layout,
  .celebrations-contact__grid {
    gap: var(--space-6);
  }

  .celebrations-layout--reverse {
    direction: ltr;
  }

  .celebrations-gallery-text {
    margin-top: var(--space-4);
  }
}
