body.home-page main {
  background: radial-gradient(circle at top left, rgba(255, 15, 123, 0.18), transparent 55%),
    radial-gradient(circle at bottom right, rgba(255, 231, 74, 0.1), transparent 55%),
    var(--color-background);
}

.hero--home {
  position: relative;
}

.hero__inner--single {
  grid-template-columns: minmax(0, 1.2fr);
}

.hero__headline--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.hero__actions--center,
.hero__meta--center {
  justify-content: center;
}

.hero__background {
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: 0.6;
}

.hero__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.1) contrast(1.05) brightness(0.75);
}

.hero-float-card--formats {
  display: none;
}

@media (min-width: 960px) {
  .hero__inner--single {
    max-width: 760px;
  }

  .hero-float-card--formats {
    display: block;
    transform: translate(-30%, 28%) rotate(4deg);
  }
}

.link-inline {
  color: var(--color-accent-yellow);
  text-decoration: underline;
  text-decoration-color: rgba(255, 231, 74, 0.7);
}

.link-inline:hover {
  color: var(--color-primary-strong);
}

.formats-grid {
  align-items: center;
}

.formats-grid__visual {
  position: relative;
}

.formats-figure {
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: var(--shadow-medium);
}

.formats-figure img {
  height: 100%;
  object-fit: cover;
}

.formats-cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.section-offline {
  position: relative;
}

.section-offline::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(255, 231, 74, 0.16), transparent 55%);
  opacity: 0.9;
  pointer-events: none;
}

.section-offline > .container {
  position: relative;
  z-index: 1;
}

.offline-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  justify-content: center;
}

.atmosphere-figure {
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: var(--shadow-medium);
}

.section-atmosphere {
  background: radial-gradient(circle at center, rgba(255, 15, 123, 0.08), transparent 60%);
}

.hosts-grid {
  gap: var(--space-8);
}

.section-events {
  position: relative;
}

.section-events::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mix-blend-mode: soft-light;
  opacity: 0.2;
  pointer-events: none;
}

.section-events > .container {
  position: relative;
  z-index: 1;
}

.events-card__visual img {
  object-fit: cover;
  max-height: 220px;
}

.section-gallery {
  background: radial-gradient(circle at bottom, rgba(255, 23, 68, 0.18), transparent 60%);
}

.process-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-6);
  counter-reset: steps;
}

.process-list li {
  display: flex;
  gap: var(--space-4);
}

.process-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: var(--gradient-neon);
  color: #050308;
  font-size: var(--font-size-sm);
  font-weight: 700;
  box-shadow: var(--shadow-neon-pink);
}

.process-step-text h3 {
  font-size: var(--font-size-md);
  margin-bottom: var(--space-2);
}

.process-cta-card {
  align-self: center;
}

.faq-preview-grid {
  gap: var(--space-8);
}

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

.faq-item__question {
  width: 100%;
  text-align: left;
  background: transparent;
}

.faq-item__question h3 {
  flex: 1;
}

.section-contact-preview {
  background: radial-gradient(circle at top left, rgba(255, 231, 74, 0.12), transparent 60%);
}

.contact-grid {
  gap: var(--space-8);
}

.contact-card {
  align-self: center;
}

@media (max-width: 767px) {
  .hero__headline--center {
    text-align: left;
  }

  .hero__actions--center,
  .hero__meta--center {
    justify-content: flex-start;
  }
}

@media (min-width: 992px) {
  .offline-badges {
    align-items: flex-end;
  }
}
