/* ============================================
   GÜVEN AYDINLATMA — Animasyonlar
   Scroll-triggered & micro-interaction anims
   ============================================ */

/* ─────────────────────────────────────────────
   1. KEYFRAME DEFINITIONS
   ───────────────────────────────────────────── */

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes glowPulse {
  0%, 100% {
    box-shadow: 0 0 20px rgba(201, 168, 76, 0.15);
  }
  50% {
    box-shadow: 0 0 35px rgba(201, 168, 76, 0.3);
  }
}

@keyframes lineExpand {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

@keyframes countUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ─────────────────────────────────────────────
   2. SCROLL-TRIGGERED ANIMATION CLASSES
   ───────────────────────────────────────────── */

/* Base state — hidden before trigger */
[data-animate] {
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Visible / triggered state */
[data-animate].visible {
  opacity: 1;
}

/* Fade Up */
[data-animate="fade-up"] {
  transform: translateY(30px);
}
[data-animate="fade-up"].visible {
  transform: translateY(0);
}

/* Fade Down */
[data-animate="fade-down"] {
  transform: translateY(-20px);
}
[data-animate="fade-down"].visible {
  transform: translateY(0);
}

/* Fade Left */
[data-animate="fade-left"] {
  transform: translateX(-30px);
}
[data-animate="fade-left"].visible {
  transform: translateX(0);
}

/* Fade Right */
[data-animate="fade-right"] {
  transform: translateX(30px);
}
[data-animate="fade-right"].visible {
  transform: translateX(0);
}

/* Scale In */
[data-animate="scale-in"] {
  transform: scale(0.92);
}
[data-animate="scale-in"].visible {
  transform: scale(1);
}

/* Fade only */
[data-animate="fade"] {
  transform: none;
}
[data-animate="fade"].visible {
  transform: none;
}


/* ─────────────────────────────────────────────
   3. STAGGER DELAYS
   ───────────────────────────────────────────── */
[data-delay="100"] { transition-delay: 100ms; }
[data-delay="200"] { transition-delay: 200ms; }
[data-delay="300"] { transition-delay: 300ms; }
[data-delay="400"] { transition-delay: 400ms; }
[data-delay="500"] { transition-delay: 500ms; }
[data-delay="600"] { transition-delay: 600ms; }
[data-delay="700"] { transition-delay: 700ms; }
[data-delay="800"] { transition-delay: 800ms; }


/* ─────────────────────────────────────────────
   4. DURATION VARIANTS
   ───────────────────────────────────────────── */
[data-duration="fast"] {
  transition-duration: 0.35s;
}

[data-duration="slow"] {
  transition-duration: 0.9s;
}


/* ─────────────────────────────────────────────
   5. HERO ENTRANCE ANIMATIONS
   ───────────────────────────────────────────── */
.hero__label {
  animation: fadeInDown 0.8s ease 0.2s both;
}

.hero__title {
  animation: fadeInUp 0.8s ease 0.4s both;
}

.hero__description {
  animation: fadeInUp 0.8s ease 0.6s both;
}

.hero__actions {
  animation: fadeInUp 0.8s ease 0.8s both;
}

.hero__scroll {
  animation: fadeIn 1s ease 1.2s both;
}


/* ─────────────────────────────────────────────
   6. COUNTER ANIMATION
   ───────────────────────────────────────────── */
.stat-item.animate .stat-item__number {
  animation: countUp 0.5s ease both;
}

.stat-item.animate:nth-child(1) .stat-item__number { animation-delay: 0ms; }
.stat-item.animate:nth-child(2) .stat-item__number { animation-delay: 150ms; }
.stat-item.animate:nth-child(3) .stat-item__number { animation-delay: 300ms; }
.stat-item.animate:nth-child(4) .stat-item__number { animation-delay: 450ms; }


/* ─────────────────────────────────────────────
   7. REDUCED MOTION OVERRIDE
   ───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-animate],
  .hero__label,
  .hero__title,
  .hero__description,
  .hero__actions,
  .hero__scroll {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}
