  /* Basis reveal setup */
  .reveal {
    opacity: 0;
    transform: translateY(10px);
    transition-property: opacity, transform;
    transition-duration: 700ms;
    transition-timing-function: ease-out;
    will-change: opacity, transform;
  }

  /* Variaties op het startpunt (komen vóór .is-visible) */
  .reveal.reveal-fade {
    transform: translateY(0);
  }

  .reveal.reveal-left {
    transform: translateX(-40px);
  }

  .reveal.reveal-right {
    transform: translateX(40px);
  }

  .reveal.reveal-bottom {
    transform: translateY(40px);
  }

  .reveal.reveal-zoom {
    transform: scale(0.85);
    transition-duration: 1500ms;
  }

  /* Wanneer in beeld – DIT BLOK MOET NA BOVENSTAANDE EFFECTEN KOMEN */
  .reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  .reveal.no-transition { transition: none !important; }

  /* Delays */
  .reveal.delay-1 { transition-delay: 0.15s; }
  .reveal.delay-2 { transition-delay: 0.30s; }
  .reveal.delay-3 { transition-delay: 0.45s; }
  .reveal.delay-4 { transition-delay: 0.60s; }
  .reveal.delay-5 { transition-delay: 0.75s; }

  @media (prefers-reduced-motion: reduce) {
    .reveal {
      opacity: 1 !important;
      transform: none !important;
      transition: none !important;
    }
  }

/* fade-in above the fold -> geen reveal indien al in beeld on load */
@keyframes rwb-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.rwb-onload-fade {
  opacity: 0;
  animation: rwb-fade-in 1s ease-out forwards;
}

/* optioneel: kleine delay varianten */
.rwb-onload-fade.delay-1 { animation-delay: .15s; }
.rwb-onload-fade.delay-2 { animation-delay: .30s; }
.rwb-onload-fade.delay-3 { animation-delay: .45s; }

@media (prefers-reduced-motion: reduce) {
  .rwb-onload-fade { opacity: 1; animation: none; transform: none; }
}

