.reveal{opacity:0;transform:translateY(40px)}
.reveal-left{opacity:0;transform:translateX(-40px)}
.reveal-right{opacity:0;transform:translateX(40px)}
.reveal-scale{opacity:0;transform:scale(0.9)}
.reveal-up{opacity:0;transform:translateY(60px)}

.text-reveal{overflow:hidden}
.text-reveal-inner{transform:translateY(100%);display:inline-block}

.img-reveal{overflow:hidden}
.img-reveal img{transform:scale(1.3);transition:none}
.img-reveal.revealed img{transform:scale(1)}

.stagger-child{opacity:0;transform:translateY(30px)}

.product-card-reveal{opacity:0;transform:translateY(50px) scale(0.95)}

/* CSS-only staggered entrance for dynamically rendered product cards */
@keyframes card-in{from{opacity:0;transform:translateY(36px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.cards-animate .fk-card{opacity:0;animation:card-in 0.55s cubic-bezier(0.16,1,0.3,1) forwards}
.cards-animate .fk-card:nth-child(1){animation-delay:0.04s}
.cards-animate .fk-card:nth-child(2){animation-delay:0.09s}
.cards-animate .fk-card:nth-child(3){animation-delay:0.14s}
.cards-animate .fk-card:nth-child(4){animation-delay:0.19s}
.cards-animate .fk-card:nth-child(5){animation-delay:0.24s}
.cards-animate .fk-card:nth-child(6){animation-delay:0.29s}
.cards-animate .fk-card:nth-child(7){animation-delay:0.34s}
.cards-animate .fk-card:nth-child(8){animation-delay:0.39s}
.cards-animate .fk-card:nth-child(n+9){animation-delay:0.44s}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(248,93,19,0.2)}50%{box-shadow:0 0 20px 10px rgba(248,93,19,0.1)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes slide-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes slide-in-right{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes scale-in{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}

.animate-float{animation:float 3s ease-in-out infinite}
.animate-pulse{animation:pulse-glow 2s ease-in-out infinite}
.animate-shimmer{
  background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,0.05) 50%,transparent 75%);
  background-size:200% 100%;animation:shimmer 2s infinite;
}
.animate-fade{animation:fade-in 0.6s ease forwards}
.animate-slide-up{animation:slide-up 0.5s ease forwards}
.animate-slide-right{animation:slide-in-right 0.4s cubic-bezier(0.16,1,0.3,1) forwards}
.animate-scale{animation:scale-in 0.4s cubic-bezier(0.16,1,0.3,1) forwards}

.hero-title-line{display:block;overflow:hidden}
.hero-title-line span{display:inline-block;transform:translateY(110%)}

.page-transition-enter{animation:fade-in 0.3s ease}

@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-left,.reveal-right,.reveal-scale,.reveal-up,
  .text-reveal-inner,.stagger-child,.product-card-reveal,
  .hero-title-line span,.hero-badge-reveal,.hero-desc-reveal,
  .hero-actions-reveal,.hero-trust-reveal,.hero-image-reveal,
  .hero-floating-reveal,.hero-badge-top-reveal{opacity:1;transform:none}
  .cards-animate .fk-card{opacity:1;transform:none;animation:none}
  .img-reveal img{transform:none}
  .animate-float,.animate-pulse,.animate-shimmer{animation:none}
}
