body {
  background-color: var(--color-background);
  color: var(--color-text);
}
.hero--entertainment .hero-overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.3));
}
.section-header {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  margin-bottom: var(--space-32);
}
.section-header-main {
  max-width: 44rem;
}
.section-intro {
  font-size: var(--font-size-sm);
  color: var(--gray-700);
  margin-top: var(--space-8);
}
.section-header--compact {
  max-width: var(--container-max);
}
.program-links {
  margin-top: var(--space-16);
}
.story-aside-figure {
  margin-top: var(--space-16);
}
.story-aside-media {
  position: relative;
  width: 100%;
  padding-top: 70%;
  overflow: hidden;
  background-color: var(--gray-200);
}
.story-aside-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.story-aside-content {
  margin-top: var(--space-24);
}
.story-aside-stack {
  margin-top: var(--space-24);
}
.card--plain {
  box-shadow: none;
}
.event-block-figure {
  margin-bottom: var(--space-16);
}
.event-block-media {
  position: relative;
  width: 100%;
  padding-top: 65%;
  overflow: hidden;
  background-color: var(--gray-200);
}
.event-block-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section--planning {
  border-top: 1px solid var(--gray-300);
  border-bottom: 1px solid var(--gray-300);
}
.planning-grid {
  display: grid;
  gap: var(--space-32);
}
@media (min-width: 768px) {
  .planning-grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 3fr);
  }
}
.planning-media-inner {
  position: relative;
  width: 100%;
  padding-top: 70%;
  overflow: hidden;
  background-color: var(--gray-200);
}
.planning-media-inner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.planning-caption {
  margin-top: var(--space-8);
  color: var(--gray-700);
}
.section--gallery {
  background-color: var(--gray-50);
}
.contact-form {
  max-width: 34rem;
}
.section--contact {
  border-top: 1px solid var(--gray-300);
}
.story-split--reverse {
  display: grid;
  gap: var(--space-32);
}
@media (min-width: 992px) {
  .story-split--reverse {
    grid-template-columns: minmax(0, 3.2fr) minmax(0, 2.8fr);
  }
}
