@keyframes pulse-logo { 0%,100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.06); opacity: 1; } }
@keyframes rise-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes gentle-attention { 0%, 86%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); } 89% { transform: translate3d(-1px, 0, 0) rotate(-.35deg); } 92% { transform: translate3d(1px, 0, 0) rotate(.35deg); } 95% { transform: translate3d(-.5px, 0, 0) rotate(-.15deg); } }
@keyframes status-ripple { 0% { transform: scale(.7); opacity: .85; } 72%, 100% { transform: scale(2.2); opacity: 0; } }
.reveal { animation: rise-in .65s var(--ease) both; }.delay-2 { animation-delay: .12s; }
.hero-search-card.reveal { animation: gentle-attention 2s ease-in-out infinite; animation-delay: 1.4s; }
.assistant-root.is-open .assistant-toggle { animation: none !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
