/* ===========================================================================
   Digitalpnd FX · animations.css
   Smooth elegant micro-interactions (cubic-bezier(0.22,1,0.36,1))
   =========================================================================== */

/* ---- Easing helpers reused: var(--ease) = cubic-bezier(0.22,1,0.36,1) ---- */

/* Keyframes */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(36px,28px)}}
@keyframes floatB{0%,100%{transform:translate(0,0)}50%{transform:translate(-34px,-26px)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.85}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 20px rgba(127,90,240,.4)}50%{box-shadow:0 0 36px rgba(199,125,255,.7)}}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes starDrift{to{background-position:340px 340px}}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes shimmer{to{background-position:-200% 0}}

/* Utility animation classes */
.fade-up{animation:fadeUp var(--dur-slow) var(--ease) both}
.fade-in{animation:fadeIn var(--dur-slow) var(--ease) both}
.slide-up{animation:slideUp var(--dur-slow) var(--ease) both}
.float{animation:float 6s ease-in-out infinite}
.pulse{animation:pulse 2.4s ease-in-out infinite}
.gradient-shift{background-size:200% 200%;animation:gradientShift 6s ease infinite}

/* staggered entrance (apply .stagger to parent) */
.stagger>*{animation:fadeUp var(--dur-slow) var(--ease) both}
.stagger>*:nth-child(1){animation-delay:.04s}
.stagger>*:nth-child(2){animation-delay:.10s}
.stagger>*:nth-child(3){animation-delay:.16s}
.stagger>*:nth-child(4){animation-delay:.22s}
.stagger>*:nth-child(5){animation-delay:.28s}
.stagger>*:nth-child(6){animation-delay:.34s}
.stagger>*:nth-child(7){animation-delay:.40s}
.stagger>*:nth-child(8){animation-delay:.46s}

/* respect reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
