@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(1.3)} }
@keyframes fadeUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
@keyframes bounce { 0%,80%,100%{transform:translateY(0)} 40%{transform:translateY(-6px)} }
@keyframes wa-pulse { 0%,100%{box-shadow:0 8px 30px rgba(37,211,102,0.4)} 50%{box-shadow:0 8px 30px rgba(37,211,102,0.4),0 0 0 12px rgba(37,211,102,0.15)} }

.logo-dot { animation: pulse 2s infinite; }
.msg { animation: fadeUp 0.3s ease forwards; opacity: 0; }
.typing-indicator span { animation: bounce 1.2s infinite; }
.typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
.typing-indicator span:nth-child(3) { animation-delay: 0.4s; }

.nav-links a::after {
  content: ''; display: block; width: 0; height: 2px;
  background: #00D4AA; transition: width 0.3s; margin-top: 2px; border-radius: 1px;
}
.nav-links a.active::after { width: 100%; }

.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s; }
.faq-item.open .faq-answer { max-height: 200px; padding-bottom: 24px; }
.faq-item.open .faq-chevron { transform: rotate(180deg); }

.reveal { opacity: 0; transform: translateY(32px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

#whatsappBtn { animation: wa-pulse 2.5s ease-in-out infinite; }
