@keyframes fade-up {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes popup-card-in {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

main>section,
footer {
    animation: fade-up 0.7s ease both;
}

main>section:nth-child(2) {
    animation-delay: 0.08s;
}

main>section:nth-child(3) {
    animation-delay: 0.14s;
}

main>section:nth-child(4) {
    animation-delay: 0.2s;
}

article,
details,
main a,
footer a,
.subscribe-btn,
.gradient-action {
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, filter 0.22s ease, color 0.22s ease;
}

article:hover,
details:hover,
.neon-card:hover,
.soft-neon-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 217, 255, 0.55);
    box-shadow: 0 18px 45px rgba(0, 217, 255, 0.14);
}

main a:hover,
footer a:hover,
.subscribe-btn:hover,
.gradient-action:hover {
    filter: brightness(1.08);
}

#country-popup {
    background:
        radial-gradient(circle at 18% 12%, rgba(0, 217, 255, 0.18), transparent 28rem),
        radial-gradient(circle at 82% 18%, rgba(168, 85, 247, 0.18), transparent 30rem),
        rgba(0, 0, 0, 0.82) !important;
}

#country-popup>div {
    border-color: rgba(0, 217, 255, 0.38) !important;
    background:
        linear-gradient(150deg, rgba(10, 14, 26, 0.98) 0%, rgba(12, 16, 28, 0.96) 45%, rgba(20, 24, 35, 0.98) 100%) !important;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.62), 0 0 45px rgba(0, 217, 255, 0.18), inset 0 0 45px rgba(99, 102, 241, 0.08) !important;
    animation: popup-card-in 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#country-popup-title {
    background-image: linear-gradient(90deg, #00d9ff 0%, #6366f1 52%, #a855f7 100%) !important;
}

#country-popup-back,
#country-popup-close {
    border: 1px solid rgba(0, 217, 255, 0.18);
    background: rgba(0, 217, 255, 0.05);
}

#country-popup-back:hover,
#country-popup-close:hover,
#country-options-container .service-option:hover,
#country-options-container .country-option:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 217, 255, 0.6) !important;
    box-shadow: 0 14px 35px rgba(0, 217, 255, 0.16);
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
