/* Hero van index.html.
   Laden na index.css, zodat deze regels winnen. */

.hero {
  position: relative;
  background-image: none;
}

/* zo specifiek als site.css' section.u-image:not(.u-hover-box) { overflow: visible },
   anders steekt de parallax-laag boven de hero uit over het logo */
section.hero.u-image:not(.u-hover-box) {
  overflow: hidden;
}

.hero .hero-bg {
  position: absolute;
  top: -15%;
  left: 0;
  width: 100%;
  height: 130%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('images/30km_f.jpg') center / cover no-repeat;
  will-change: transform;
  transition: none;
  animation: hero-zoom 1.8s ease-out both;
}

.hero .u-sheet-1 {
  position: relative;
  min-height: max(240px, 42vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero .u-text-1 {
  margin: 30px auto 0;
  font-size: clamp(2rem, 6vw, 4.5rem);
  animation: hero-rise 1s ease-out 0.2s both;
}

.hero .u-text-2 {
  width: auto;
  max-width: 826px;
  margin: 20px auto 30px;
  padding: 0 16px;
  animation: hero-rise 1s ease-out 0.5s both;
}

@keyframes hero-zoom {
  from { scale: 1.12; }
  to { scale: 1; }
}

@keyframes hero-rise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .hero .hero-bg,
  .hero .u-text-1,
  .hero .u-text-2 { animation: none; }
}
