/* =========================================================
   KRISHNANANDHAM — animation.css
   All @keyframes animation definitions used across the site
   (loaded by index.html AFTER style.css, order-independent).
   The animation-name / animation-duration / etc. declarations
   that USE these keyframes remain in style.css, next to the
   selectors they animate (e.g. .hero-slide.active, .gold-btn,
   .section-title shimmer, .orbit-ring spin, .timeline-item, etc.)
   ========================================================= */

@keyframes drift{ from{ transform:translate(0,0) scale(1);} to{ transform:translate(40px,-30px) scale(1.08);} }

@keyframes featherFall{
  0%{ transform:translate(0,0) rotate(0deg); opacity:0; }
  10%{ opacity:.4; }
  90%{ opacity:.3; }
  100%{ transform:translate(60px, 115vh) rotate(200deg); opacity:0; }
}

@keyframes featherIntro{
  0%{ opacity:0; transform:translateX(-60vw) rotate(-8deg); }
  15%{ opacity:1; }
  85%{ opacity:1; }
  100%{ opacity:0; transform:translateX(60vw) rotate(8deg); }
}

@keyframes introFade{ to{ opacity:1; } }

@keyframes fluteGlow{ 0%,100%{ filter:drop-shadow(0 0 2px var(--gold)); } 50%{ filter:drop-shadow(0 0 8px var(--gold-light)); } }

@keyframes shimmer{ to{ background-position:200% center; } }

@keyframes kenburns{ from{ transform:scale(1.0); } to{ transform:scale(1.08); } }

@keyframes bellSway{ 0%,100%{ transform:rotate(-8deg) translateY(0);} 50%{ transform:rotate(8deg) translateY(-6px);} }

@keyframes wordIn{ to{ opacity:1; transform:translateY(0); } }

@keyframes scrollPulse{ 0%,100%{ opacity:.2; } 50%{ opacity:1; } }

@keyframes orbitSpin{ to{ transform:rotate(360deg); } }

@keyframes counterSpin{ to{ transform:rotate(-360deg); } }