html{scroll-behavior:smooth}
body{margin:0;background:#F6F4FA;color:#1C1233;font-family:'Sora',sans-serif;overflow-x:hidden}
a{color:#6D28D9;text-decoration:none}
a:hover{color:#4C1D95}
details summary::-webkit-details-marker{display:none}
details[open] .faq-plus{transform:rotate(45deg)}
@keyframes barfill{from{width:0}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-14px) rotate(var(--r,0deg))}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes blob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(60px,-40px) scale(1.15)}66%{transform:translate(-40px,30px) scale(0.92)}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes pxblink{0%,100%{opacity:0.15}50%{opacity:0.7}}
@keyframes glowpulse{0%,100%{box-shadow:0 24px 64px rgba(139,92,246,0.35)}50%{box-shadow:0 24px 80px rgba(139,92,246,0.55),0 0 44px 2px rgba(85,230,255,0.25)}}
@keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity 0.8s cubic-bezier(0.22,1,0.36,1),transform 0.8s cubic-bezier(0.22,1,0.36,1)}
[data-reveal].rv-in{opacity:1;transform:none}
[data-reveal="left"]{transform:translateX(-40px)}
[data-reveal="right"]{transform:translateX(40px)}
[data-reveal="pop"]{transform:scale(0.9)}
.stagger>*{opacity:0;transform:translateY(30px);transition:opacity 0.7s cubic-bezier(0.22,1,0.36,1),transform 0.7s cubic-bezier(0.22,1,0.36,1)}
.stagger.rv-in>*{opacity:1;transform:none}
.stagger.rv-in>*:nth-child(1){transition-delay:0.05s}.stagger.rv-in>*:nth-child(2){transition-delay:0.15s}.stagger.rv-in>*:nth-child(3){transition-delay:0.25s}.stagger.rv-in>*:nth-child(4){transition-delay:0.35s}.stagger.rv-in>*:nth-child(5){transition-delay:0.45s}.stagger.rv-in>*:nth-child(6){transition-delay:0.55s}.stagger.rv-in>*:nth-child(7){transition-delay:0.65s}
.card-lift{transition:transform 0.35s cubic-bezier(0.22,1,0.36,1),box-shadow 0.35s,border-color 0.35s}
.card-lift:hover{transform:translateY(-8px) rotate(-0.5deg);box-shadow:0 24px 48px rgba(46,20,101,0.16);border-color:#8B5CF6 !important}
.btn-bounce{transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.25s,background 0.25s}
.btn-bounce:hover{transform:translateY(-3px) scale(1.03)}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}[data-reveal],.stagger>*{opacity:1;transform:none}}
