@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hero .badge{animation:fadeDown .8s ease}.hero h1{animation:fadeUp .8s ease .2s both}.hero>p{animation:fadeUp .8s ease .4s both}.hero .cta-group{animation:fadeUp .8s ease .6s both}@keyframes pulse{50%{opacity:.4;transform:scale(1.5)}}@keyframes tblink{0%,100%{opacity:.2}50%{opacity:1}}.typing-ind span{animation:tblink 1.4s infinite}.typing-ind span:nth-child(2){animation-delay:.2s}.typing-ind span:nth-child(3){animation-delay:.4s}@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg{animation:msgIn .3s ease}.sys-msg{animation:msgIn .3s ease}.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.16,1,.3,1)}.reveal.vis{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero .badge,.hero h1,.hero>p,.hero .cta-group{animation:none}.typing-ind span{animation:none}.msg,.sys-msg{animation:none}.live-dot{animation:none}*{transition-duration:0.01ms !important;animation-duration:0.01ms !important}}