/* Malexera v5.3.9 — Intro einmal pro Sitzung, Hero-Texte als ruhiger Loop */
.hh-txt .hswap {
  min-height: 3.18em;
  line-height: 1.06;
  text-wrap: balance;
}

.hh-txt .hswap .hs {
  animation: none;
}

.hh-txt .hero-line {
  display: block;
}

.hh-txt .hero-line-keep {
  white-space: nowrap;
}

.hh-txt .hero-line-compact {
  font-size: .86em;
}

.hh-txt .hswap .hsa {
  opacity: 1;
  transform: none;
}

.hh-txt .hswap .hsb {
  opacity: 0;
  transform: translateY(10px);
}

html.mlx-hero-first .hh-txt .hswap .hsa {
  animation: mlxHeroALoop 10s 2.4s cubic-bezier(.22,.75,.25,1) infinite both;
}

html.mlx-hero-first .hh-txt .hswap .hsb {
  animation: mlxHeroBLoop 10s 2.4s cubic-bezier(.22,.75,.25,1) infinite both;
}

html.mlx-hero-seen .hh-txt .hswap .hsa {
  animation: mlxHeroALoop 10s .8s cubic-bezier(.22,.75,.25,1) infinite both;
}

html.mlx-hero-seen .hh-txt .hswap .hsb {
  animation: mlxHeroBLoop 10s .8s cubic-bezier(.22,.75,.25,1) infinite both;
}

@keyframes mlxHeroALoop {
  0%, 40% {
    opacity: 1;
    transform: none;
  }
  47%, 89% {
    opacity: 0;
    transform: translateY(-14px);
  }
  96%, 100% {
    opacity: 1;
    transform: none;
  }
}

@keyframes mlxHeroBLoop {
  0%, 43% {
    opacity: 0;
    transform: translateY(14px);
  }
  50%, 86% {
    opacity: 1;
    transform: none;
  }
  93%, 100% {
    opacity: 0;
    transform: translateY(-10px);
  }
}

/* Bei Rückkehr entfällt nur die große Startinszenierung; der Textloop bleibt aktiv. */
html.mlx-hero-seen .hero2 h1,
html.mlx-hero-seen .hero2 .lead,
html.mlx-hero-seen .hero2 .cta-row,
html.mlx-hero-seen .hero2 .trust-line,
html.mlx-hero-seen .hero2 .bubble,
html.mlx-hero-seen .hero2 .scroll-hint {
  opacity: 1;
  transform: none;
  animation: none;
}

@media (min-width: 1020px) {
  .hh-txt .hswap {
    font-size: clamp(2.9rem, 4.2vw, 3.9rem);
    letter-spacing: -.035em;
  }
}

@media (max-width: 640px) {
  .hh-txt .hswap {
    min-height: 3.3em;
    font-size: clamp(1.68rem, 8.6vw, 2.35rem);
  }

  .hh-txt .hero-line-keep {
    white-space: nowrap;
  }
}

@media (max-width: 390px) {
  .hh-txt .hswap {
    font-size: clamp(1.62rem, 8.35vw, 2.04rem);
  }
}

@media (orientation: landscape) and (max-height: 520px) {
  .hh-txt .hswap {
    min-height: 3.15em;
    font-size: clamp(1.55rem, 4.25vw, 2.35rem);
  }

  .hh-txt .hero-line-keep {
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.mlx-hero-first .hh-txt .hswap .hsa,
  html.mlx-hero-first .hh-txt .hswap .hsb,
  html.mlx-hero-seen .hh-txt .hswap .hsa,
  html.mlx-hero-seen .hh-txt .hswap .hsb {
    animation: none;
  }

  .hh-txt .hswap .hsa {
    opacity: 1;
    transform: none;
  }

  .hh-txt .hswap .hsb {
    display: none;
  }
}

html.a11y-motion .hh-txt .hswap .hsa {
  opacity: 1;
  transform: none;
  animation: none;
}

html.a11y-motion .hh-txt .hswap .hsb {
  display: none;
  animation: none;
}
