/* PRIVA SOLUTIONS — ANIMATIONS */
@keyframes heroFadeUp{0%{opacity:0;transform:translateY(32px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes floatContinuous{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(1.5deg)}}
@keyframes floatContinuousAlt{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(10px) rotate(-2deg)}}
@keyframes pulseGlow{0%,100%{opacity:.35;transform:scale(.96)}50%{opacity:.75;transform:scale(1.06)}}
@keyframes sonarPing{0%{transform:scale(.95);opacity:.8}70%,100%{transform:scale(1.8);opacity:0}}
@keyframes marqueeSlide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes rotateGradient{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes scanline{0%{top:-100%}100%{top:200%}}
@keyframes buttonShimmer{0%{transform:translateX(-120%) skewX(-20deg)}100%{transform:translateX(200%) skewX(-20deg)}}
@keyframes counterPulse{0%,100%{text-shadow:0 0 0 rgba(2,196,235,0)}50%{text-shadow:0 0 16px rgba(2,196,235,.28)}}
@keyframes chatSlideUp{0%{opacity:0;transform:translateY(30px) scale(.92)}100%{opacity:1;transform:translateY(0) scale(1)}}
.animate-delay-1{animation-delay:.1s!important}.animate-delay-2{animation-delay:.25s!important}.animate-delay-3{animation-delay:.4s!important}.animate-delay-4{animation-delay:.55s!important}.animate-delay-5{animation-delay:.7s!important}
.hero-animate-up{animation:heroFadeUp .8s var(--ease-out-smooth) forwards}.float-badge-1{animation:floatContinuous 6s ease-in-out infinite}.float-badge-2{animation:floatContinuousAlt 7s ease-in-out infinite 1s}.float-badge-3{animation:floatContinuous 8s ease-in-out infinite 2s}.float-badge-4{animation:floatContinuousAlt 6.5s ease-in-out infinite .5s}.pulse-bg-glow{animation:pulseGlow 8s ease-in-out infinite}
.sonar-ring{position:relative}.sonar-ring::after{content:'';position:absolute;inset:-3px;border-radius:inherit;border:2px solid var(--brand-cyan);animation:sonarPing 2.2s cubic-bezier(0,0,.2,1) infinite;pointer-events:none}
.spotlight-card{position:relative;overflow:hidden}.spotlight-card::before{content:'';position:absolute;inset:-1px;background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(2,196,235,.14),transparent 40%);border-radius:inherit;opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:2}.spotlight-card:hover::before{opacity:1}
.btn-shimmer{position:relative;overflow:hidden}.btn-shimmer::after{content:'';position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-120%) skewX(-20deg);pointer-events:none}.btn-shimmer:hover::after{animation:buttonShimmer 1.1s ease-in-out}
.marquee-track{display:flex;gap:2.5rem;width:max-content;animation:marqueeSlide 28s linear infinite}.marquee-track:hover{animation-play-state:paused}
.dashboard-scanline{position:relative;overflow:hidden}.dashboard-scanline::after{content:'';position:absolute;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent,rgba(252,72,0,.08),transparent);animation:scanline 6s linear infinite;pointer-events:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
