/* ============================================================
   EMONS ANIMATION FALLBACK
   Replaces GSAP/ScrollTrigger/Webflow animations with CSS
   ============================================================ */

/* Fade in animations */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

/* Scroll-triggered-like animations using intersection */
.js_scroll, .anim-element {
  opacity: 0;
  animation: fadeInUp 0.8s ease-out forwards;
  animation-play-state: paused;
}

.js_scroll.is-visible, .anim-element.is-visible {
  animation-play-state: running;
}

/* Stagger delays */
.js_scroll:nth-child(1) { animation-delay: 0.1s; }
.js_scroll:nth-child(2) { animation-delay: 0.2s; }
.js_scroll:nth-child(3) { animation-delay: 0.3s; }
.js_scroll:nth-child(4) { animation-delay: 0.4s; }
.js_scroll:nth-child(5) { animation-delay: 0.5s; }

/* Force all content visible */
section, .section, .home_hero, .home_content, .footer, .nav {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Ensure images are visible */
img, .image, .img {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Text reveal animation fallback */
.split-text .line,
.split-text .word,
.split-text .char {
  opacity: 1 !important;
  transform: none !important;
}

/* Ensure smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Video thumbnail visible */
.hero_video_thumbnail_wrapper {
  opacity: 1 !important;
}

/* Service cards visible */
.service_card, .leistung_card, .home_service_card {
  opacity: 1 !important;
  transform: none !important;
}

/* Stats counter fallback */
.stat_number, .counter {
  opacity: 1 !important;
}

/* Mobile menu */
.mobile_menu, .menu_mobile {
  display: none;
}

.mobile_menu.is-open, .menu_mobile.is-open {
  display: block;
  animation: fadeIn 0.3s ease-out;
}

/* Loading screen hide */
.loading_screen, .loader, .preloader {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
