/* =========================================================================
   Video-Hero — auf der Hauptseite (index.html) geladen.
   Der Akku-Clip ist als ECHT transparentes VP9-Alpha-WebM freigestellt — kein
   schwarzer Hintergrund, kein mix-blend-mode, kein Flackern, voll scharf
   (1040 px Quelle). Er liegt als <video> im Hero und scheint frei über dem
   Navy-Grid. Vor dem Trigger zeigt das poster-Bild den ganzen Akku; landing.js
   setzt beim „Burst" (Scroll/Auto) .is-burst → hero-video.js spielt EINMAL ab
   und bleibt auf dem letzten Frame (zerlegt) stehen. Größe wie bisher.
   Safari kann kein VP9-Alpha → hero-video.js ersetzt das <video> dort durch ein
   scharfes, transparentes Standbild (gleiches <img> mit Klasse .heroB__video).
   ========================================================================= */
.heroB__video {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: min(40vw, 520px); height: auto; display: block;
  pointer-events: none;
  background: transparent;
}

@media (max-width: 860px) {
  .heroB__video { width: min(86vw, 420px); }
}

/* Subtiler Cyan-Schein am Kabelansatz (Markenfarbe) — liegt über dem Clip und
   kaschiert die minimalen Freistell-Reste zwischen den unteren Kabeln; blendet
   mit dem Burst ein und wirkt wie „aufgeladen". */
.heroB__cableGlow {
  position: absolute; top: 50%; left: 50%;
  width: min(22vw, 250px); aspect-ratio: 1 / 1;
  transform: translate(-58%, -56%);   /* über dem Kabelansatz (Mitte, wo die Leitungen aus der Platine kommen) */
  border-radius: 50%;
  background: radial-gradient(circle, rgba(22, 202, 212, 0.30) 0%, rgba(22, 202, 212, 0.11) 42%, rgba(22, 202, 212, 0) 70%);
  filter: blur(10px);
  mix-blend-mode: screen;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.9s ease 0.4s, filter 0.7s ease;
}
/* Während sich der Akku öffnet: kräftiger + pulsierend */
.heroB.is-burst .heroB__cableGlow {
  opacity: 1;
  animation: heroGlowPulse 0.7s ease-in-out 0.4s infinite;
}
/* Sobald das statische Endbild steht: ruhig + subtil (wie zuvor) */
.heroB.is-burst.is-settled .heroB__cableGlow {
  animation: none;
  opacity: 1;
  filter: blur(10px);
}
/* Pulsiert nur in der Helligkeit — bleibt an Ort & Größe (keine Bewegung). */
@keyframes heroGlowPulse {
  0%, 100% { filter: blur(10px) brightness(1.4); }
  50%      { filter: blur(10px) brightness(2.2); }
}

@media (max-width: 860px) {
  .heroB__cableGlow { width: min(48vw, 210px); }
}

/* Reduced motion: kein Abspielen — der Poster (ganzer Akku) bleibt stehen; kein Schein. */
@media (prefers-reduced-motion: reduce) {
  .heroB__cableGlow { display: none; }
}
