/* FOFUS living layer — MINIMAL (for SPA surfaces with own design systems).
   Contains ONLY the anim primitives (no site overrides). Pairs with fofus-motion.js. */
@keyframes fofus-drift { 0%{transform:rotate(-2deg) translateY(-1px)} 50%{transform:rotate(2deg) translateY(1px)} 100%{transform:rotate(-2deg) translateY(-1px)} }
@keyframes fofus-kenburns { from{transform:scale(1) translate(0,0)} to{transform:scale(1.07) translate(-0.6%,-0.4%)} }
@keyframes fofus-pan { from{background-position:0% 50%} to{background-position:100% 50%} }
@keyframes fofus-glow { from{box-shadow:0 0 0 0 rgba(195,164,86,0)} 50%{box-shadow:0 0 22px 1px rgba(195,164,86,.30)} to{box-shadow:0 0 0 0 rgba(195,164,86,0)} }
svg.lucide { animation: fofus-drift 6s ease-in-out infinite; }
svg.lucide:nth-child(odd) { animation-delay: -1.5s; }
svg.lucide:nth-child(3n) { animation-delay: -3s; }
svg.lucide:nth-child(4n) { animation-duration: 7s; }
button:hover > svg.lucide, a:hover > svg.lucide { animation-play-state: paused; }
.fofus-hero-img img, .product-card img { animation: fofus-kenburns 18s ease-in-out alternate infinite; }
.product-card:hover img { animation-play-state: paused; }
.btn-fancy, .hero-cta-fancy { animation: fofus-glow 4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  svg.lucide, .fofus-hero-img img, .product-card img, .btn-fancy { animation: none !important; }
}
