@keyframes typing {
    from { width: 0 }
    to { width: 100% }
}

@keyframes slideUp {
    from { transform: translateY(50px); opacity: 0 }
    to { transform: translateY(0); opacity: 1 }
}

@keyframes fadeIn {
    from { opacity: 0 }
    to { opacity: 1 }
}

@keyframes pulse {
    0% { transform: scale(1) }
    50% { transform: scale(1.05) }
    100% { transform: scale(1) }
}

.animate-typing {
    overflow: hidden;
    white-space: nowrap;
    animation: typing 3.5s steps(40, end);
}

.animate-slide-up {
    animation: slideUp 1s ease-out forwards;
}

.animate-fade-in {
    animation: fadeIn 2s ease-in forwards;
}

.animate-pulse {
    animation: pulse 2s infinite;
}