/* ===== Entrance animations (Elementor + Neuros keyframes) ===== */
.elementor-invisible{visibility:hidden}.animated{animation-duration:1.25s}.animated.animated-slow{animation-duration:2s}.animated.animated-fast{animation-duration:.75s}@media (prefers-reduced-motion:reduce){.animated{animation:none!important}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}
@keyframes fadeInDown{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:none}}.fadeInDown{animation-name:fadeInDown}
@keyframes fadeInLeft{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:none}}.fadeInLeft{animation-name:fadeInLeft}
@keyframes fadeInRight{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:none}}.fadeInRight{animation-name:fadeInRight}
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}.fadeInUp{animation-name:fadeInUp}
@keyframes zoomIn{from{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{animation-name:zoomIn}
@keyframes zoomInDown{from{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}.zoomInDown{animation-name:zoomInDown}
@keyframes neurosClipDown {
  from {
    clip-path: inset(0 0 100% 0);
    -webkit-clip-path: inset(0 0 100% 0);
  }
  to {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
}
.neuros_clip_down {
  animation-name: neurosClipDown;
  animation-timing-function: ease-out;
}
@keyframes neurosClipUp {
  from {
    clip-path: inset(100% 0 0 0);
    -webkit-clip-path: inset(100% 0 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
}
.neuros_clip_up {
  animation-name: neurosClipUp;
  animation-timing-function: ease-out;
}
@keyframes neurosClipRight {
  from {
    clip-path: inset(0 100% 0 0);
    -webkit-clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
}
.neuros_clip_right {
  animation-name: neurosClipRight;
  animation-timing-function: ease-out;
}
@keyframes neurosClipLeft {
  from {
    clip-path: inset(0 0 0 100%);
    -webkit-clip-path: inset(0 0 0 100%);
  }
  to {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
}
.neuros_clip_left {
  animation-name: neurosClipLeft;
  animation-timing-function: ease-out;
}
.elementor-widget-neuros_heading[data-settings*='neuros_heading_animation'] .word,
.elementor-widget-neuros_image_carousel[data-settings*='neuros_heading_animation'] .word,
.elementor-widget-neuros_step_carousel[data-settings*='neuros_heading_animation'] .word,
.elementor-widget-neuros_projects_listing[data-settings*='neuros_heading_animation'] .word,
.elementor-widget-neuros_services_listing[data-settings*='neuros_heading_animation'] .word {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  -webkit-clip-path: inset(-0.15em -0.1em);
  clip-path: inset(-0.15em -0.1em);
}
.elementor-widget-neuros_heading[data-settings*='neuros_heading_animation'] .word .letter,
.elementor-widget-neuros_image_carousel[data-settings*='neuros_heading_animation'] .word .letter,
.elementor-widget-neuros_step_carousel[data-settings*='neuros_heading_animation'] .word .letter,
.elementor-widget-neuros_projects_listing[data-settings*='neuros_heading_animation'] .word .letter,
.elementor-widget-neuros_services_listing[data-settings*='neuros_heading_animation'] .word .letter {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
}
.neuros_heading_animation .neuros-heading .neuros-subheading {
  opacity: 0;
  animation: fadeIn .4s .3s forwards;
}
.neuros_heading_animation .neuros-heading .neuros-heading-content .word .letter {
  opacity: 0;
  -webkit-transform: translateY(120%);
  -ms-transform: translateY(120%);
  transform: translateY(120%);
  animation: fadeIn 0.35s forwards, headingAnimation 0.7s cubic-bezier(0.26, -0.14, 0, 1.01) forwards;
}
@keyframes headingAnimation {
  from {
    -webkit-transform: translateY(120%);
    -ms-transform: translateY(120%);
    transform: translateY(120%);
  }
  to {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}