:root {
  --events-accent-soft: rgba(220, 201, 170, 0.55);
}

.section--page-intro {
  padding-top: var(--space-32);
}

.page-header {
  max-width: 720px;
}

.page-eyebrow {
  font-size: var(--font-size-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: var(--space-4);
}

.page-intro-text {
  margin-bottom: var(--space-12);
}

.page-intro-cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  margin-bottom: var(--space-16);
}

.events-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr);
  gap: var(--space-16);
  align-items: stretch;
}

@media (max-width: 767.98px) {
  .events-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.events-hero-main {
  position: relative;
}

.events-hero-image {
  align-self: stretch;
}

.events-hero-image .gallery-item,
.events-hero-image img {
  border-radius: var(--radius-xl);
}

.events-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  box-shadow: var(--shadow-soft);
}

.section--highlight {
  padding-top: 0;
}

.events-feature-grid {
  align-items: flex-start;
}

.events-side-card-wrapper {
  display: flex;
  align-items: stretch;
}

.events-side-card {
  width: 100%;
}

.events-split {
  align-items: center;
  gap: var(--space-16);
}

.events-split--reverse {
  direction: rtl;
}

.events-split--reverse > * {
  direction: ltr;
}

.events-image-card {
  align-self: stretch;
}

.events-image-card .gallery-item {
  height: 100%;
}

.events-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.events-block {
  height: 100%;
}

.events-header-centered {
  text-align: center;
  margin-bottom: var(--space-16);
}

.events-header-centered p {
  margin-inline: auto;
}

.events-ref-card {
  margin-top: var(--space-8);
}

.events-gallery {
  margin-top: var(--space-8);
}

.events-cta-final {
  background: linear-gradient(135deg, rgba(222, 205, 177, 0.55), rgba(248, 244, 237, 0.95));
  border-radius: var(--radius-xl);
}

.events-split--stack {
  align-items: center;
}

@media (max-width: 767.98px) {
  .events-split--stack {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-10);
  }
}

.events-final-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-6);
}

@media (max-width: 767.98px) {
  .events-final-cta-buttons {
    justify-content: flex-start;
  }
}

.events-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
}
