/* ================================================
   NETYON SOLUTIONS — Animations
   ================================================ */

/* Scroll bounce indicator */
@keyframes scroll-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); opacity: 0.5; }
  50%       { transform: translateX(-50%) translateY(6px); opacity: 1; }
}

/* Glow pulse on brand logo */
@keyframes brand-glow {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(79,184,255,0.3)); }
  50%       { filter: drop-shadow(0 0 18px rgba(79,184,255,0.65)); }
}

/* Hero text entrance */
@keyframes hero-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hero-copy .eyebrow      { animation: hero-fade-up 0.7s var(--ease-out) 0.15s both; }
.hero-copy h1            { animation: hero-fade-up 0.7s var(--ease-out) 0.28s both; }
.hero-copy .desc         { animation: hero-fade-up 0.7s var(--ease-out) 0.4s  both; }
.hero-copy .hero-actions { animation: hero-fade-up 0.7s var(--ease-out) 0.5s  both; }
.hero-visual             { animation: hero-fade-up 0.9s var(--ease-out) 0.35s both; }

/* Brand logo glow */
.brand-logo { animation: brand-glow 4s ease-in-out infinite; }

/* Section reveal (triggered by JS) */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Card stagger */
.solutions-grid .solution-card:nth-child(1) { transition-delay: 0s; }
.solutions-grid .solution-card:nth-child(2) { transition-delay: 0.08s; }
.solutions-grid .solution-card:nth-child(3) { transition-delay: 0.16s; }
.solutions-grid .solution-card:nth-child(4) { transition-delay: 0.24s; }

/* Feature card stagger */
.features-grid .feature-card:nth-child(1) { transition-delay: 0s; }
.features-grid .feature-card:nth-child(2) { transition-delay: 0.1s; }
.features-grid .feature-card:nth-child(3) { transition-delay: 0.2s; }

/* Gradient text shimmer (optional, used on headings) */
@keyframes shimmer {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Loading state shimmer for placeholder content */
@keyframes skeleton-pulse {
  0%, 100% { opacity: 0.4; }
  50%       { opacity: 0.8; }
}

/* Ease variable shorthand */
:root {
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}
