/* =========================================
ROOT VARIABLES
========================================= */

:root{

    --primary:#7B2CBF;
    --secondary:#5A5DF0;
    --accent:#44C7CF;

    --dark:#111827;
    --text:#4B5563;

    --white:#ffffff;

    --bg:#f7f4fb;

    --border:#ece7f6;

    --gradient:
    linear-gradient(
        135deg,
        #7B2CBF,
        #5A5DF0,
        #44C7CF
    );

    --shadow:
    0 20px 60px rgba(123,44,191,.08);

    --radius:28px;

}

/* =========================================
RESET
========================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:
    'Plus Jakarta Sans',
    sans-serif;

    background:var(--bg);

    color:var(--dark);

    overflow-x:hidden;

}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

img{
    width:100%;
    display:block;
}

.container{

    width:min(1200px,92%);

    margin:auto;

}

/* =========================================
GLOBAL
========================================= */

.section-header{

    text-align:center;

    margin-bottom:70px;

}

.section-tag{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

    background:white;

    border:1px solid var(--border);

    color:var(--primary);

    font-weight:700;

    font-size:.85rem;

    letter-spacing:1px;

    margin-bottom:20px;

}

.section-header h2{

    font-size:
    clamp(2.5rem,5vw,4.8rem);

    line-height:1.05;

    font-weight:800;

    margin-bottom:20px;

    letter-spacing:-2px;

}

.section-header p{

    color:var(--text);

    max-width:750px;

    margin:auto;

    line-height:1.8;

}

/* =========================================
BUTTONS
========================================= */

.btn-primary,
.enroll-btn{

    background:var(--gradient);

    color:white;

    border:none;

    padding:16px 28px;

    border-radius:999px;

    font-weight:700;

    cursor:pointer;

    transition:.35s;

}

.btn-primary:hover,
.enroll-btn:hover{

    transform:translateY(-4px);

    box-shadow:
    0 20px 40px rgba(123,44,191,.2);

}

.btn-secondary{

    background:white;

    color:var(--dark);

    border:1px solid var(--border);

    padding:16px 28px;

    border-radius:999px;

    font-weight:700;

    transition:.35s;

}

.btn-secondary:hover{

    transform:translateY(-4px);

}

/* =========================================
GRADIENT TEXT
========================================= */

.gradient-text{

    display:inline-block;

    background:
    linear-gradient(
        135deg,
        #7B2CBF,
        #5A5DF0,
        #44C7CF
    );

    background-clip:text;
    -webkit-background-clip:text;

    color:transparent;
    -webkit-text-fill-color:transparent;

}

/* =========================================
NAVBAR
========================================= */

.navbar{

    position:fixed;

    top:18px;

    left:50%;

    transform:translateX(-50%);

    width:min(1280px,95%);

    z-index:9999;

}

.nav-container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    padding:16px 28px;

    background:
    rgba(255,255,255,.78);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.35);

    border-radius:24px;

    box-shadow:var(--shadow);

}

.logo{

    display:flex;

    align-items:center;

    gap:12px;

}

.logo img{

    width:56px;
    height:56px;

    object-fit:cover;

    border-radius:50%;

}

.logo-text h3{

    font-size:1.8rem;

    line-height:1;

}

.logo-text span{

    font-size:.75rem;

    color:#666;

    letter-spacing:1px;

}

.nav-links{

    display:flex;

    align-items:center;

    gap:35px;

    margin-left:auto;

}

.nav-links a{

    color:var(--dark);

    font-weight:600;

    transition:.3s;

}

.nav-links a:hover{

    color:var(--primary);

}

/* =========================================
MOBILE MENU
========================================= */

.mobile-toggle{

    display:none;

    background:none;

    border:none;

    font-size:1.4rem;

    cursor:pointer;

}

.mobile-menu{

    position:fixed;

    top:0;
    right:-100%;

    width:300px;

    height:100vh;

    background:white;

    z-index:10000;

    padding:90px 30px;

    display:flex;

    flex-direction:column;

    gap:24px;

    transition:.35s;

}

.mobile-menu.active{

    right:0;

}

.mobile-close{

    position:absolute;

    top:20px;

    right:20px;

    background:none;

    border:none;

    font-size:1.3rem;

}

.mobile-menu a{

    color:var(--dark);

    font-weight:600;

}

.mobile-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.3);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:9998;

}

.mobile-overlay.active{

    opacity:1;

    visibility:visible;

}

/* =========================================
HERO SECTION
========================================= */

.matelite-hero{

    min-height:100vh;

    padding:
    180px 0 120px;

    position:relative;

    overflow:hidden;

}

.hero-glow{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    opacity:.18;

}

.hero-glow-1{

    width:400px;
    height:400px;

    background:#7B2CBF;

    top:-120px;
    left:-100px;

}

.hero-glow-2{

    width:350px;
    height:350px;

    background:#44C7CF;

    right:-100px;
    bottom:-80px;

}

.hero-content{

    display:grid;

    grid-template-columns:
    1.1fr .9fr;

    gap:70px;

    align-items:center;

}

.hero-badge{

    display:inline-flex;

    padding:12px 22px;

    border-radius:999px;

    background:white;

    border:1px solid var(--border);

    font-weight:700;

    margin-bottom:25px;

}

.hero-left h1{

    font-size:
    clamp(4rem,8vw,7rem);

    line-height:.95;

    letter-spacing:-4px;

    margin-bottom:10px;

}

.hero-left h2{

    font-size:
    clamp(1.5rem,3vw,2.5rem);

    color:var(--primary);

    margin-bottom:25px;

}

.hero-left p{

    color:var(--text);

    line-height:2;

    max-width:650px;

}

.hero-buttons{

    display:flex;

    gap:18px;

    margin-top:35px;

    flex-wrap:wrap;

}

.hero-stats{

    display:flex;

    gap:20px;

    margin-top:50px;

}

.stat-item{

    background:white;

    padding:22px;

    border-radius:22px;

    min-width:140px;

    box-shadow:var(--shadow);

}

.stat-item h3{

    font-size:2rem;

    color:var(--primary);

}

.stat-item span{

    color:var(--text);

    font-size:.9rem;

}

/* =========================================
FLOATING HERO CARDS
========================================= */

.hero-right{

    position:relative;

    height:600px;

}

.hero-center-card{

    position:absolute;

    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%);

    width:280px;

    background:white;

    border-radius:32px;

    padding:40px;

    text-align:center;

    box-shadow:var(--shadow);

}

.circle{

    width:90px;
    height:90px;

    border-radius:50%;

    background:var(--gradient);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    margin-bottom:20px;

    font-size:2rem;

}

.hero-center-card h3{

    font-size:2rem;

    margin-bottom:10px;

}

.hero-center-card p{

    color:var(--text);

}

.floating-card{

    position:absolute;

    background:white;

    padding:18px 24px;

    border-radius:18px;

    display:flex;

    gap:12px;

    align-items:center;

    box-shadow:var(--shadow);

    font-weight:700;

    animation:
    floatCard 4s ease-in-out infinite;

}

.floating-card i{

    color:var(--primary);

}

.card-1{
    top:20px;
    left:50px;
}

.card-2{
    top:120px;
    right:20px;
}

.card-3{
    bottom:180px;
    left:0;
}

.card-4{
    bottom:70px;
    right:40px;
}

.card-5{
    top:280px;
    right:-20px;
}

@keyframes floatCard{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

}

/* =========================================
ABOUT SECTION
========================================= */

.about-matelite{

    padding:140px 0;

}

.about-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:50px;

    align-items:start;

}

.about-content{

    background:white;

    padding:45px;

    border-radius:32px;

    box-shadow:var(--shadow);

}

.about-content h3{

    font-size:2rem;

    margin-bottom:20px;

}

.about-content p{

    color:var(--text);

    line-height:2;

    margin-bottom:20px;

}

.about-list li{

    display:flex;

    gap:12px;

    margin-bottom:16px;

    font-weight:600;

}

.about-list i{

    color:var(--primary);

}

.stats-grid{

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:20px;

}

.stat-card{

    background:white;

    padding:35px;

    border-radius:28px;

    text-align:center;

    box-shadow:var(--shadow);

}

.stat-card h3{

    font-size:2.4rem;

    color:var(--primary);

    margin-bottom:10px;

}

.stat-card p{

    color:var(--text);

}

/* =========================================
RESPONSIVE
========================================= */

@media(max-width:992px){

    .nav-links,
    .nav-container .enroll-btn{

        display:none;

    }

    .mobile-toggle{

        display:block;

    }

    .hero-content,
    .about-grid{

        grid-template-columns:1fr;

    }

    .hero-right{

        height:500px;

    }

}

@media(max-width:768px){

    .hero-left h1{

        font-size:3.8rem;

    }

    .hero-stats{

        flex-direction:column;

    }

    .stats-grid{

        grid-template-columns:1fr;

    }

    .hero-center-card{

        width:230px;

        padding:28px;

    }

    .floating-card{

        font-size:.9rem;

        padding:14px 18px;

    }

}

/* =========================================
EXAMS SECTION
========================================= */

.exams-section{

    padding:140px 0;

    position:relative;

}

.exam-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:25px;

}

.exam-card{

    background:white;

    border-radius:30px;

    padding:32px;

    position:relative;

    overflow:hidden;

    transition:.4s ease;

    box-shadow:
    0 20px 50px rgba(0,0,0,.05);

    border:
    1px solid rgba(123,44,191,.08);

}

.exam-card:hover{

    transform:
    translateY(-10px);

    box-shadow:
    0 30px 70px rgba(123,44,191,.12);

}

.exam-card::before{

    content:'';

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:5px;

    background:var(--gradient);

}

.exam-icon{

    width:72px;
    height:72px;

    border-radius:20px;

    background:var(--gradient);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.8rem;

    margin-bottom:20px;

}

.exam-card h3{

    font-size:1.8rem;

    margin-bottom:10px;

}

.exam-type{

    display:inline-block;

    padding:8px 14px;

    background:#f5f0ff;

    color:var(--primary);

    border-radius:999px;

    font-size:.8rem;

    font-weight:700;

    margin-bottom:18px;

}

.exam-card p{

    color:var(--text);

    line-height:1.8;

    margin-bottom:22px;

}

.exam-highlights{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:24px;

}

.exam-highlights span{

    padding:10px 14px;

    background:#f8f8fc;

    border-radius:999px;

    font-size:.8rem;

    font-weight:600;

}

.learn-more-btn{

    width:100%;

    padding:15px;

    border:none;

    border-radius:16px;

    background:var(--gradient);

    color:white;

    font-weight:700;

    cursor:pointer;

    transition:.35s;

}

.learn-more-btn:hover{

    transform:translateY(-3px);

}

/* =========================================
FEATURED CAT CARD
========================================= */

.featured-card{

    background:
    linear-gradient(
        135deg,
        rgba(123,44,191,.06),
        rgba(68,199,207,.06)
    );

    border:
    2px solid rgba(123,44,191,.12);

    transform:scale(1.02);

}

.featured-card::after{

    content:'MOST POPULAR';

    position:absolute;

    top:18px;
    right:-35px;

    padding:8px 40px;

    background:var(--gradient);

    color:white;

    font-size:.7rem;

    font-weight:700;

    transform:
    rotate(35deg);

}

.featured-card h3{

    color:var(--primary);

}

/* =========================================
CAT SYLLABUS SECTION
========================================= */

.cat-syllabus{

    padding:140px 0;

    background:
    linear-gradient(
        180deg,
        transparent,
        rgba(123,44,191,.03)
    );

}

.syllabus-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;

}

.syllabus-card{

    background:white;

    border-radius:32px;

    padding:38px;

    position:relative;

    overflow:hidden;

    transition:.4s;

    box-shadow:
    0 20px 60px rgba(0,0,0,.05);

}

.syllabus-card:hover{

    transform:
    translateY(-10px);

    box-shadow:
    0 30px 80px rgba(123,44,191,.12);

}

.syllabus-card::before{

    content:'';

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:6px;

}

.varc-card::before{

    background:#7B2CBF;

}

.dilr-card::before{

    background:#5A5DF0;

}

.qa-card::before{

    background:#44C7CF;

}

.syllabus-icon{

    width:78px;
    height:78px;

    border-radius:22px;

    background:var(--gradient);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.8rem;

    margin-bottom:22px;

}

.syllabus-card h3{

    font-size:2rem;

    margin-bottom:10px;

}

.syllabus-card span{

    display:block;

    color:var(--primary);

    font-weight:600;

    margin-bottom:22px;

}

.syllabus-card ul{

    list-style:none;

}

.syllabus-card li{

    padding:14px 0;

    border-bottom:
    1px solid rgba(0,0,0,.05);

    color:var(--text);

    position:relative;

    padding-left:24px;

}

.syllabus-card li::before{

    content:'✓';

    position:absolute;

    left:0;

    color:var(--primary);

    font-weight:700;

}

.syllabus-card li:last-child{

    border:none;

}

/* =========================================
SECTION ANIMATION EFFECTS
========================================= */

.exam-card,
.syllabus-card{

    backdrop-filter:
    blur(10px);

}

.exam-card:hover .exam-icon{

    transform:
    rotate(8deg)
    scale(1.08);

}

.exam-icon{

    transition:.4s ease;

}

.syllabus-card:hover .syllabus-icon{

    transform:
    scale(1.08)
    rotate(-5deg);

}

.syllabus-icon{

    transition:.4s ease;

}

/* =========================================
RESPONSIVE
========================================= */

@media(max-width:1200px){

    .exam-grid{

        grid-template-columns:
        repeat(3,1fr);

    }

}

@media(max-width:992px){

    .exam-grid{

        grid-template-columns:
        repeat(2,1fr);

    }

    .syllabus-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .exams-section,
    .cat-syllabus{

        padding:100px 0;

    }

    .exam-grid{

        grid-template-columns:1fr;

    }

    .exam-card{

        padding:26px;

    }

    .exam-card h3{

        font-size:1.5rem;

    }

    .featured-card{

        transform:none;

    }

    .featured-card::after{

        display:none;

    }

    .syllabus-card{

        padding:28px;

    }

    .syllabus-card h3{

        font-size:1.6rem;

    }

}


/* =========================================
TOP COLLEGES SECTION
========================================= */

.top-colleges{

    padding:140px 0;

}

.college-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:28px;

}

.college-card{

    background:white;

    border-radius:30px;

    overflow:hidden;

    transition:.4s;

    box-shadow:
    0 20px 60px rgba(0,0,0,.05);

}

.college-card:hover{

    transform:
    translateY(-12px);

    box-shadow:
    0 35px 80px rgba(123,44,191,.15);

}

.college-image{

    height:220px;

    overflow:hidden;

}

.college-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.6s;

}

.college-card:hover img{

    transform:scale(1.08);

}

.college-content{

    padding:28px;

}

.college-content h3{

    margin-bottom:10px;

}

.college-content span{

    display:inline-block;

    color:var(--primary);

    font-weight:700;

    margin-bottom:10px;

}

.college-content p{

    color:var(--text);

    margin-bottom:20px;

}

.college-btn{

    width:100%;

    padding:14px;

    border:none;

    border-radius:16px;

    background:var(--gradient);

    color:white;

    font-weight:700;

    cursor:pointer;

}

/* =========================================
JOURNEY SECTION
========================================= */

.journey-section{

    padding:120px 0;

}

.alt-journey{

    background:
    linear-gradient(
        180deg,
        transparent,
        rgba(123,44,191,.03)
    );

}

.journey-timeline{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

}

.journey-step{

    width:220px;

    background:white;

    padding:30px;

    border-radius:26px;

    text-align:center;

    box-shadow:var(--shadow);

}

.step-icon{

    width:75px;
    height:75px;

    border-radius:50%;

    background:var(--gradient);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    margin-bottom:18px;

    font-size:1.6rem;

}

.journey-step h3{

    margin-bottom:10px;

}

.journey-step p{

    color:var(--text);

}

.journey-arrow{

    font-size:2rem;

    color:var(--primary);

    font-weight:800;

}

/* =========================================
DELIVERABLES
========================================= */

.deliverables-section{

    padding:140px 0;

}

.deliverables-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:24px;

}

.deliverable-card{

    background:white;

    border-radius:28px;

    padding:35px;

    text-align:center;

    transition:.4s;

    box-shadow:
    0 20px 50px rgba(0,0,0,.05);

}

.deliverable-card:hover{

    transform:
    translateY(-10px);

}

.deliverable-card i{

    font-size:2.2rem;

    color:var(--primary);

    margin-bottom:18px;

}

.deliverable-card h3{

    margin-bottom:12px;

}

.deliverable-card p{

    color:var(--text);

    line-height:1.8;

}

/* =========================================
ROADMAP
========================================= */

.roadmap-section{

    padding:140px 0;

    background:
    linear-gradient(
        180deg,
        rgba(123,44,191,.02),
        transparent
    );

}

.roadmap-container{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:15px;

}

.roadmap-step{

    width:180px;

    text-align:center;

}

.roadmap-icon{

    width:90px;
    height:90px;

    border-radius:50%;

    background:var(--gradient);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    margin-bottom:18px;

    font-size:2rem;

}

.roadmap-line{

    width:70px;

    height:4px;

    background:var(--gradient);

    border-radius:999px;

}

/* =========================================
TESTIMONIALS
========================================= */

.testimonial-section{

    padding:140px 0;

}

.testimonial-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:28px;

}

.testimonial-card{

    background:
    rgba(255,255,255,.7);

    backdrop-filter:blur(20px);

    padding:35px;

    border-radius:30px;

    box-shadow:
    0 20px 50px rgba(0,0,0,.05);

}

.stars{

    color:#f59e0b;

    margin-bottom:18px;

    font-size:1.1rem;

}

.testimonial-card p{

    color:var(--text);

    line-height:1.9;

    margin-bottom:20px;

}

.testimonial-card h4{

    margin-bottom:5px;

}

.testimonial-card span{

    color:var(--primary);

    font-size:.9rem;

}

/* =========================================
CTA SECTION
========================================= */

.cta-section{

    padding:140px 0;

}

.cta-card{

    background:var(--gradient);

    border-radius:40px;

    padding:90px 50px;

    text-align:center;

    color:white;

    position:relative;

    overflow:hidden;

}

.cta-badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

    background:
    rgba(255,255,255,.15);

    margin-bottom:20px;

}

.cta-card h2{

    font-size:
    clamp(3rem,6vw,5.5rem);

    line-height:1;

    margin-bottom:20px;

}

.cta-card p{

    max-width:700px;

    margin:auto;

    line-height:1.9;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:35px;

}

.cta-card .btn-secondary{

    background:white;

}

/* =========================================
ENQUIRY POPUP
========================================= */

.enquiry-modal{

    position:fixed;

    inset:0;

    background:
    rgba(0,0,0,.55);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:10000;

}

.enquiry-modal.active{

    display:flex;

}

.enquiry-box{

    width:min(520px,92%);

    background:white;

    padding:40px;

    border-radius:30px;

    position:relative;

}

.close-modal{

    position:absolute;

    top:20px;

    right:20px;

    border:none;

    background:none;

    font-size:1.2rem;

    cursor:pointer;

}

.enquiry-box h2{

    margin-bottom:10px;

}

.enquiry-box p{

    color:var(--text);

    margin-bottom:20px;

}

.enquiry-form{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.enquiry-form input,
.enquiry-form select{

    padding:16px;

    border:
    1px solid var(--border);

    border-radius:14px;

    outline:none;

}

/* =========================================
WHATSAPP
========================================= */

.whatsapp-btn{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    border-radius:50%;

    background:#25D366;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.8rem;

    z-index:999;

    box-shadow:
    0 20px 40px rgba(37,211,102,.3);

}

/* =========================================
FOOTER
========================================= */

.footer{

    background:white;

    padding:100px 0 40px;

}

.footer-grid{

    display:grid;

    grid-template-columns:
    2fr 1fr 1fr 1fr;

    gap:40px;

}

.footer-column h3,
.footer-column h4{

    margin-bottom:20px;

}

.footer-column p{

    color:var(--text);

    line-height:1.8;

}

.footer-column a{

    display:block;

    color:var(--text);

    margin-bottom:12px;

}

.social-links{

    display:flex;

    gap:12px;

}

.social-links a{

    width:45px;
    height:45px;

    background:#f5f5fa;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

}

.footer-bottom{

    text-align:center;

    margin-top:50px;

    padding-top:25px;

    border-top:
    1px solid rgba(0,0,0,.05);

    color:var(--text);

}

/* =========================================
RESPONSIVE
========================================= */

@media(max-width:1200px){

    .college-grid,
    .deliverables-grid{

        grid-template-columns:
        repeat(2,1fr);

    }

}

@media(max-width:992px){

    .testimonial-grid{

        grid-template-columns:1fr;

    }

    .footer-grid{

        grid-template-columns:
        repeat(2,1fr);

    }

}

@media(max-width:768px){

    .college-grid,
    .deliverables-grid{

        grid-template-columns:1fr;

    }

    .journey-timeline{

        flex-direction:column;

    }

    .journey-arrow{

        transform:rotate(90deg);

    }

    .roadmap-line{

        width:4px;
        height:50px;

    }

    .roadmap-container{

        flex-direction:column;

    }

    .cta-buttons{

        flex-direction:column;

    }

    .footer-grid{

        grid-template-columns:1fr;

        text-align:center;

    }

    .social-links{

        justify-content:center;

    }

}