/* Yindis Reisen — Hero Video: Opener + Teaser + Hauptszene, 70 %, Crossfade, Freeze, wirklich weiche Ränder */

.hero-video-soft-bg,
.hero-background-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: #0b5d79;
  opacity: 0;
  transition: opacity 1.35s ease-in-out;
}

/* Unscharfe, vergrößerte Hintergrundkopie.
   Sie füllt die Randbereiche und nimmt die Farben aus dem jeweiligen Video auf. */
.hero-video-soft-bg {
  z-index: 0;
  object-fit: cover;
  object-position: center center;
  filter: blur(38px) saturate(1.22) brightness(.78);
  transform: scale(1.18);
}

/* Sichtbares Hauptvideo.
   Es bleibt vollständig sichtbar, bekommt aber links/rechts eine weiche Maske. */
.hero-background-video {
  z-index: 1;
  object-fit: contain;
  object-position: center center;
  filter: saturate(1.04) contrast(1.02);

  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, .15) 2.5%,
    rgba(0, 0, 0, .55) 5.5%,
    #000 10%,
    #000 90%,
    rgba(0, 0, 0, .55) 94.5%,
    rgba(0, 0, 0, .15) 97.5%,
    transparent 100%
  );

  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, .15) 2.5%,
    rgba(0, 0, 0, .55) 5.5%,
    #000 10%,
    #000 90%,
    rgba(0, 0, 0, .55) 94.5%,
    rgba(0, 0, 0, .15) 97.5%,
    transparent 100%
  );
}

.hero-video-soft-bg.is-active,
.hero-background-video.is-active {
  opacity: 1;
}

.hero-backdrop,
.hero-canvas {
  display: none;
}

/* Zusätzlich eine sehr weiche Seitenvignette,
   damit der Übergang zur Page nicht hart wirkt. */
.world-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(5, 28, 40, .62) 0%,
      rgba(5, 28, 40, .42) 4%,
      rgba(5, 28, 40, .18) 10%,
      transparent 22%,
      transparent 78%,
      rgba(5, 28, 40, .18) 90%,
      rgba(5, 28, 40, .42) 96%,
      rgba(5, 28, 40, .62) 100%
    );
}

.hero-vignette {
  z-index: 3;
  background:
    radial-gradient(circle at 62% 52%, transparent 0 34%, rgba(5, 28, 40, .12) 68%, rgba(5, 28, 40, .28) 100%),
    linear-gradient(0deg, rgba(5, 28, 40, .48), transparent 48%);
}

.hero-content,
.sound-toggle {
  z-index: 4;
}

.hero-content {
  max-width: 720px;
}

.sound-toggle.is-playing {
  background: rgba(244, 166, 63, .9);
  color: #172c36;
  border-color: rgba(244, 166, 63, .9);
}

@media (max-width: 760px) {
  .hero-content {
    padding-top: calc(var(--header-height) + 10vh);
  }

  .hero-video-soft-bg {
    filter: blur(24px) saturate(1.14) brightness(.78);
    transform: scale(1.2);
  }

  .hero-background-video {
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      #000 8%,
      #000 92%,
      transparent 100%
    );

    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      #000 8%,
      #000 92%,
      transparent 100%
    );
  }

  .world-stage::after {
    background:
      linear-gradient(
        90deg,
        rgba(5, 28, 40, .42) 0%,
        transparent 20%,
        transparent 80%,
        rgba(5, 28, 40, .42) 100%
      );
  }
}