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

.cursor {
    animation: blink 0.7s infinite;
}

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

@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

.hero-fade-in {
    animation: fadeInUp 1s ease-out 3.5s forwards;
}

.hero-fade-in-delay {
    animation: fadeInUp 1s ease-out 4s forwards;
}

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

input.error,
textarea.error,
select.error {
    border-color: #ef4444;
    background-color: #fef2f2;
}

.iti {
    width: 100%;
}