/* LIVETOOLSLAB motion layer. Only active when <html> has .ltl-anim (set in <head> unless the visitor prefers
   reduced motion or Elementor is being edited). Remove this file and motion.js to disable every animation. */

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}

  /* Scroll reveals: classes are added by motion.js only to elements below the fold */
  .ltl-anim .ltl-reveal{opacity:0;transform:translate3d(0,30px,0);transition:opacity .8s var(--ltl-ease) var(--ltl-d,0s),transform .8s var(--ltl-ease) var(--ltl-d,0s);will-change:opacity,transform}
  .ltl-anim .ltl-reveal--scale{transform:translate3d(0,26px,0) scale(.982)}
  .ltl-anim .ltl-reveal--fade{transform:none}
  .ltl-anim .ltl-reveal.ltl-in{opacity:1;transform:none}

  /* Hero intro (pure CSS, so there is no flash before JavaScript runs) */
  .ltl-anim .ltl-hero .elementor-widget{animation:ltl-rise .95s var(--ltl-ease) backwards}
  .ltl-anim .ltl-hero .elementor-widget:nth-child(2){animation-delay:.12s}
  .ltl-anim .ltl-hero .elementor-widget:nth-child(n+3){animation-delay:.24s}
  .ltl-anim .ltl-crumbs .ltl-breadcrumbs{animation:ltl-fade .7s var(--ltl-ease) backwards}
  .ltl-anim .ltl-hero::before{animation:ltl-float-a 18s ease-in-out infinite}
  .ltl-anim .ltl-hero::after{animation:ltl-float-b 23s ease-in-out infinite}

  /* Mobile menu: items cascade in */
  .ltl-anim .ltl-nav.is-open .ltl-menu>li,.ltl-anim .ltl-nav.is-open .ltl-cta--drawer{animation:ltl-nav-in .55s var(--ltl-ease) backwards;animation-delay:calc(var(--i,0) * 55ms + 80ms)}

  @keyframes ltl-rise{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
  @keyframes ltl-fade{from{opacity:0}to{opacity:1}}
  @keyframes ltl-nav-in{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
  @keyframes ltl-float-a{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(40px,26px,0) scale(1.06)}}
  @keyframes ltl-float-b{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-34px,34px,0) scale(1.08)}}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .ltl-cats>li:hover,.ltl-related li a:hover{transform:none}
}
@media print{.ltl-reveal{opacity:1!important;transform:none!important}}
