@keyframes landing-rise{0%{opacity:0;transform:translateY(6px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.landing-rise{animation:landing-rise .42s cubic-bezier(.16,1,.3,1) both}@media (prefers-reduced-motion:reduce){.landing-rise{animation:none}}@keyframes landing-typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.landing-typing-dot{animation:landing-typing 1.2s cubic-bezier(.16,1,.3,1) infinite}@media (prefers-reduced-motion:reduce){.landing-typing-dot{animation:none;opacity:.6}}