:root {
    --bg-main: #050816;
    --bg-card: rgba(255, 255, 255, 0.06);
    --border-soft: rgba(255, 255, 255, 0.12);
    --text-muted: #a8b3cf;
    --cyan: #22d3ee;
    --blue: #2563eb;
    --gold: #f5c542;
}

* {
    scroll-behavior: smooth;
}

html[dir="rtl"] body {
    text-align: right;
}

body {
    background:
        radial-gradient(circle at top left, rgba(34, 211, 238, 0.16), transparent 32%),
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.18), transparent 35%),
        linear-gradient(180deg, #050816 0%, #070b1f 55%, #050816 100%);
}

.glass-card {
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
}

.premium-card:hover,
.program-card:hover {
    transform: translateY(-7px) scale(1.02);
    border-color: rgba(34, 211, 238, .42);
    box-shadow: 0 30px 90px rgba(34, 211, 238, .12);
}

.gradient-text {
    background: linear-gradient(90deg, var(--cyan), var(--blue), var(--gold));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.btn-main {
    background: linear-gradient(90deg, var(--cyan), var(--blue));
    box-shadow: 0 15px 40px rgba(34, 211, 238, 0.25);
}

.btn-main:hover {
    transform: translateY(-2px) scale(1.03);
}

.btn-outline:hover {
    transform: translateY(-2px);
}

.soft-grid {
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 42px 42px;
}

.floating-glow {
    position: absolute;
    border-radius: 999px;
    filter: blur(80px);
    opacity: .35;
    pointer-events: none;
}

.fade-up {
    animation: fadeUp .8s ease forwards;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

[data-lang-btn].active-lang {
    background: white;
    color: #050816;
}

.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s ease, transform .7s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

html[dir="rtl"] .rtl-flip {
    transform: rotate(180deg);
}

html[dir="rtl"] .ml-2 {
    margin-left: 0;
    margin-right: 0.5rem;
}

#aiWidget {
    animation: widgetIn .25s ease;
}

@keyframes widgetIn {
    from {
        opacity: 0;
        transform: translateY(14px) scale(.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 3rem !important;
        line-height: 1.08 !important;
    }

    h2 {
        font-size: 2.3rem !important;
        line-height: 1.12 !important;
    }

    .glass-card {
        box-shadow: 0 16px 50px rgba(0, 0, 0, 0.22);
    }
}