.hero {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
}

/* Hintergrund */
.hero-bg {
  position: absolute;
  inset: 0;
  background: url("/assets/images/headerhintergrund.jpeg") center/cover no-repeat;
  filter: brightness(0.45);
  transform: scale(1);
  animation: zoomIn 12s ease-in-out infinite alternate;
  z-index: -2;
}

/* Text */
.hero-content {
  z-index: 2;
  animation: fadeInUp 1.8s ease forwards;
}

.hero-top {
  font-size: 4.5rem;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 0.6rem;
  opacity: 0;
  animation: slideInTop 1.4s ease forwards;
}

.hero-sub {
  font-size: 1rem;
  color: #47F138;
  font-weight: 500;
  letter-spacing: 5px;
  display: inline-block;
  margin: 0.4rem 0 1.2rem;
  opacity: 0;
  animation: fadeIn 2s 0.8s ease forwards;
}

.hero-bottom {
  font-size: 3.5rem;
  font-weight: 700;
  opacity: 0;
  animation: slideInBottom 1.5s 0.4s ease forwards;
}

/* --- HÄNDE --- */
.hand {
  position: absolute;
  bottom: 10%;
  width: 520px;
  opacity: 0;
  z-index: 1;
  pointer-events: none;
}

/* Linke Hand kommt von links rein */
.left-hand {
  left: -280px;
  animation:
    handEnterLeft 2.8s cubic-bezier(0.22, 1, 0.36, 1) forwards,
    handFloatLeft 6s 2.8s ease-in-out infinite alternate;
}

/* Rechte Hand kommt von rechts rein */
.right-hand {
  right: -280px;
  animation:
    handEnterRight 2.8s cubic-bezier(0.22, 1, 0.36, 1) forwards,
    handFloatRight 6s 2.8s ease-in-out infinite alternate;
}

/* Einflug links */
@keyframes handEnterLeft {
  0% {
    transform: translateX(-300px) rotate(-8deg) scale(0.95);
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
  100% {
    transform: translateX(100px) rotate(0deg) scale(1);
    opacity: 1;
  }
}

/* Einflug rechts */
@keyframes handEnterRight {
  0% {
    transform: translateX(300px) rotate(8deg) scale(0.95);
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
  100% {
    transform: translateX(-100px) rotate(0deg) scale(1);
    opacity: 1;
  }
}

/* Schweben – basierend auf Endposition */
@keyframes handFloatLeft {
  0%   { transform: translateX(100px) translateY(0) scale(1); }
  50%  { transform: translateX(100px) translateY(-14px) scale(1.015); }
  100% { transform: translateX(100px) translateY(0) scale(1); }
}

@keyframes handFloatRight {
  0%   { transform: translateX(-100px) translateY(0) scale(1); }
  50%  { transform: translateX(-100px) translateY(-14px) scale(1.015); }
  100% { transform: translateX(-100px) translateY(0) scale(1); }
}

/* Textanimationen */
@keyframes slideInTop {
  0% { transform: translateY(-60px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes slideInBottom {
  0% { transform: translateY(60px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes fadeInUp {
  from { transform: translateY(25px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Hintergrund-Zoom */
@keyframes zoomIn {
  0% { transform: scale(1); }
  100% { transform: scale(1.05); }
}

/* Responsiv */
@media (max-width: 900px) {
  .hero-top { font-size: 2.5rem; }
  .hero-bottom { font-size: 2rem; }
  .hand { width: 250px; bottom: 8%; }
  .left-hand { left: -140px; }
  .right-hand { right: -140px; }
}
