/* ==========================================================================
   ANIMATIONS.CSS — Performansı düşürmeyen, hafif hareket sistemi
   Yalnızca transform / opacity animasyonları (compositor dostu)
   ========================================================================== */

[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms var(--ease-out), transform 700ms var(--ease-out);
  will-change: transform, opacity;
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}
[data-reveal-delay="1"] { transition-delay: 90ms; }
[data-reveal-delay="2"] { transition-delay: 180ms; }
[data-reveal-delay="3"] { transition-delay: 270ms; }
[data-reveal-delay="4"] { transition-delay: 360ms; }

@keyframes pulse-rec {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}

@keyframes float-y {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.float { animation: float-y 5s ease-in-out infinite; }

@keyframes spin-slow {
  to { transform: rotate(360deg); }
}
.spin-slow { animation: spin-slow 12s linear infinite; }

@keyframes fade-in-up {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero [data-reveal-hero] {
  animation: fade-in-up 800ms var(--ease-out) both;
}
.hero [data-reveal-hero="1"] { animation-delay: 80ms; }
.hero [data-reveal-hero="2"] { animation-delay: 180ms; }
.hero [data-reveal-hero="3"] { animation-delay: 280ms; }
.hero [data-reveal-hero="4"] { animation-delay: 380ms; }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .float, .spin-slow { animation: none; }
  .hero [data-reveal-hero] { animation: none; }
}

/* Buton basma dalga efekti (hafif) */
.btn { position: relative; overflow: hidden; }

/* Sayaç */
.stat__value.is-counting { color: #fff; }

/* Skeleton yükleme (lazy görseller için) */
@keyframes skeleton-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}
.lazy-img:not(.is-loaded) { animation: skeleton-pulse 1.6s ease-in-out infinite; }
