.section--hero-events {
  background: radial-gradient(circle at top left, rgba(212,160,23,0.12), transparent 55%),
              radial-gradient(circle at bottom right, rgba(26,188,156,0.12), transparent 55%),
              #ffffff;
}

.section-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr);
  gap: var(--space-8);
  align-items: center;
  padding-top: var(--space-12);
}

@media (min-width: 900px) {
  .section-hero__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  }
}

.section-hero__content {
  max-width: 36rem;
}

.section-hero__lead {
  font-size: var(--font-size-lg);
}

.section-hero__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
  margin-bottom: var(--space-6);
}

.section-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.section-hero__note {
  margin-top: var(--space-4);
  font-size: var(--font-size-sm);
}

.section-hero__visual {
  display: flex;
  justify-content: center;
}

.hero-event-figure {
  width: 100%;
  max-width: 520px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
  background-color: var(--color-bg-elevated);
}

.hero-event-figure__image {
  width: 100%;
  height: auto;
}

.hero-event-figure__caption {
  padding: var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.card__meta-list,
.reservations__steps,
.reservations__details-list {
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.card__meta-list li,
.reservations__steps li,
.reservations__details-list li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.35rem;
}

.card__meta-list li::before,
.reservations__steps li::before,
.reservations__details-list li::before {
  content: "";
  position: absolute;
  left: 0.3rem;
  top: 0.6rem;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent-coral));
}

.reservations__steps li::before {
  top: 0.9rem;
}

.themed-nights__grid {
  align-items: stretch;
}

.exclusive-dinners__grid,
.reservations__grid {
  align-items: flex-start;
}

.exclusive-dinners__list {
  margin-top: var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.exclusive-dinners__list li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.35rem;
}

.exclusive-dinners__list li::before {
  content: "";
  position: absolute;
  left: 0.25rem;
  top: 0.55rem;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--color-accent-turquoise);
}

.business-events__layout,
.masterclass__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

@media (min-width: 900px) {
  .business-events__layout,
  .masterclass__layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr);
  }
}

.business-events__figure,
.masterclass__figure {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
  background-color: var(--color-bg-elevated);
}

.business-events__image,
.masterclass__image {
  width: 100%;
  height: auto;
}

.business-events__caption,
.masterclass__caption {
  padding: var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

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

.business-events__note {
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.masterclass__content {
  max-width: 32rem;
}

.masterclass__note {
  margin-top: var(--space-4);
  font-size: var(--font-size-sm);
}

.private-events__grid {
  align-items: stretch;
}

.section__header--center {
  text-align: center;
}

.section__header--center .section__title,
.section__header--center .section__subtitle {
  margin-left: auto;
  margin-right: auto;
}

.reservations__note {
  margin-top: var(--space-4);
  font-size: var(--font-size-sm);
}

.reservations__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.events-gallery {
  display: grid;
  gap: var(--space-6);
}

@media (min-width: 900px) {
  .events-gallery {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    align-items: center;
  }
}

.events-gallery__figure {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
  background-color: var(--color-bg-elevated);
}

.events-gallery__image {
  width: 100%;
  height: auto;
}

.events-gallery__caption {
  padding: var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.events-gallery__cta {
  max-width: 24rem;
}

.events-gallery__cta p {
  font-size: var(--font-size-sm);
}

@media (prefers-reduced-motion: no-preference) {
  .card--hoverable {
    transform-origin: center bottom;
  }

  .hero-event-figure__image,
  .business-events__image,
  .masterclass__image,
  .events-gallery__image {
    transition: transform var(--transition-slow), filter var(--transition-slow);
  }

  .hero-event-figure:hover .hero-event-figure__image,
  .business-events__figure:hover .business-events__image,
  .masterclass__figure:hover .masterclass__image,
  .events-gallery__figure:hover .events-gallery__image {
    transform: scale(1.03);
    filter: brightness(1.03);
  }
}
