*{
    box-sizing:border-box;
    font-family:Arial,sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:#050507;
    color:white;
}


section{
    padding:80px 8%;
}


h1{
    font-size:65px;
    line-height:1.1;
    margin:20px 0;
}


h2{
    text-align:center;
    font-size:40px;
    margin-bottom:50px;
}


h3{
    margin-top:0;
}


p{
    color:#aaa;
    font-size:18px;
    line-height:1.6;
}


/* LOGO */

.logo{

    font-size:42px;
    font-weight:900;

    background:linear-gradient(
        90deg,
        #3b82f6,
        #8b5cf6
    );

    -webkit-background-clip:text;
    color:transparent;

    animation:glow 3s infinite alternate;

}


@keyframes glow{

    from{
        filter:drop-shadow(0 0 5px #3b82f6);
    }

    to{
        filter:drop-shadow(0 0 25px #8b5cf6);
    }

}


/* GRADIENT TEXT */

.gradient{

    background:linear-gradient(
        90deg,
        #3b82f6,
        #8b5cf6
    );

    -webkit-background-clip:text;
    color:transparent;

}



/* HERO */

.hero{

    background:
    radial-gradient(
        circle,
        #4f46e5,
        transparent 40%
    ),
    #050507;

}


.hero-content{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:60px;

}


.hero-text{

    flex:1;

}


.hero-text p{

    max-width:550px;

}



/* BUTTON */

.button{

    display:inline-block;

    margin-top:25px;

    padding:16px 40px;

    border-radius:15px;

    background:linear-gradient(
        90deg,
        #2563eb,
        #8b5cf6
    );

    color:white;

    text-decoration:none;

    transition:.3s;

}


.button:hover{

    transform:translateY(-5px);

    box-shadow:0 0 30px #8b5cf6;

}



/* LANGUAGE PANEL */

.hero-languages{

    width:450px;

    max-width:100%;

    background:#111118;

    border:1px solid #222;

    border-radius:25px;

    padding:35px;

    box-shadow:
    0 0 40px rgba(139,92,246,.2);

}


.hero-languages h2{

    text-align:left;

    font-size:30px;

    margin:0 0 25px;

}


.language-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

}



.language{

    background:#050507;

    padding:18px;

    border-radius:12px;

    min-height:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.3s;

    border:1px solid #222;

}


.language:hover{

    transform:scale(1.05);

    background:#1e1b4b;

}



/* FEATURE CARDS */

.cards{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:25px;

    align-items:stretch;

}



.card{

    background:#111118;

    border:1px solid #222;

    border-radius:20px;

    padding:30px;

    min-height:220px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    transition:.3s;

}



.card h3{

    color:#8b5cf6;

    font-size:24px;

    margin-bottom:15px;

}



.card p{

    margin:0;

}



.card:hover{

    transform:translateY(-10px);

    border-color:#8b5cf6;

}



/* LEARNING PATH */

.journey{

    text-align:center;

    color:#60a5fa;

    font-size:25px;

    padding:30px;

}



/* FINAL TEXT */

.final-text{

    max-width:700px;

    margin:auto;

    text-align:center;

}


.final-text h2{

    margin-bottom:20px;

}


.final-text p{

    font-size:20px;

}



/* REVIEWS */

.review{

    background:#111118;

    border:1px solid #222;

    border-radius:20px;

    padding:35px;

    max-width:700px;

    min-height:220px;

    margin:auto;

    text-align:center;

    display:none;

    flex-direction:column;

    justify-content:center;

    align-items:center;

}


.review.active{

    display:flex;

}



.stars{

    color:#facc15;

    font-size:25px;

}



/* DOTS */

.dots{

    text-align:center;

    margin-top:25px;

}


.dot{

    display:inline-block;

    width:12px;

    height:12px;

    background:#555;

    border-radius:50%;

    margin:5px;

}



.dot.active{

    background:#8b5cf6;

}



/* ANIMATIONS */

.animate{

    opacity:0;

    transform:translateY(40px);

    transition:1s;

}



.show{

    opacity:1;

    transform:none;

}



/* FOOTER */

footer{

    text-align:center;

    padding:30px;

    color:#8b5cf6;

    border-top:1px solid #222;

}



/* MOBILE */

@media(max-width:900px){


    .hero-content{

        flex-direction:column;

        text-align:center;

    }


    .hero-languages h2{

        text-align:center;

    }


    .language-grid{

        grid-template-columns:1fr;

    }


    h1{

        font-size:42px;

    }


    h2{

        font-size:32px;

    }


}