/* Animaciones personalizadas */
   /* Estilos para animaciones */
.fade-in {
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
.fade-in.active {
    opacity: 1;
}
.slide-in-left {
    transform: translateX(-50px);
    opacity: 0;
    transition: transform 0.8s ease-out, opacity 0.8s ease-out;
}
.slide-in-left.active {
    transform: translateX(0);
    opacity: 1;
}
.slide-in-right {
    transform: translateX(50px);
    opacity: 0;
    transition: transform 0.8s ease-out, opacity 0.8s ease-out;
}
.slide-in-right.active {
    transform: translateX(0);
    opacity: 1;
}
.scale-up {
    transform: scale(0.9);
    opacity: 0;
    transition: transform 0.6s ease-out, opacity 0.6s ease-out;
}
.scale-up.active {
    transform: scale(1);
    opacity: 1;
}
.bounce-in {
    animation: bounce-in 1s ease-out forwards;
    opacity: 0;
}
@keyframes bounce-in {
    0% { transform: translateY(-20px); opacity: 0; }
    50% { transform: translateY(10px); opacity: 1; }
    100% { transform: translateY(0); opacity: 1; }
}

/* Animaciones personalizadas */
@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slide-up {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes slide-right {
    from { transform: translateX(-30px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes float-in {
    from { transform: translateY(40px) rotate(2deg); opacity: 0; }
    to { transform: translateY(0) rotate(0); opacity: 1; }
}

/* Clases de animación */
.animate-fade-in {
    animation: fade-in 1s ease-out forwards;
}

.animate-fade-in-delay {
    animation: fade-in 0.8s ease-out 0.3s forwards;
}

.animate-fade-in-delay-1000 {
    animation: fade-in 0.8s ease-out 0.6s forwards;
}

.animate-slide-up {
    animation: slide-up 0.8s ease-out 0.9s forwards;
}

.animate-slide-up-delay {
    animation: slide-up 0.8s ease-out 0.2s forwards;
}

.animate-slide-right {
    animation: slide-right 0.8s ease-out 0.4s forwards;
}

.animate-float-in {
    animation: float-in 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s forwards;
}

 /* Animaciones personalizadas Seccion Asesoria*/
@keyframes slide-down {
    from { transform: translateY(-30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes card-pop {
    0% { transform: scale(0.95); opacity: 0; }
    80% { transform: scale(1.02); }
    100% { transform: scale(1); opacity: 1; }
}

.animate-slide-down {
    animation: slide-down 0.8s ease-out forwards;
}

.animate-card-pop {
    animation: card-pop 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.delay-200 { animation-delay: 200ms; }
.delay-400 { animation-delay: 400ms; }


  /* Animaciones personalizadas */
@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slide-up {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes slide-right {
    from { transform: translateX(-30px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes float-in {
    from { transform: translateY(40px) rotate(2deg); opacity: 0; }
    to { transform: translateY(0) rotate(0); opacity: 1; }
}

/* Clases de animación */
.animate-fade-in {
    animation: fade-in 1s ease-out forwards;
}

.animate-fade-in-delay {
    animation: fade-in 0.8s ease-out 0.3s forwards;
}

.animate-fade-in-delay-1000 {
    animation: fade-in 0.8s ease-out 0.6s forwards;
}

.animate-slide-up {
    animation: slide-up 0.8s ease-out 0.9s forwards;
}

.animate-slide-up-delay {
    animation: slide-up 0.8s ease-out 0.2s forwards;
}

.animate-slide-right {
    animation: slide-right 0.8s ease-out 0.4s forwards;
}

.animate-float-in {
    animation: float-in 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s forwards;
}

  /* Animaciones personalizadas Seccion Asesoria*/
@keyframes slide-down {
    from { transform: translateY(-30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes card-pop {
    0% { transform: scale(0.95); opacity: 0; }
    80% { transform: scale(1.02); }
    100% { transform: scale(1); opacity: 1; }
}

.animate-slide-down {
    animation: slide-down 0.8s ease-out forwards;
}

.animate-card-pop {
    animation: card-pop 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.delay-200 { animation-delay: 200ms; }
.delay-400 { animation-delay: 400ms; }