/* ===========================
   GOOGLE FONT
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#0b0b0b;
    color:#fff;
    overflow-x:hidden;
}

/*==========================
HEADER
==========================*/

header{

    position:relative;

    width:100%;

    height:100vh;

    background:

    linear-gradient(rgba(0,0,0,.72),

    rgba(0,0,0,.72)),

    url("image/piano-background.jpg");

    background-size:cover;

    background-position:center;

    background-attachment:fixed;

}

/*==========================
NAVIGATION
==========================*/

.header_menu{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    padding:18px 7%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    backdrop-filter:blur(15px);

    background:rgba(0,0,0,.28);

    z-index:999;

    border-bottom:1px solid rgba(255,255,255,.08);

}


.logo img{

    width:180px;

}

nav{

    display:flex;

    gap:30px;

}

nav a{

    text-decoration:none;

    color:white;

    font-weight:500;

    transition:.35s;

    position:relative;

}

nav a:hover{

    color:#FFD54A;

}

nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:#FFD54A;

    transition:.4s;

}

nav a:hover::after{

    width:100%;

}

.active{

    color:#FFD54A;

}

/*==========================
HERO
==========================*/

.hero{

    width:100%;

    height:100vh;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:0 10%;

}

.hero h3{

    color:#FFD54A;

    font-size:22px;

    margin-bottom:20px;

}

.hero h1{

    font-size:68px;

    line-height:1.1;

    margin-bottom:25px;

    font-weight:700;

}

.hero p{

    max-width:760px;

    font-size:20px;

    color:#ddd;

    line-height:1.8;

}

/*==========================
BUTTON
==========================*/
.hero{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:170px 10% 90px;

}

.hero a{

    margin-top:45px;

    text-decoration:none;

    background:#FFD54A;

    color:#111;

    padding:18px 42px;

    border-radius:50px;

    font-weight:700;

    transition:.4s;

}

.hero a:hover{

    transform:translateY(-6px);

    box-shadow:0 15px 40px rgba(255,213,74,.45);

}

/*==========================
STATISTICS
==========================*/

.stats{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:35px;

    padding:90px 8%;

    background:#101010;

}

.stat{

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.10);

    border-radius:22px;

    text-align:center;

    padding:45px;

    transition:.4s;

    backdrop-filter:blur(10px);

}

.stat:hover{

    transform:translateY(-10px);

}

.stat h2{

    font-size:48px;

    color:#FFD54A;

}

.stat p{

    margin-top:12px;

    color:#ddd;

    font-size:18px;

}

/* ==========================================
   FEATURED STUDENT SECTION
========================================== */

.featured{

    width:100%;

    padding:100px 8%;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;

}

.left img{

    width:100%;

    border-radius:25px;

    box-shadow:0 20px 50px rgba(0,0,0,.5);

}

.right h2{

    font-size:45px;

    margin-bottom:20px;

}

.right .stars{

    color:#FFD54A;

    font-size:26px;

    margin-bottom:25px;

}

.right p{

    font-size:19px;

    line-height:1.9;

    color:#dddddd;

}

.right h3{

    margin-top:30px;

    font-size:28px;

}

.right span{

    color:#FFD54A;

    font-weight:500;

}


/* ==========================================
   TESTIMONIAL SECTION
========================================== */

.testimonials{

    width:100%;

    padding:100px 8%;

    background:#111;

}

.testimonials h1{

    text-align:center;

    font-size:50px;

    margin-bottom:70px;

}

.testimonial-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

}

.card{

    background:rgba(255,255,255,.06);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.1);

    border-radius:22px;

    padding:35px;

    text-align:center;

    transition:.45s;

}

.card:hover{

    transform:translateY(-15px);

    box-shadow:0 25px 50px rgba(0,0,0,.45);

}

.card img{

    width:95px;

    height:95px;

    border-radius:50%;

    border:4px solid #FFD54A;

    object-fit:cover;

    margin-bottom:20px;

}

.card h3{

    font-size:24px;

}

.card .stars{

    color:#FFD54A;

    font-size:22px;

    margin:18px 0;

}

.card p{

    line-height:1.8;

    color:#dddddd;

}


/* ==========================================
   CALL TO ACTION
========================================== */

.cta{

    padding:120px 8%;

    text-align:center;

    background:

    linear-gradient(135deg,#0b0b0b,#181818);

}

.cta h1{

    font-size:58px;

    margin-bottom:25px;

}

.cta p{

    font-size:20px;

    color:#dddddd;

}

.cta a{

    display:inline-block;

    margin-top:45px;

    padding:18px 45px;

    background:#FFD54A;

    color:#111;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    transition:.35s;

}

.cta a:hover{

    transform:translateY(-6px);

    box-shadow:0 15px 45px rgba(255,213,74,.45);

}


/* ==========================================
   FOOTER
========================================== */

footer{

    background:#050505;

    padding:35px;

    text-align:center;

}

footer p{

    color:#999;

    font-size:17px;

}


/* ==========================================
   ANIMATIONS
========================================== */

.card{

    animation:fadeUp .8s ease forwards;

}

.stat{

    animation:fadeUp .8s ease forwards;

}

.featured{

    animation:fadeUp 1s ease forwards;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/* ==========================================
   RESPONSIVE DESIGN
========================================== */

@media(max-width:1000px){

.hero h1{

font-size:50px;

}

.featured{

grid-template-columns:1fr;

}

.right{

text-align:center;

}

.header_menu{

flex-direction:column;

padding:20px;

}

nav{

margin-top:20px;

flex-wrap:wrap;

justify-content:center;

}

}


@media(max-width:768px){

.hero h1{

font-size:38px;

}

.hero p{

font-size:17px;

}

.testimonials h1{

font-size:35px;

}

.cta h1{

font-size:38px;

}

.card{

padding:25px;

}

.logo img{

width:140px;

}

nav{

gap:18px;

}

}


@media(max-width:500px){

.hero{

padding:0 5%;

}

.hero h1{

font-size:30px;

}

.hero a{

padding:15px 30px;

}

.stats{

padding:70px 5%;

}

.featured{

padding:70px 5%;

}

.testimonials{

padding:70px 5%;

}

.cta{

padding:70px 5%;

}

}