/*==========================
HERO
==========================*/

.hero{

    padding:90px 0;

    background:linear-gradient(135deg,#4F8EF7,#7B61FF);

    color:#fff;

    border-radius:0 0 60px 60px;

    overflow:hidden;

}

.hero h1{

    font-size:62px;

    font-weight:800;

    line-height:1.15;

    margin:25px 0;

}

.hero-desc{

    font-size:22px;

    margin-bottom:20px;

}

.hero-list{

    list-style:none;

    padding:0;

    margin:0 0 35px;

}

.hero-list li{

    font-size:20px;

    margin:10px 0;

}

.hero-badge{

    display:inline-block;

    background:#FFD54A;

    color:#333;

    padding:10px 22px;

    border-radius:40px;

    font-weight:700;

}

.hero-buttons{

    margin-top:35px;

}

.btn-start{

    background:#fff;

    color:#4F46E5;

    border-radius:50px;

    padding:15px 35px;

    font-size:20px;

    font-weight:700;

    margin-right:15px;

}

.btn-start:hover{

    background:#F5F5F5;

}

.btn-demo{

    color:#fff;

    border:2px solid rgba(255,255,255,.4);

    border-radius:50px;

    padding:15px 35px;

    font-size:20px;

}

.hero-image{

    position:relative;

    text-align:center;

}

.hero-image img{

    max-width:520px;

    animation:float 5s infinite;

}

.floating-card{

    position:absolute;

    background:#fff;

    color:#333;

    padding:12px 20px;

    border-radius:20px;

    box-shadow:0 15px 40px rgba(0,0,0,.15);

    font-weight:700;

}

.card-1{

    left:0;

    top:40px;

}

.card-2{

    right:20px;

    top:120px;

}

.card-3{

    left:80px;

    bottom:20px;

}

@keyframes float{

0%{transform:translateY(0);}

50%{transform:translateY(-15px);}

100%{transform:translateY(0);}

}


/*==========================
STATISTICS
==========================*/

.statistics{

    margin-top:-60px;

    margin-bottom:80px;

    position:relative;

    z-index:20;

}

.stat-card{

    background:#fff;

    border-radius:28px;

    padding:35px;

    text-align:center;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.stat-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 60px rgba(0,0,0,.12);

}

.stat-icon{

    width:75px;

    height:75px;

    margin:auto;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    margin-bottom:20px;

}

.stat-icon.blue{

    background:#EAF2FF;

}

.stat-icon.green{

    background:#E8F8EE;

}

.stat-icon.orange{

    background:#FFF2DD;

}

.stat-icon.purple{

    background:#F3EAFF;

}

.stat-number{

    font-size:42px;

    font-weight:800;

    color:#4F46E5;

    margin-bottom:10px;

}

.stat-title{

    font-size:22px;

    font-weight:700;

    margin-bottom:8px;

}

.stat-desc{

    color:#777;

    font-size:15px;

    line-height:24px;

}

/*==========================
AGE CATEGORY
==========================*/

.age-section{

    padding:80px 0;

}

.section-header{

    text-align:center;

    margin-bottom:60px;

}

.section-header span{

    display:inline-block;

    background:#EEF4FF;

    color:#3B82F6;

    padding:8px 18px;

    border-radius:30px;

    font-weight:700;

    margin-bottom:20px;

}

.section-header h2{

    font-size:42px;

    font-weight:800;

    margin-bottom:20px;

}

.section-header p{

    font-size:20px;

    color:#777;

}

.age-card{

    border-radius:35px;

    padding:35px;

    height:100%;

    background:#fff;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s;

    overflow:hidden;

    position:relative;

}

.age-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 60px rgba(0,0,0,.12);

}

.age-card.blue{

    border-top:8px solid #4F8EF7;

}

.age-card.green{

    border-top:8px solid #2ECC71;

}

.age-card.orange{

    border-top:8px solid #F39C12;

}

.age-image{

    text-align:center;

    margin-bottom:25px;

}

.age-image img{

    max-width:180px;

    transition:.4s;

}

.age-card:hover img{

    transform:scale(1.08);

}

.age-tag{

    display:inline-block;

    padding:8px 16px;

    border-radius:25px;

    background:#EEF4FF;

    color:#3B82F6;

    font-weight:700;

    margin-bottom:18px;

}

.age-card h3{

    font-size:30px;

    font-weight:800;

    margin-bottom:15px;

}

.age-card p{

    color:#666;

    line-height:28px;

    min-height:90px;

}

.age-card ul{

    list-style:none;

    padding:0;

    margin:25px 0;

}

.age-card ul li{

    padding:10px 0;

    font-size:17px;

    border-bottom:1px dashed #EEE;

}

.btn-age{

    margin-top:15px;

    background:#3B82F6;

    color:#fff;

    border-radius:40px;

    padding:14px 30px;

    font-weight:700;

}

.btn-age:hover{

    background:#2563EB;

    color:#fff;

}

/*==========================
TOP LESSON
==========================*/

.lesson-section{

    margin-bottom:80px;

}

.section-title{

    margin-bottom:35px;

}

.section-title span{

    display:inline-block;

    color:#3B82F6;

    background:#EEF5FF;

    padding:8px 18px;

    border-radius:30px;

    font-weight:700;

    margin-bottom:15px;

}

.section-title h2{

    font-size:40px;

    font-weight:800;

}

.view-all{

    color:#3B82F6;

    font-weight:700;

    text-decoration:none;

}

.lesson-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.lesson-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 60px rgba(0,0,0,.12);

}

.lesson-image{

    position:relative;

    height:240px;

    overflow:hidden;

}

.lesson-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.4s;

}

.lesson-card:hover img{

    transform:scale(1.08);

}

.lesson-age{

    position:absolute;

    top:20px;

    left:20px;

    background:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-weight:700;

}

.lesson-body{

    padding:30px;

}

.lesson-body h3{

    font-size:28px;

    font-weight:800;

    margin-bottom:20px;

}

.lesson-meta{

    display:flex;

    justify-content:space-between;

    margin-bottom:20px;

    color:#666;

}

.lesson-footer{

    display:flex;

    justify-content:space-between;

    margin-bottom:25px;

    font-weight:700;

}

.btn-study{

    width:100%;

    background:#4F46E5;

    color:#fff;

    padding:14px;

    border-radius:50px;

    font-weight:700;

}

.btn-study:hover{

    background:#3730A3;

    color:#fff;

}

/*==========================
NEW LESSON
==========================*/

.new-card{

    background:#fff;

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.new-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 55px rgba(0,0,0,.12);

}

.new-image{

    position:relative;

    height:190px;

    overflow:hidden;

}

.new-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.4s;

}

.new-card:hover img{

    transform:scale(1.08);

}

.badge-new{

    position:absolute;

    top:15px;

    right:15px;

    background:#FF4D4F;

    color:#fff;

    padding:6px 14px;

    border-radius:30px;

    font-size:13px;

    font-weight:700;

}

.new-body{

    padding:22px;

}

.new-age{

    display:inline-block;

    background:#EEF5FF;

    color:#3B82F6;

    padding:6px 14px;

    border-radius:20px;

    font-size:14px;

    font-weight:700;

    margin-bottom:15px;

}

.new-body h4{

    font-size:22px;

    font-weight:800;

    min-height:60px;

    margin-bottom:18px;

}

.new-info{

    display:flex;

    justify-content:space-between;

    color:#666;

    margin-bottom:10px;

}

.new-student{

    color:#888;

    margin-bottom:20px;

}

.btn-study-small{

    width:100%;

    background:#22C55E;

    color:#fff;

    border-radius:40px;

    padding:12px;

    font-weight:700;

}

.btn-study-small:hover{

    background:#16A34A;

    color:#fff;

}

/*==========================
SIDEBAR
==========================*/

.sidebar{

    position:sticky;

    top:100px;

}

.sidebar-card{

    background:#fff;

    border-radius:25px;

    padding:25px;

    margin-bottom:25px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.sidebar-title{

    font-size:22px;

    font-weight:800;

    margin-bottom:25px;

}

.leader-item{

    display:flex;

    align-items:center;

    margin-bottom:18px;

}

.leader-item:last-child{

    margin-bottom:0;

}

.leader-rank{

    width:38px;

    font-size:24px;

    font-weight:700;

    text-align:center;

}

.leader-item img{

    width:52px;

    height:52px;

    border-radius:50%;

    object-fit:cover;

    margin:0 12px;

}

.leader-info{

    flex:1;

}

.leader-name{

    font-weight:700;

}

.leader-info small{

    color:#888;

}

.leader-point{

    font-weight:800;

    color:#4F46E5;

}

.badge-item{

    background:#F8F9FC;

    padding:12px 16px;

    border-radius:15px;

    margin-bottom:12px;

    font-weight:700;

    transition:.3s;

}

.badge-item:hover{

    background:#EEF4FF;

    transform:translateX(5px);

}

.achievement{

    display:flex;

    align-items:center;

    margin-bottom:18px;

}

.achievement div:first-child{

    width:60px;

    height:60px;

    background:#EEF5FF;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    margin-right:15px;

}

/*==========================
TESTIMONIAL
==========================*/

.testimonial-section{

    padding:90px 0;

    background:#F8FAFD;

}

.testimonial-card{

    background:#fff;

    padding:35px;

    border-radius:28px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 60px rgba(0,0,0,.12);

}

.testimonial-top{

    display:flex;

    align-items:center;

    margin-bottom:20px;

}

.testimonial-top img{

    width:70px;

    height:70px;

    border-radius:50%;

    object-fit:cover;

    margin-right:18px;

}

.testimonial-top h4{

    margin:0;

    font-size:20px;

    font-weight:800;

}

.testimonial-top small{

    color:#888;

}

.rating{

    color:#FFC107;

    font-size:22px;

    margin-bottom:20px;

}

.testimonial-card p{

    color:#666;

    line-height:30px;

    margin:0;

}

/*==========================
NEWS
==========================*/

.news-section{

    padding:90px 0;

}

.news-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.news-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 60px rgba(0,0,0,.12);

}

.news-image{

    height:230px;

    overflow:hidden;

}

.news-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.4s;

}

.news-card:hover img{

    transform:scale(1.08);

}

.news-body{

    padding:28px;

}

.news-meta{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

    font-size:14px;

    color:#888;

}

.news-category{

    background:#EEF5FF;

    color:#3B82F6;

    padding:6px 14px;

    border-radius:20px;

    font-weight:700;

}

.news-body h3{

    font-size:24px;

    font-weight:800;

    line-height:34px;

    margin-bottom:18px;

    min-height:72px;

}

.news-body p{

    color:#666;

    line-height:28px;

    min-height:84px;

}

.btn-news{

    display:inline-block;

    color:#4F46E5;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.btn-news:hover{

    color:#3730A3;

    padding-left:8px;

}

/*==========================
FOOTER
==========================*/

.footer{

    background:#1E293B;

    color:#fff;

    padding:80px 0 30px;

}

.footer-logo{

    font-size:40px;

    font-weight:800;

    color:#fff;

    margin-bottom:20px;

}

.footer-desc{

    color:#CBD5E1;

    line-height:32px;

    margin-bottom:30px;

}

.footer h4{

    font-size:22px;

    margin-bottom:25px;

    font-weight:800;

}

.footer ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer ul li{

    margin-bottom:14px;

}

.footer ul li a{

    color:#CBD5E1;

    text-decoration:none;

    transition:.3s;

}

.footer ul li a:hover{

    color:#fff;

    padding-left:6px;

}

.footer-social{

    display:flex;

    gap:15px;

}

.footer-social a{

    width:50px;

    height:50px;

    border-radius:50%;

    background:#334155;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:24px;

    text-decoration:none;

    transition:.3s;

}

.footer-social a:hover{

    background:#3B82F6;

    transform:translateY(-5px);

}

.download-app{

    margin-top:25px;

}

.btn-app{

    background:#3B82F6;

    color:#fff;

    border:none;

    padding:14px 30px;

    border-radius:40px;

    font-weight:700;

    transition:.3s;

}

.btn-app:hover{

    background:#2563EB;

}

.footer hr{

    border-color:rgba(255,255,255,.1);

    margin:50px 0 30px;

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:#94A3B8;

    flex-wrap:wrap;

    gap:15px;

}

.footer-bottom a{

    color:#94A3B8;

    text-decoration:none;

}

.footer-bottom a:hover{

    color:#fff;

}

@media(max-width:768px){

.footer{

text-align:center;

}

.footer-social{

justify-content:center;

}

.footer-bottom{

flex-direction:column;

}

}