.hero {
  position: relative;
  min-height: 50vh; /* min-height verhindert Content-Overflow bei kleinen Bildschirmen */
  margin-top: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  /* 'fixed' entfernt für bessere mobile Performance */
  background: url('../../assets/img/1.jpg') center / cover no-repeat; 
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgb(255 255 255 / 0.75);
}

.hero-content {
  position: relative;
  max-width: 700px;
  padding: 40px;
}

.hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 5vw, 3.5rem); /* Skaliert dynamisch je nach Bildschirmgröße */
}

/* Button-Anpassung mit flüssiger Transition */
.btn {
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.btn:hover {
  transform: translateY(-3px);
  background-color: #a88b55;
}

/* Performance-optimierte Fade-In Animation */
.fade-in {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s ease-out, transform 1s ease-out;
  will-change: opacity, transform; /* Hinweismarker für den Browser zur GPU-Optimierung */
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}