@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes count-blur-in{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}.reveal{opacity:1;transform:none}html.js-reveal-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity var(--duration-delight) var(--ease-out),transform var(--duration-delight) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}html.js-reveal-ready .reveal.in-view{opacity:1;transform:translateY(0)}.hero-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;background:radial-gradient(circle,var(--color-accent-default),transparent 70%);animation:float-slow 8s var(--ease-out) infinite}body{animation:fade-up .4s var(--ease-out) backwards}.kpi-value{animation:count-blur-in .6s var(--ease-out) both}@media(prefers-reduced-motion:reduce){html.js-reveal-ready .reveal{opacity:1;transform:none;transition:none}.hero-blob,body,.kpi-value{animation:none}}
