/* Smoke Effect Animation - Kept as custom CSS for complexity */
.smoke-effect::before,
.smoke-effect::after {
    content: '';
    position: absolute;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(220, 38, 38, 0.4) 0%, rgba(139, 0, 0, 0.3) 30%, transparent 70%);
    border-radius: 50%;
    filter: blur(60px);
    animation: smoke 8s ease-in-out infinite;
    z-index: 1;
}

.smoke-effect::before {
    top: -100px;
    left: -100px;
    animation-delay: 0s;
}

.smoke-effect::after {
    bottom: -100px;
    right: -100px;
    animation-delay: 4s;
}

@keyframes smoke {

    0%,
    100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.6;
    }

    50% {
        transform: translate(-30px, 30px) scale(0.9);
        opacity: 0.5;
    }
}

.animate-emerge {
    animation: emergeFromSmoke 2s ease-out forwards;
    opacity: 0;
}

@keyframes emergeFromSmoke {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.9);
        filter: blur(10px);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}