/* ============================================================
   Kybele Otel – animations.css
   ============================================================ */

/* ── Keyframes ── */
@keyframes fadeSlideDown {
  from { opacity: 0; transform: translateY(-22px); }
  to   { opacity: 1; transform: translateY(0); }
}

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

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

@keyframes scrollPulse {
  0%   { transform: scaleY(0); transform-origin: top; }
  48%  { transform: scaleY(1); transform-origin: top; }
  52%  { transform: scaleY(1); transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}

@keyframes waPulse {
  0%   { transform: scale(1); opacity: 0.6; }
  70%  { transform: scale(1.5); opacity: 0; }
  100% { transform: scale(1.5); opacity: 0; }
}

@keyframes shimmer {
  0%   { background-position: -800px 0; }
  100% { background-position: 800px 0; }
}

@keyframes goldGlow {
  0%, 100% { box-shadow: 0 0 10px rgba(184,151,90,0.1); }
  50%       { box-shadow: 0 0 28px rgba(184,151,90,0.25); }
}

@keyframes floatUp {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}

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

/* ── Page load ── */
body { animation: pageLoad 0.4s ease forwards; }

/* ── Scroll Reveal ── */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.from-left  { transform: translateX(-32px); }
.reveal.from-right { transform: translateX(32px); }
.reveal.scale-in   { transform: scale(0.94); }
.reveal.visible    { opacity: 1; transform: none; }

/* Stagger delays */
.stagger .reveal:nth-child(1)  { transition-delay: 0.04s; }
.stagger .reveal:nth-child(2)  { transition-delay: 0.12s; }
.stagger .reveal:nth-child(3)  { transition-delay: 0.20s; }
.stagger .reveal:nth-child(4)  { transition-delay: 0.28s; }
.stagger .reveal:nth-child(5)  { transition-delay: 0.36s; }
.stagger .reveal:nth-child(6)  { transition-delay: 0.44s; }

/* ── Gold divider animate ── */
.divider-animated {
  width: 0;
  transition: width 0.7s ease 0.2s;
}
.divider-animated.visible { width: 52px; }

/* ── Float animation ── */
.float-anim { animation: floatUp 5s ease-in-out infinite; }

/* ── Gold glow on cards ── */
.gold-glow-hover { transition: box-shadow 0.3s ease; }
.gold-glow-hover:hover { animation: goldGlow 1.8s ease infinite; }

/* ── Counter animation ── */
@keyframes countPop {
  from { transform: scale(0.85); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}
.stat-num.counted { animation: countPop 0.4s ease forwards; }

/* ── Tagline fade ── */
#heroTagline {
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#heroTagline.out {
  opacity: 0;
  transform: translateY(-16px);
}
#heroTagline.in {
  opacity: 0;
  transform: translateY(16px);
}
