/* Exchange22 animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideRight{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes countUp{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(30,136,229,.5)}50%{box-shadow:0 0 0 14px rgba(30,136,229,0)}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.hero-editorial{animation:fadeIn .6s ease both}
.hero h1>span,.hero .lede,.hero-cta,.hero-meta{animation:fadeUp .6s ease both}
.hero h1>span{animation-delay:.05s}
.hero .lede{animation-delay:.15s}
.hero-cta{animation-delay:.25s}
.hero-meta{animation-delay:.35s}
.hub-card,.why-item,.winner-card,.blog-card,.step-item{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.hub-card:hover,.blog-card:hover{transform:translateY(-6px)}
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-100%);transition:transform .5s ease}
.btn:hover::after{transform:translateX(100%)}
.btn-primary{animation:pulse 2.4s ease-in-out infinite}
.trust-strip{animation:fadeIn .8s ease both .2s}
.toc,.content-block{transition:border-color .25s ease,box-shadow .25s ease}
.toc:hover{box-shadow:var(--shadow)}
.score-ticker{display:flex;gap:24px;overflow:hidden;background:rgba(255,255,255,.08);padding:12px 18px;border-radius:10px;margin-top:14px}
.score-ticker-inner{display:flex;gap:24px;animation:ticker 30s linear infinite;white-space:nowrap}
.score-ticker-item{font-size:14px;font-weight:500;color:#fff}
.score-ticker-item strong{color:#60A5FA;margin-right:6px}
@media (prefers-reduced-motion:reduce){.hero-editorial,.btn-primary,.hero h1>span,.hero .lede,.hero-cta,.hero-meta,.trust-strip,.score-ticker-inner{animation:none!important}}
