@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');


:root{
    --primary:#e51d3b;
    --red:#ff5365;
    --dark:#14213d;
    --soft:#fff3f5;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    color:#555;
    overflow-x:hidden;
}

a{
    text-decoration:none;
    cursor:pointer;
}

.topbar{
height:55px;
background:linear-gradient(
90deg,
#d90429,
#ef233c
);

color:white;
display:flex;
align-items:center;
font-size:14px;
}



.topbar i{

margin-right:8px;

}



.topbar .social i{

font-size:18px;

margin-left:18px;

}

.navbar{

position:absolute;

top:55px;

left:50%;

transform:translateX(-50%);

width:90%;

background:white;

padding:12px 35px;

border-radius:0 0 30px 30px;

z-index:20;

box-shadow:0 10px 30px rgba(0,0,0,.15);

}



.navbar-brand img{

width:150px;

}



.navbar-nav{

gap:35px;

}



.nav-link{

font-size:16px;

font-weight:600;

color:#14213d!important;

}



.nav-link.active{

color:var(--primary)!important;

}



.nav-link.active:after{

content:"";

display:block;

height:3px;

background:var(--primary);

border-radius:10px;

margin-top:10px;

}

.hero{
position:relative;

min-height:520px;

padding-top:150px;

overflow:hidden;


background:

linear-gradient(
120deg,
#d90429,
#ff5365
);

}




.hero:before{

content:"";

position:absolute;

width:550px;

height:550px;

background:rgba(255,255,255,.08);

border-radius:50%;

left:-200px;

top:170px;

}



.hero .container{

position:relative;

z-index:3;

}



.small-title{

color:white;

letter-spacing:5px;

font-size:15px;

font-weight:600;

margin-bottom:25px;

}



.hero h1{

font-size:52px;

font-weight:800;

line-height:1.18;

color:white;

max-width:650px;

}



.hero h1 span{

color:#ffe66d;

}



.hero p{

color:white;

font-size:17px;

line-height:1.8;

max-width:600px;

margin-top:25px;

}





.hero-btn{

display:flex;

gap:20px;

margin-top:35px;

}



.btn-primary{

background:white;

color:var(--primary);

padding:15px 35px;

border-radius:50px;

font-weight:700;

}



.btn-outline{

border:2px solid white;

padding:13px 35px;

border-radius:50px;

color:white;

font-weight:600;

}








/* =====================
STUDENT
===================== */



.student-bg{

position:absolute;

width:430px;

height:430px;

background:#ffc1c7;

border-radius:50%;

right:100px;

top:180px;

z-index:1;

}



.student{


width:450px;

max-width:100%;

position:relative;

z-index:3;

margin-top:20px;


/* jika gambar masih putih */
mix-blend-mode:multiply;


filter:

drop-shadow(
0 20px 35px rgba(0,0,0,.25)
);


}



.quote{


position:absolute;

right:20px;

bottom:100px;

background:white;

padding:25px;

width:230px;

border-radius:25px;

z-index:5;

box-shadow:

0 15px 35px rgba(0,0,0,.18);


}



.quote h5{

font-size:19px;

line-height:1.5;

color:#243b63;

}







/* =====================
FEATURE
===================== */


.features{

position:relative;

margin-top:-70px;

z-index:10;

}



.feature-box{

background:white;

border-radius:30px;

padding:35px;

display:grid;

grid-template-columns:repeat(4,1fr);

box-shadow:

0 15px 40px rgba(0,0,0,.12);

}



.feature-box .item{

text-align:center;

border-right:1px solid #eee;

}



.feature-box .item:last-child{

border:none;

}



.feature-box i{

width:70px;

height:70px;

background:#ffe6eb;

color:var(--primary);

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

margin:auto;

font-size:28px;

}



.feature-box h5{

margin-top:15px;

font-size:17px;

color:#14213d;

}








/* =====================
SECTION
===================== */


.section-title{

text-align:center;

margin-bottom:50px;

}



.section-title h2{

font-size:38px;

}







/* =====================
PROGRAM
===================== */


.card-program{


padding:40px 30px;

background:white;

border-radius:25px;

text-align:center;

box-shadow:

0 10px 30px rgba(0,0,0,.1);

transition:.3s;

}



.card-program:hover{

transform:translateY(-10px);

}



.card-program i{

font-size:45px;

color:var(--primary);

margin-bottom:20px;

}








/* =====================
GURU
===================== */


.guru{

background:#fff5f6;

}



.guru-card{

background:white;

border-radius:25px;

overflow:hidden;

text-align:center;

box-shadow:

0 10px 30px rgba(0,0,0,.1);

}



.guru-card img{

width:100%;

height:320px;

object-fit:cover;

}





/* =====================
TESTIMONI
===================== */


.testimoni{

padding:80px 0;

}



.testimonial-card{

background:white;

padding:50px;

border-radius:30px;

text-align:center;

box-shadow:

0 10px 30px rgba(0,0,0,.1);

}



.testimonial-card i{

font-size:40px;

color:#ffd166;

}

footer{
background:#14213d;
color:white;
padding:50px;
text-align:center;
}

footer h2{
color:white;
}

.social a,
.footer-social a{
    color: inherit;
    text-decoration:none;
    margin-left:15px;
    transition:.3s;
}


.social a:hover,
.footer-social a:hover{
    opacity:.7;
    transform:translateY(-3px);
}

.footer-social i{
font-size:25px;
margin:10px;

}







/* =====================
RESPONSIVE
===================== */


@media(max-width:992px){


.navbar{

position:fixed;

top:0;

width:100%;

border-radius:0;

}


.topbar{

display:none;

}



.hero{

padding-top:130px;

}



.hero h1{

font-size:38px;

}



.student-bg{

width:300px;

height:300px;

right:50px;

}



.student{

width:350px;

}



.feature-box{

grid-template-columns:repeat(2,1fr);

}



}




@media(max-width:576px){


.hero h1{

font-size:32px;

}



.hero-btn{

flex-direction:column;

}



.feature-box{

grid-template-columns:1fr;

}



.student-bg{

display:none;

}



.quote{

display:none;

}


}