/* ============================================================
   ANIMATIONS.CSS
   Odium Stüdyo - MOTION_INTENSITY 5.
   Tek amaç: hiyerarşi (kaydırınca içeriğin sahneye girişi) ve
   durum geri bildirimi (aktif proje nabzı). Süs animasyon yok.
   Tümü prefers-reduced-motion ile devre dışı kalır.
   ============================================================ */

/* Kaydırınca beliren öğeler - JS .reveal--visible ekler */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
  will-change: opacity, transform;
}
.reveal--visible {
  opacity: 1;
  transform: none;
}

/* Aynı kapsayıcıdaki öğeler için kademeli gecikme */
.reveal-delay-1 { transition-delay: 0.04s; }
.reveal-delay-2 { transition-delay: 0.10s; }
.reveal-delay-3 { transition-delay: 0.16s; }
.reveal-delay-4 { transition-delay: 0.22s; }
.reveal-delay-5 { transition-delay: 0.28s; }
.reveal-delay-6 { transition-delay: 0.34s; }
.reveal-delay-7 { transition-delay: 0.40s; }
.reveal-delay-8 { transition-delay: 0.46s; }

/* Aktif proje durum noktası - "devam ediyor" geri bildirimi */
@keyframes pulse-dot {
  0%   { box-shadow: 0 0 0 0 rgba(140, 149, 168, 0.5); }
  70%  { box-shadow: 0 0 0 7px rgba(140, 149, 168, 0); }
  100% { box-shadow: 0 0 0 0 rgba(140, 149, 168, 0); }
}

/* "Ve daha nice ekip arkadaşımız..." - noktalar sırayla yükselir,
   süreklilik/çokluk hissi verir */
@keyframes dot-wave {
  0%, 60%, 100% { transform: scale(1);   opacity: 0.3; }
  30%           { transform: scale(1.4); opacity: 1; }
}

/* Hero girişinde sakin yükseliş */
@keyframes hero-rise {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}
/* Amblem girişi yalnızca opaklık - transform'u kaydırma efektine bırakır */
@keyframes hero-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Amblem sürekli yumuşak süzülme - home düz durmasın.
   Logo ve halka aynı süre/gecikme ile birlikte süzülür, böylece
   logo hep halkanın tam ortasında kalır. Yükselirken gölge büyür. */
@keyframes hero-float {
  0%, 100% { transform: translateY(0);     filter: drop-shadow(0 24px 60px rgba(0, 0, 0, 0.6)); }
  50%      { transform: translateY(-12px); filter: drop-shadow(0 40px 74px rgba(0, 0, 0, 0.72)); }
}
@keyframes hero-float-ring {
  0%, 100% { transform: translate(-50%, -50%) translateY(0); }
  50%      { transform: translate(-50%, -50%) translateY(-12px); }
}

/* SSS cevabı açılış */
@keyframes faq-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero__overline { animation: hero-rise 0.7s var(--ease) both; }
  .hero__title    { animation: hero-rise 0.8s var(--ease) 0.06s both; }
  .hero__subtitle { animation: hero-rise 0.8s var(--ease) 0.16s both; }
  .hero__actions  { animation: hero-rise 0.8s var(--ease) 0.26s both; }
  .hero__visual   { animation: hero-fade 1s var(--ease) 0.18s both; }
  .hero__logo-img { animation: hero-float 6s var(--ease-soft) 1.2s infinite; }
  .hero__ring     { animation: hero-float-ring 6s var(--ease-soft) 1.2s infinite; }
}

/* ============================================================
   HAREKET AZALTMA - hepsini durdur
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  .reveal { opacity: 1; transform: none; }
  .work-card:hover { transform: none; }
  .work-card:hover .work-card__img,
  .member:hover .member__img { transform: none; }
}
