/* ============================================================
   animations.css — Green Ad Solutions
   Lightweight premium animations
   ============================================================ */

/* ── Scroll bounce for hero indicator ───────────────────────── */
@keyframes scrollBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(8px); }
}

/* ── Fade in up ──────────────────────────────────────────────── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Fade in ─────────────────────────────────────────────────── */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ── Fade in left ────────────────────────────────────────────── */
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-32px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ── Fade in right ───────────────────────────────────────────── */
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(32px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ── Scale in ────────────────────────────────────────────────── */
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── Pulse glow ──────────────────────────────────────────────── */
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); }
  50%       { box-shadow: 0 0 0 8px rgba(74,222,128,0.15); }
}

/* ── Shimmer (for skeleton loaders or accents) ───────────────── */
@keyframes shimmer {
  from { background-position: -200% center; }
  to   { background-position: 200% center; }
}

/* ── Hero entrance animation ─────────────────────────────────── */
.hero-eyebrow   { animation: fadeInUp 0.7s ease 0.2s both; }
.hero-headline  { animation: fadeInUp 0.8s ease 0.35s both; }
.hero-subtext   { animation: fadeInUp 0.7s ease 0.5s both; }
.hero-actions   { animation: fadeInUp 0.7s ease 0.65s both; }
.hero-trust     { animation: fadeInUp 0.7s ease 0.8s both; }
.hero-scroll    { animation: fadeIn 1s ease 1.2s both; }

/* ── Reduced motion preference ───────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
