/* ── Keyframe animations ───────────────────────────────── */
@keyframes t-in    { from{opacity:0;transform:translateY(10px) scale(.95)} to{opacity:1;transform:none} }
@keyframes t-out   { to{opacity:0;transform:translateY(-8px) scale(.95)} }
@keyframes fade-up { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:none} }
@keyframes fade-in { from{opacity:0} to{opacity:1} }
@keyframes float-y { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes float-y2{ 0%,100%{transform:translateY(-6px)} 50%{transform:translateY(8px)} }
@keyframes glow-pulse { 0%,100%{opacity:.55} 50%{opacity:1} }
@keyframes grid-scroll { from{background-position:0 0} to{background-position:56px 56px} }
@keyframes rotate-slow { to{transform:rotate(360deg)} }
@keyframes bar-grow { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes ping { 75%,100%{transform:scale(2.2);opacity:0} }
@keyframes slide-r      { from{opacity:0;transform:translateX(-20px)} to{opacity:1;transform:none} }
@keyframes slide-in-left { from{opacity:0;transform:translateX(-24px)} to{opacity:1;transform:none} }
@keyframes number-up { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
@keyframes shimmer { from{background-position:200% 0} to{background-position:-200% 0} }

@keyframes title-rise { from{transform:translateY(112%)} to{transform:none} }
@keyframes gradient-pan { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
@keyframes aurora-drift {
  0%   { transform: translate(-50%,-50%) rotate(0deg)   scale(1); }
  50%  { transform: translate(-46%,-54%) rotate(180deg) scale(1.12); }
  100% { transform: translate(-50%,-50%) rotate(360deg) scale(1); }
}
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes scan-sweep { 0%{top:-10%} 100%{top:110%} }
@keyframes cue-drop { 0%{opacity:0;transform:translateY(0)} 30%{opacity:1} 100%{opacity:0;transform:translateY(14px)} }

/* ── Scroll reveal ─────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(36px); transition: opacity .85s ease, transform .85s var(--spring); }
.reveal.in { opacity:1; transform:none; }
.rd1{transition-delay:.08s} .rd2{transition-delay:.16s} .rd3{transition-delay:.24s}
.rd4{transition-delay:.32s} .rd5{transition-delay:.40s} .rd6{transition-delay:.48s}
