body {
  background: radial-gradient(circle at top, rgba(0, 194, 168, 0.08), transparent 55%), #070a0d;
}
.hero {
  padding-top: var(--space-40);
}
.hero__inner {
  align-items: center;
  gap: var(--space-20);
}
.hero__content {
  max-width: 34rem;
}
.hero__lead {
  font-size: var(--font-size-lg);
  color: var(--color-text-muted);
}
.hero__actions {
  margin-top: var(--space-10);
}
.hero__meta {
  margin-top: var(--space-8);
  font-size: var(--font-size-sm);
}
.hero__image-wrapper,
.upcoming__image-wrapper,
.formats__image-wrapper,
.gallery-preview__image-wrapper {
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: var(--shadow-md);
}
.hero__image,
.upcoming__image,
.formats__image,
.gallery-preview__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.upcoming {
  align-items: center;
  gap: var(--space-20);
}
.upcoming__highlights {
  margin-top: var(--space-10);
}
.formats__grid {
  gap: var(--space-16);
}
.formats__item .card-body > a {
  margin-top: var(--space-8);
}
.themes {
  align-items: stretch;
  gap: var(--space-20);
}
.gallery-preview {
  align-items: center;
  gap: var(--space-20);
}
.info-grid {
  gap: var(--space-16);
}
.section-cta {
  padding-bottom: var(--space-40);
}
.section-cta__note {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}
@media (max-width: 900px) {
  .hero {
    padding-top: var(--space-32);
  }
  .hero__inner {
    grid-template-columns: 1fr;
  }
  .hero__content {
    order: 1;
  }
  .hero__media {
    order: 2;
  }
}
@media (max-width: 768px) {
  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }
}
