/* Nutricon V2: CSS-only entrance effects. These do not depend on Elementor's JS animation observer. */
.nutricon-css-fade { animation: nutriconFade .75s ease-out both; }
.nutricon-css-rise { animation: nutriconRise .8s cubic-bezier(.2,.65,.3,1) both; }
.nutricon-delay-80 { animation-delay: .08s; }
.nutricon-delay-100 { animation-delay: .10s; }
.nutricon-delay-120 { animation-delay: .12s; }

@keyframes nutriconFade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes nutriconRise {
  from { opacity: 0; transform: translate3d(0,18px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

/* Safety net: never allow a stale Elementor animation class to blank the page. */
body.elementor-page .elementor-invisible { visibility: visible !important; opacity: 1 !important; }

/* Keep Canvas/page background clean. */
body.elementor-page { margin: 0; }

@media (prefers-reduced-motion: reduce) {
  .nutricon-css-fade, .nutricon-css-rise { animation: none !important; }
}
