*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
}

/* ------HEADER------ */

.school-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 20px;
    background:#fff;
}

.header-logo img{
    height:95px;
}

.header-content{
    text-align:center;
    flex:1;
}

.header-content h4{
    color:#8b1010;
    font-size:24px;
    font-weight:700;
}

.header-content h1{
    color:#2cab3b;
    font-size:42px;
    font-weight:700;
    margin:5px 0;
}

.header-content h5{
    color:#8b1010;
    font-size:20px;
    font-weight:600;
}

/* NAVBAR */

.main-navbar{
    background:#8b1010;
    position:sticky;
    top:0;
    z-index:999;
}

.nav-menu{
    list-style:none;
    display:flex;
    justify-content:center;
}

.nav-menu li a{
    display:block;
    padding:18px 25px;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    text-transform:uppercase;
    transition:.3s;
}

.nav-menu li a:hover{
    background:#2cab3b;
}

.menu-btn{
    display:none;
}

.dropdown{
    position:relative;
}

.submenu{
    position:absolute;
    top:100%;
    left:0;
    min-width:240px;
    background:#fff;
    list-style:none;
    display:none;
    box-shadow:0 5px 15px rgba(0,0,0,.15);
    z-index:999;
}

.submenu li a{
    color:#333 !important;
    padding:12px 18px;
    display:block;
    text-transform:none;
    border-bottom:1px solid #eee;
}

.submenu li a:hover{
    background:#f5f5f5;
    color:#8b1010 !important;
}

.dropdown:hover .submenu{
    display:block;
}

/* FOOTER */

/* ==========================
   FOOTER
========================== */

/* ================= FOOTER ================= */

.footer{
    position:relative;
    margin-top:60px;
    color:#fff;
    overflow:hidden;
    background:#0a3566;
}

/* Background Image + Dark Overlay */
.footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(rgba(8,40,82,.90), rgba(8,40,82,.92)),
        url("school/1.jpg") center center/cover no-repeat;
    z-index:0;
    transform:scale(1.03);
}

/* Keep content above background */
.footer > *{
    position:relative;
    z-index:2;
}

.footer-top{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:40px;
    padding:65px 5%;
}

.footer-col h3{
    margin-bottom:20px;
    color:#fff;
    position:relative;
    font-size:22px;
    font-weight:700;
}

.footer-col h3:after{
    content:"";
    width:45px;
    height:3px;
    background:#2cab3b;
    position:absolute;
    left:0;
    bottom:-8px;
    border-radius:10px;
}

.footer-col p{
    line-height:1.9;
    color:#d9e3f0;
}

.footer-col ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-col ul li{
    margin-bottom:13px;
}

.footer-col ul li a{
    color:#d9e3f0;
    text-decoration:none;
    transition:.3s ease;
}

.footer-col ul li a:hover{
    color:#2cab3b;
    padding-left:6px;
}

.footer-contact li{
    line-height:1.8;
}

.footer-contact i{
    color:#2cab3b;
    width:22px;
    margin-right:10px;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    padding:25px 5%;
    text-align:center;
    background:rgba(0,0,0,.12);
    backdrop-filter:blur(3px);
}

.footer-career{
    margin-bottom:18px;
}

.footer-career a{
    display:inline-block;
    background:#2cab3b;
    color:#fff;
    text-decoration:none;
    padding:12px 24px;
    border-radius:40px;
    font-weight:600;
    transition:.3s;
}

.footer-career a:hover{
    background:#259933;
    transform:translateY(-2px);
}

.footer-social{
    margin-bottom:18px;
}

.footer-social a{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0 6px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.footer-social a:hover{
    background:#2cab3b;
    transform:translateY(-4px);
}

.footer-bottom p{
    margin:0;
    color:#d9e3f0;
    font-size:15px;
}

/* Mobile */

@media(max-width:768px){

    .footer-top{
        text-align:center;
        gap:35px;
        padding:50px 7%;
    }

    .footer-col h3:after{
        left:50%;
        transform:translateX(-50%);
    }

}
/* RESPONSIVE */

@media (max-width:768px){

    .school-header{
        display:flex;
        flex-direction:row;
        justify-content:center;
        align-items:center;
        gap:10px;
        padding:10px;
    }

    .header-logo img{
        height:55px;
        width:auto;
    }

    .header-content{
        flex:1;
        text-align:center;
    }

    .header-content h1{
        font-size:18px;
        line-height:1.2;
        margin:3px 0;
    }

    .header-content h4{
        font-size:12px;
        margin:2px 0;
    }

    .header-content h5{
        font-size:10px;
        line-height:1.4;
        margin:2px 0;
    }

    .menu-btn{
        display:block;
        width:100%;
        background:#8b1010;
        color:#fff;
        border:none;
        font-size:24px;
        padding:15px;
        cursor:pointer;
    }

    .nav-menu{
        display:none;
        flex-direction:column;
        width:100%;
    }

    .nav-menu.active{
        display:flex;
    }

    .nav-menu li{
        width:100%;
    }

    .nav-menu li a{
        border-top:1px solid rgba(255,255,255,.15);
    }

}
@media (max-width:768px){

    .menu-btn{
        display:block;
        width:100%;
        background:#8b1010;
        color:#fff;
        border:none;
        padding:15px;
        font-size:22px;
        cursor:pointer;
    }

    .nav-menu{
        display:none;
        flex-direction:column;
        width:100%;
        background:#8b1010;
    }

    .nav-menu.active{
        display:flex;
    }

    .nav-menu li{
        width:100%;
        position:relative;
    }

    .nav-menu li a{
        display:block;
        width:100%;
        padding:15px 20px;
        border-top:1px solid rgba(255,255,255,.15);
    }

    .submenu{
        display:none;
        position:static;
        width:100%;
        min-width:100%;
        background:#fff;
        box-shadow:none;
        max-height:250px;
        overflow-y:auto;
    }

    .dropdown.open .submenu{
        display:block;
    }

    .submenu li a{
        padding:12px 20px;
        color:#333 !important;
        background:#fff;
    }

}
@media (max-width:768px){

    .submenu{
        position:static;
        display:none;
        width:100%;
        min-width:100%;
        background:#fff;
        box-shadow:none;
        max-height:300px;
        overflow-y:auto;
    }

    .dropdown.open .submenu{
        display:block;
    }

    .submenu li a{
        padding:12px 20px;
        color:#333 !important;
    }

}
/* ==========================
   HERO SLIDER
========================== */

.hero-slider{
    position:relative;
    width:100%;
    aspect-ratio:2813 / 1091;
    min-height:250px;
    max-height:745px;
    overflow:hidden;
   background:
linear-gradient(
90deg,
#0a3566,
#1f4f8a,
#2cab3b
);
}


.slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .8s ease-in-out;
}

.slide.active{
    opacity:1;
    z-index:1;
}

.slide img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

/* Slider Buttons */

.slider-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:10;

    width:55px;
    height:55px;

    border:none;
    border-radius:50%;

    background:rgba(0,0,0,.45);
    color:#fff;

    font-size:28px;
    cursor:pointer;

    transition:.3s;
}

.slider-btn:hover{
    background:#8b1010;
}

.prev{
    left:20px;
}

.next{
    right:20px;
}

/* Tablet */

@media (max-width:768px){

    .slider-btn{
        width:45px;
        height:45px;
        font-size:22px;
    }

    .prev{
        left:12px;
    }

    .next{
        right:12px;
    }
}

/* Mobile */

@media (max-width:480px){

    .slider-btn{
        width:38px;
        height:38px;
        font-size:18px;
    }

    .prev{
        left:8px;
    }

    .next{
        right:8px;
    }
}
/* ==========================
   WELCOME SECTION
========================== */

.welcome-section{
    padding:70px 5%;
    display:flex;
    gap:50px;
    align-items:flex-start;
    background:#ffffff;
}

.welcome-left{
    flex:1.2;
}

.welcome-right{
    flex:1;
    display:flex;
    gap:30px;
    justify-content:center;
}

.section-tag{
    color:#8b1010;
    font-size:25px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;
}

.welcome-left h2{
    color:#0a3566;
    font-size:42px;
    line-height:1.3;
    margin-top:10px;
    margin-bottom:20px;
}

.title-line{
    width:80px;
    height:4px;
    background:#f58220;
    margin-bottom:25px;
    position:relative;
}

.title-line::after{
    content:'';
    position:absolute;
    left:90px;
    top:0;
    width:25px;
    height:4px;
    background:#d9d9d9;
}

.title-line.center{
    margin:15px auto 25px;
}

.welcome-left p{
    font-size:17px;
    line-height:1.9;
    color:#555;
    text-align:justify;
    margin-bottom:15px;
}

.person-card{
    text-align:center;
}

.person-card h3{
    color:#0a3566;
    font-size:30px;
    font-weight:600;
}

.person-grid{
    display:flex;
    gap:20px;
}

.person-item img{
    width:170px;
    height:200px;
    object-fit:cover;
    border:3px solid #8b1010;
    transition:.3s;
}

.person-item img:hover{
    transform:translateY(-5px);
}

.person-item h4{
    margin-top:12px;
    font-size:15px;
    line-height:1.7;
    color:#333;
}

.chairman p{
    color:#666;
    margin-top:8px;
}

/* Responsive */

@media(max-width:1200px){

    .welcome-section{
        flex-direction:column;
    }

    .welcome-right{
        width:100%;
    }

}

@media(max-width:768px){

    .welcome-left h2{
        font-size:28px;
    }

    .person-grid{
        flex-direction:column;
    }

    .welcome-right{
        flex-direction:column;
        align-items:center;
    }

    .person-item img{
        width:220px;
        height:260px;
    }

}

/* ==========================
   NEWS SECTION
========================== */
/* ===================================
   GLIMPSE + NEWS SECTION
=================================== */

.glimpse-news-section{

    width:90%;
    margin:70px auto;

    display:flex;
    gap:30px;

    align-items:flex-start;
}

/* LEFT */

.glimpse-box{

    flex:0 0 70%;

    background:#fff;

    padding:25px;

    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    overflow:hidden;
}

/* RIGHT */

.latest-news-box{

    flex:1;

    background:#fff;

    padding:25px;

    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    overflow:hidden;
}

.home-sec-title h2{

    color:#0a3566;

    font-size:34px;

    font-weight:700;

    margin-bottom:25px;
}

/* =====================
   GALLERY
===================== */

.glimpse-slider{

    overflow:hidden;
}

.glimpse-track{

    display:flex;

    gap:15px;

    width:max-content;

    animation:galleryMove 25s linear infinite;
}

.glimpse-track img{

    width:280px;

    height:200px;

    border-radius:15px;

    object-fit:cover;

    display:block;

    transition:.3s;
}

.glimpse-track img:hover{

    transform:scale(1.05);
}

@keyframes galleryMove{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}

/* =====================
   BUTTON
===================== */

.gallery-btn-wrap{

    text-align:center;

    margin-top:25px;
}

.gallery-view-btn{

    display:inline-block;

    padding:12px 30px;

    background:linear-gradient(
    135deg,
    #0a3566,
    #2cab3b);

    color:#fff;

    text-decoration:none;

    border-radius:40px;

    font-weight:600;
}

/* =====================
   NEWS
===================== */

.news-roller{

    height:260px;

    overflow:hidden;
}

.news-track{

    display:flex;

    flex-direction:column;

    gap:12px;

    animation:newsMove 15s linear infinite;
}

.news-track a{

    text-decoration:none;

    background:#f5f8fc;

    color:#0a3566;

    padding:14px;

    border-left:4px solid #2cab3b;

    border-radius:10px;

    font-weight:600;

    transition:.3s;
}

.news-track a:hover{

    background:#0a3566;

    color:#fff;
}

@keyframes newsMove{

    from{
        transform:translateY(0);
    }

    to{
        transform:translateY(-50%);
    }

}

/* =====================
   MOBILE
===================== */

@media(max-width:992px){

    .glimpse-news-section{

        flex-direction:column;
    }

    .glimpse-box,
    .latest-news-box{

        width:100%;
        flex:none;
    }

}
/* ==========================
   COUNTER SECTION
========================== */

.stats-section{
    background:#fff;
    padding:60px 5%;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.stat-box{
    text-align:center;
}

.stat-box span{
    font-size:70px;
    font-weight:700;
    color:#e32128;
}

.stat-box sup,
.k-text{
    color:#e32128;
    font-size:35px;
    font-weight:700;
}

.stat-box h4{
    margin-top:10px;
    color:#0d2f57;
    font-size:24px;
}

/* Responsive */

@media(max-width:992px){

    .news-grid{
        grid-template-columns:1fr;
    }

    .stats-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:576px){

    .section-title h2{
        font-size:28px;
    }

    .stats-grid{
        grid-template-columns:1fr;
    }

    .stat-box span{
        font-size:55px;
    }

    .stat-box h4{
        font-size:20px;
    }

}

.alumni-section{
    padding:70px 5%;
    background:#f8fafc;
}

.alumni-slider{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.alumni-card{
    background:#fff;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    text-align:center;
    padding:20px;
}

.alumni-card img{
    width:120px;
    height:120px;
    display:block;
    margin:0 auto 20px;
    border-radius:50%;      /* Optional */
    object-fit:cover;       /* Better than contain */
}

.alumni-img img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
}
.alumni-card:hover{
    transform:translateY(-8px);
}



.alumni-card h3{
    margin-top:15px;
    color:#0d2f57;
}

.alumni-card span{
    color:#8b1010;
    font-weight:600;
}

.alumni-card p{
    padding:10px 15px 20px;
}

.alumni-btn-wrap{
    text-align:center;
    margin-top:35px;
}

.virtual-tour{
    padding:80px 5%;
    background:#fff;
}

.tour-wrapper{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
    align-items:center;
}

.tour-video iframe{
    width:100%;
    height:500px;
    border:none;
    border-radius:15px;
}

.tour-content h3{
    color:#0d2f57;
    font-size:32px;
    margin-bottom:20px;
}

.tour-content p{
    color:#555;
    line-height:1.8;
    margin-bottom:25px;
}

@media(max-width:992px){

    .alumni-slider{
        grid-template-columns:repeat(2,1fr);
    }

    .tour-wrapper{
        grid-template-columns:1fr;
    }

    .tour-video iframe{
        height:350px;
    }
}

@media(max-width:576px){

    .alumni-slider{
        grid-template-columns:1fr;
    }

    .tour-video iframe{
        height:250px;
    }
}

/* ==========================
   PAGE BANNER
========================== */

.page-banner{
    position:relative;
    background:url('../images/image.png') center center/cover;
    min-height:220px;
    display:flex;
    align-items:center;
}

.page-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
}

.page-banner-content{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1400px;
    margin:auto;
    padding:0 5%;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.page-banner-content h1{
    color:#fff;
    font-size:52px;
    font-weight:700;
}

.breadcrumb{
    color:#fff;
    font-weight:600;
}

.breadcrumb a{
    color:#fff;
    text-decoration:none;
}

.breadcrumb span{
    margin:0 8px;
}

@media(max-width:768px){

    .page-banner{
        min-height:180px;
    }

    .page-banner-content{
        flex-direction:column;
        gap:15px;
        text-align:center;
    }

    .page-banner-content h1{
        font-size:34px;
    }

}

.history-content-section{
    max-width:1400px;
    margin:auto;
    padding:70px 5%;
    display:flex;
    align-items:center;
    gap:50px;
}

.history-text{
    flex:1;
}

.history-text h2{
    font-size:42px;
    color:#0a3566;
    margin-bottom:15px;
}

.section-line{
    width:90px;
    height:4px;
    background:#f58220;
    margin-bottom:25px;
}

.history-text p{
    line-height:1.9;
    color:#444;
    margin-bottom:15px;
    text-align:justify;
}

.history-image{
    flex:1;
}

.history-image img{
    width:100%;
    display:block;
    border-radius:10px;
}

@media(max-width:992px){

    .history-content-section{
        flex-direction:column;
    }

    .history-text h2{
        font-size:32px;
    }
}

/* ==========================
   VISION MISSION PAGE
========================== */

.vm-section{
    padding:90px 5%;
    background:#f8fafc;
}

.vm-heading{
    text-align:center;
    max-width:850px;
    margin:auto;
    margin-bottom:60px;
}

.vm-heading span{
    color:#8b1010;
    text-transform:uppercase;
    font-weight:600;
    letter-spacing:2px;
    font-size:14px;
}

.vm-heading h2{
    font-size:48px;
    color:#0a3566;
    margin:10px 0;
}

.vm-heading p{
    color:#666;
    line-height:1.8;
}

.vm-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:35px;
}

.vm-card{
    background:#fff;
    padding:45px;
    border-radius:20px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.4s;
    position:relative;
}

.vm-card:hover{
    transform:translateY(-10px);
}

.vm-card::before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:8px;
    height:100%;
}

.vision-card::before{
    background:#2cab3b;
}

.mission-card::before{
    background:#8b1010;
}

.vm-icon{
    width:80px;
    height:80px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    margin-bottom:25px;
}

.vision-card .vm-icon{
    background:#eaf8ec;
    color:#2cab3b;
}

.mission-card .vm-icon{
    background:#fff1f1;
    color:#8b1010;
}

.vm-card h3{
    color:#0a3566;
    font-size:34px;
    margin-bottom:15px;
}

.vm-card p{
    color:#555;
    line-height:1.9;
    text-align:justify;
}

@media(max-width:768px){

    .banner-overlay h1{
        font-size:32px;
    }

    .vm-grid{
        grid-template-columns:1fr;
    }

    .vm-heading h2{
        font-size:34px;
    }

    .vm-card{
        padding:30px;
    }
}

/* ==========================
   SCHOOL MANAGEMENT
========================== */

.smc-section{
    padding:80px 5%;
    background:#f8fafc;
}

.page-title{
    text-align:center;
    margin-bottom:50px;
}

.page-title h2{
    font-size:42px;
    color:#0a3566;
    margin-bottom:10px;
}

.page-title p{
    color:#8b1010;
    font-weight:600;
    font-size:18px;
}

.smc-grid{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.smc-card{
    background:#fff;
    border-radius:14px;
    padding:25px 30px;
    display:flex;
    align-items:center;
    gap:25px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    transition:.3s;
    border-left:5px solid #2cab3b;
}

.smc-card:hover{
    transform:translateX(8px);
}

.smc-no{
    width:55px;
    height:55px;
    border-radius:50%;
    background:#0a3566;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:18px;
    flex-shrink:0;
}

.smc-content{
    flex:1;
}

.smc-content h3{
    color:#0a3566;
    font-size:22px;
    margin-bottom:5px;
}

.smc-content p{
    color:#666;
}

.smc-role{
    background:#eef7ef;
    color:#2cab3b;
    padding:10px 18px;
    border-radius:30px;
    font-weight:600;
    white-space:nowrap;
}

.smc-role.chairman{
    background:#fff2e8;
    color:#f58220;
}

/* Responsive */

@media(max-width:768px){

    .smc-card{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }

    .smc-role{
        width:100%;
        text-align:center;
    }

    .page-title h2{
        font-size:30px;
    }
}

/* ==========================
   MANDATORY DISCLOSURE
========================== */

.document-section{
    padding:80px 5%;
    background:#f8fafc;
}

.page-heading{
    text-align:center;
    margin-bottom:50px;
}

.page-heading h1{
    color:#0a3566;
    font-size:42px;
    margin-bottom:10px;
}

.page-heading p{
    color:#666;
    font-size:17px;
}

.document-grid{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.document-card{
    background:#fff;
    border-radius:12px;
    padding:22px 25px;
    display:flex;
    align-items:center;
    gap:20px;
    text-decoration:none;
    color:inherit;
    box-shadow:0 4px 15px rgba(0,0,0,.06);
    transition:.3s;
    border-left:5px solid #2cab3b;
}

.document-card:hover{
    transform:translateX(8px);
    box-shadow:0 10px 25px rgba(0,0,0,.10);
}

.doc-number{
    width:55px;
    height:55px;
    border-radius:50%;
    background:#0a3566;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    flex-shrink:0;
}

.doc-content{
    flex:1;
}

.doc-content h3{
    color:#0a3566;
    font-size:18px;
    margin-bottom:5px;
}

.doc-content span{
    color:#777;
    font-size:14px;
}

.doc-icon{
    width:55px;
    height:55px;
    border-radius:50%;
    background:#fff0f0;
    color:#c62828;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
}

/* Mobile */

@media(max-width:768px){

    .page-heading h1{
        font-size:30px;
    }

    .document-card{
        padding:18px;
        gap:15px;
    }

    .doc-content h3{
        font-size:15px;
    }

    .doc-number,
    .doc-icon{
        width:45px;
        height:45px;
        font-size:18px;
    }
}

/* ===================================
   TRANSFER CERTIFICATE
=================================== */

.tc-section{
    padding:80px 5%;
    background:#f7f9fc;
}

.tc-header{
    text-align:center;
    margin-bottom:50px;
}

.tc-header span{
    color:#2cab3b;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
}

.tc-header h1{
    font-size:50px;
    color:#0a3566;
    margin:10px 0;
}

.tc-header p{
    color:#666;
    max-width:650px;
    margin:auto;
}

/* Tabs */

.tc-tabs{
    display:flex;
    justify-content:center;
    gap:15px;
    margin-bottom:30px;
    flex-wrap:wrap;
}

.tc-tab{
    border:none;
    padding:14px 28px;
    border-radius:50px;
    cursor:pointer;
    background:#ffffff;
    color:#0a3566;
    font-weight:600;
    transition:.3s;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.tc-tab.active{
    background:linear-gradient(135deg,#2cab3b,#0a3566);
    color:#fff;
}

/* Search */

.tc-search-wrap{
    max-width:600px;
    margin:0 auto 35px;
}

.tc-search-wrap input{
    width:100%;
    padding:15px 20px;
    border:1px solid #ddd;
    border-radius:50px;
    outline:none;
    font-size:15px;
}

/* Content */

.tc-content{
    display:none;
}

.tc-content.active{
    display:block;
}

.tc-count{
    text-align:center;
    margin-bottom:25px;
    color:#8b1010;
    font-weight:600;
}

/* Cards */

.tc-grid{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.tc-card{
    background:#fff;
    border-radius:16px;
    padding:20px 25px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 8px 25px rgba(0,0,0,.06);
    border-left:5px solid #2cab3b;
    transition:.3s;
}

.tc-card:hover{
    transform:translateX(8px);
}

.tc-left h4{
    color:#0a3566;
    font-size:18px;
    margin-bottom:5px;
}

.tc-left p{
    color:#777;
    font-size:14px;
}

.tc-pdf{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#fff1f1;
    color:#d62828;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    transition:.3s;
}

.tc-pdf:hover{
    background:#d62828;
    color:#fff;
}

/* Mobile */

@media(max-width:768px){

    .tc-header h1{
        font-size:34px;
    }

    .tc-card{
        padding:18px;
    }

    .tc-left h4{
        font-size:16px;
    }

    .tc-pdf{
        width:50px;
        height:50px;
        font-size:22px;
    }

}

@media(max-width:576px){

    .tc-card{
        flex-direction:column;
        gap:15px;
        text-align:center;
    }

}

/* ===========================
   INFRASTRUCTURE
=========================== */

.infra-hero{
    text-align:center;
    padding:70px 5% 40px;
}

.infra-hero span{
    color:#2cab3b;
    text-transform:uppercase;
    letter-spacing:2px;
    font-weight:600;
}

.infra-hero h1{
    font-size:52px;
    color:#0a3566;
    margin:15px 0;
}

.infra-hero p{
    max-width:700px;
    margin:auto;
    color:#666;
    line-height:1.8;
}

.infra-grid{
    padding:20px 5% 80px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:25px;
}

.infra-card{
    background:#fff;
    border-radius:20px;
    padding:35px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
    position:relative;
    overflow:hidden;
}

.infra-card:hover{
    transform:translateY(-10px);
}

.infra-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:linear-gradient(90deg,#2cab3b,#0a3566);
}

.infra-icon{
    width:80px;
    height:80px;
    margin:auto;
    border-radius:50%;
    background:#eef8ef;
    color:#2cab3b;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
}

.infra-card h3{
    margin-top:20px;
    color:#0a3566;
    font-size:24px;
}

.infra-number{
    font-size:42px;
    font-weight:700;
    color:#8b1010;
    margin:15px 0;
}

.infra-card p{
    color:#666;
    line-height:1.8;
}

/* Mobile */

@media(max-width:768px){

    .infra-hero h1{
        font-size:34px;
    }

    .infra-number{
        font-size:32px;
    }

}

/* ===========================
   FACULTY
=========================== */

.faculty-section{
    padding:80px 5%;
    background:#f7f9fc;
}

.faculty-heading{
    text-align:center;
    margin-bottom:50px;
}

.faculty-heading span{
    color:#2cab3b;
    text-transform:uppercase;
    font-weight:600;
    letter-spacing:2px;
}

.faculty-heading h1{
    font-size:50px;
    color:#0a3566;
    margin:12px 0;
}

.faculty-heading p{
    max-width:650px;
    margin:auto;
    color:#666;
}

/* Tabs */

.faculty-tabs{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-bottom:40px;
    flex-wrap:wrap;
}

.faculty-tab{
    border:none;
    padding:12px 24px;
    border-radius:50px;
    background:#fff;
    cursor:pointer;
    font-weight:600;
    color:#0a3566;
    box-shadow:0 4px 15px rgba(0,0,0,.08);
}

.faculty-tab.active{
    background:linear-gradient(135deg,#2cab3b,#0a3566);
    color:#fff;
}

/* Content */

.faculty-content{
    display:none;
}

.faculty-content.active{
    display:block;
}

/* Grid */

.faculty-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

/* Card */

.faculty-card{
    background:#fff;
    border-radius:20px;
    padding:30px;
    text-align:center;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s;
    position:relative;
}

.faculty-card:hover{
    transform:translateY(-10px);
}

.faculty-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:6px;
    border-radius:20px 20px 0 0;
    background:linear-gradient(90deg,#2cab3b,#0a3566);
}

.faculty-card img{
    width:120px;
    height:120px;
    object-fit:cover;
    border-radius:50%;
    border:5px solid #fff;
    box-shadow:0 5px 20px rgba(0,0,0,.15);
    margin-bottom:20px;
}

.faculty-card h3{
    color:#0a3566;
    font-size:22px;
    margin-bottom:10px;
}

.faculty-designation{
    display:inline-block;
    background:#eef8ef;
    color:#2cab3b;
    padding:8px 15px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    margin-bottom:15px;
}

.faculty-card p{
    color:#666;
    line-height:1.8;
    font-size:14px;
}

/* Mobile */

@media(max-width:768px){

    .faculty-heading h1{
        font-size:34px;
    }

    .faculty-card{
        padding:25px;
    }

}

/* ==================================
   LUNCH MENU PAGE
================================== */

.lunch-page{
    padding:80px 5%;
    background:#f8fafc;
}

.lunch-header{
    text-align:center;
    margin-bottom:50px;
}

.lunch-header span{
    color:#2cab3b;
    text-transform:uppercase;
    letter-spacing:2px;
    font-weight:600;
}

.lunch-header h1{
    font-size:50px;
    color:#0a3566;
    margin:10px 0;
}

.lunch-header p{
    color:#666;
    max-width:650px;
    margin:auto;
}

.menu-download-btn{
    display:inline-block;
    margin-top:20px;
    background:#c62828;
    color:#fff;
    text-decoration:none;
    padding:12px 25px;
    border-radius:50px;
}

.month-title{
    text-align:center;
    font-size:28px;
    color:#0a3566;
    font-weight:700;
    margin-bottom:25px;
}

.calendar-head{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:15px;
    margin-bottom:15px;
}

.calendar-head div{
    background:#0a3566;
    color:#fff;
    text-align:center;
    padding:12px;
    border-radius:10px;
    font-weight:600;
}

.calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:15px;
}

.menu-box{
    background:#fff;
    border-radius:20px;
    padding:18px;
    min-height:180px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    text-align:center;
    transition:.3s;
}

.menu-box:hover{
    transform:translateY(-6px);
}

.menu-date{
    width:45px;
    height:45px;
    border-radius:50%;
    background:#2cab3b;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    font-weight:700;
}

.menu-box h4{
    margin:15px 0 8px;
    color:#0a3566;
}

.menu-box p{
    color:#666;
    margin-bottom:15px;
}

.menu-view-btn{
    border:none;
    background:#2cab3b;
    color:#fff;
    padding:8px 15px;
    border-radius:30px;
    cursor:pointer;
}

.holiday-date{
    background:#d62828;
}

.holiday-box{
    color:#d62828;
    margin-top:20px;
}

.holiday-box i{
    font-size:35px;
}

/* Modal */

.menu-modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    justify-content:center;
    align-items:center;
    z-index:9999;
}

.menu-modal-content{
    background:#fff;
    padding:35px;
    border-radius:20px;
    width:90%;
    max-width:450px;
    position:relative;
}

.menu-close{
    position:absolute;
    right:20px;
    top:10px;
    font-size:28px;
    cursor:pointer;
}

/* Responsive */

@media(max-width:1200px){

    .calendar-grid{
        grid-template-columns:repeat(4,1fr);
    }

    .calendar-head{
        display:none;
    }
}

@media(max-width:768px){

    .calendar-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .lunch-header h1{
        font-size:34px;
    }
}

@media(max-width:576px){

    .calendar-grid{
        grid-template-columns:1fr;
    }
}

/* ===========================
   ACADEMICS
=========================== */

.academics-section{
    padding:80px 5%;
    background:#f8fafc;
}

.academic-heading{
    text-align:center;
    margin-bottom:50px;
}

.academic-heading span{
    color:#2cab3b;
    text-transform:uppercase;
    letter-spacing:2px;
    font-weight:600;
}

.academic-heading h1{
    font-size:48px;
    color:#0a3566;
    margin:10px 0;
}

.academic-heading p{
    color:#666;
}

.class-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:25px;
}

.class-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.class-card:hover{
    transform:translateY(-8px);
}

.class-top{
    background:linear-gradient(135deg,#2cab3b,#0a3566);
    color:#fff;
    text-align:center;
    padding:16px;
    font-weight:700;
    font-size:18px;
}

.class-card ul{
    list-style:none;
    padding:20px;
}

.class-card ul li{
    padding:10px 0;
    border-bottom:1px solid #eee;
    color:#555;
    position:relative;
    padding-left:22px;
}

.class-card ul li:last-child{
    border:none;
}

.class-card ul li::before{
    content:'▸';
    position:absolute;
    left:0;
    color:#2cab3b;
    font-weight:bold;
}

/* ==================================
   BOOK LIST PAGE
================================== */

.booklist-section{
    padding:80px 5%;
    background:#fafafa;
}

.booklist-header{
    text-align:center;
    margin-bottom:60px;
}

.booklist-header span{
    color:#8b1010;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:600;
}

.booklist-header h1{
    font-size:52px;
    color:#0a3566;
    margin:12px 0;
}

.booklist-header p{
    max-width:700px;
    margin:auto;
    color:#666;
    line-height:1.8;
}

/* Cards */

.booklist-grid{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.book-card{
    background:#fff;
    border-radius:22px;
    padding:25px 30px;
    display:flex;
    align-items:center;
    gap:25px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    transition:.35s;
    position:relative;
}

.book-card:hover{
    transform:translateY(-6px);
}

.book-card::before{
    content:'';
    position:absolute;
    left:0;
    top:15%;
    height:70%;
    width:6px;
    border-radius:10px;
    background:#f58220;
}

/* Icon */

.book-icon{
    width:70px;
    height:70px;
    border-radius:20px;
    background:#fff7eb;
    color:#f58220;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    flex-shrink:0;
}

/* Text */

.book-info{
    flex:1;
}

.book-info h3{
    color:#0a3566;
    font-size:24px;
    margin-bottom:5px;
}

.book-info p{
    color:#777;
    font-size:14px;
}

/* Button */

.book-card a{
    text-decoration:none;
    background:#0a3566;
    color:#fff;
    padding:12px 24px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.book-card a:hover{
    background:#8b1010;
}

/* Responsive */

@media(max-width:768px){

    .booklist-header h1{
        font-size:36px;
    }

    .book-card{
        flex-direction:column;
        text-align:center;
    }

    .book-card::before{
        display:none;
    }

    .book-info{
        width:100%;
    }

}

/* ==========================
   SYLLABUS PAGE
========================== */

.syllabus-section{
    padding:80px 5%;
    background:#fafafa;
}

.syllabus-header{
    text-align:center;
    margin-bottom:60px;
}

.syllabus-header span{
    color:#f58220;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:600;
}

.syllabus-header h1{
    font-size:52px;
    color:#0a3566;
    margin:10px 0;
}

.syllabus-header p{
    max-width:700px;
    margin:auto;
    color:#666;
}

.syllabus-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
}

.syllabus-card{
    background:#fff;
    border-radius:24px;
    padding:30px;
    text-decoration:none;
    transition:.35s;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    position:relative;
    overflow:hidden;
}

.syllabus-card:hover{
    transform:translateY(-10px);
}

.syllabus-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:#f58220;
}

.syllabus-card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
}

.syllabus-icon{
    width:70px;
    height:70px;
    border-radius:20px;
    background:#fff4e6;
    color:#f58220;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
}

.academic-badge{
    background:#0a3566;
    color:#fff;
    padding:8px 14px;
    border-radius:50px;
    font-size:12px;
    font-weight:600;
}

.syllabus-card h3{
    color:#0a3566;
    font-size:28px;
    margin-bottom:10px;
}

.syllabus-card p{
    color:#777;
    line-height:1.7;
    min-height:50px;
}

.syllabus-card span{
    color:#8b1010;
    font-weight:600;
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:20px;
}

/* Mobile */

@media(max-width:768px){

    .syllabus-header h1{
        font-size:36px;
    }

    .syllabus-card{
        padding:25px;
    }

}

/* ==========================
   FEE DOWNLOAD HUB
========================== */

.feehub-section{
    padding:80px 5%;
    background:#f8fafc;
}

.feehub-header{
    text-align:center;
    margin-bottom:60px;
}

.feehub-header span{
    color:#f58220;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:3px;
    font-weight:600;
}

.feehub-header h1{
    font-size:52px;
    color:#0a3566;
    margin:10px 0;
}

.feehub-header p{
    max-width:700px;
    margin:auto;
    color:#666;
    line-height:1.8;
}

.feehub-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.fee-card{
    background:#fff;
    border-radius:24px;
    padding:35px;
    text-align:center;
    position:relative;
    overflow:hidden;
    transition:.35s;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    border:1px solid #edf2f7;
}

.fee-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,.12);
}

/* Academic Year Badge */

.fee-year{
    position:absolute;
    top:18px;
    right:18px;
    background:#f58220;
    color:#fff;
    padding:6px 12px;
    border-radius:30px;
    font-size:11px;
    font-weight:600;
}

/* Top Accent */

.fee-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:linear-gradient(
        90deg,
        #2cab3b,
        #0a3566
    );
}

.fee-icon{
    width:85px;
    height:85px;
    margin:auto;
    border-radius:50%;
    background:#eef8ef;
    color:#2cab3b;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    margin-bottom:25px;
}

.fee-card h3{
    color:#0a3566;
    font-size:26px;
    margin-bottom:10px;
}

.fee-card p{
    color:#777;
    margin-bottom:25px;
    font-size:14px;
}

/* Download Button */

.fee-card a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    background:#0a3566;
    color:#fff;
    padding:12px 24px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.fee-card a:hover{
    background:#8b1010;
}

/* Mobile */

@media(max-width:768px){

    .feehub-header h1{
        font-size:36px;
    }

    .fee-card{
        padding:28px;
    }

    .fee-icon{
        width:75px;
        height:75px;
        font-size:28px;
    }

}

/* ==========================
   EXAM TIMETABLE
========================== */

.exam-section{
    padding:80px 5%;
    background:#fbfbfd;
}

.exam-header{
    text-align:center;
    margin-bottom:60px;
}

.exam-header span{
    color:#c2410c;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:600;
}

.exam-header h1{
    font-size:52px;
    color:#0a3566;
    margin:12px 0;
}

.exam-header p{
    max-width:700px;
    margin:auto;
    color:#666;
}

.exam-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.exam-card{
    background:#fff;
    padding:35px;
    border-radius:24px;
    position:relative;
    box-shadow:0 15px 35px rgba(0,0,0,.06);
    transition:.35s;
}

.exam-card:hover{
    transform:translateY(-10px);
}

.exam-badge{
    display:inline-block;
    background:#fff7ed;
    color:#c2410c;
    padding:8px 14px;
    border-radius:50px;
    font-size:12px;
    font-weight:600;
    margin-bottom:20px;
}

.exam-card h3{
    color:#0a3566;
    font-size:24px;
    margin-bottom:12px;
}

.exam-card p{
    color:#777;
    line-height:1.8;
    margin-bottom:25px;
}

.exam-card a{
    text-decoration:none;
    display:inline-block;
    background:#c2410c;
    color:#fff;
    padding:12px 22px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.exam-card a:hover{
    background:#9a3412;
}

/* Mobile */

@media(max-width:768px){

    .exam-header h1{
        font-size:36px;
    }

    .exam-card{
        padding:28px;
    }

}
/* ==========================
   COMPETITION PDF HUB
========================== */

.comp-page{
    padding:80px 5%;
    background:#fafafa;
}

.comp-header{
    text-align:center;
    margin-bottom:60px;
}

.comp-header span{
    color:#e11d48;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:600;
}

.comp-header h1{
    font-size:50px;
    color:#0a3566;
    margin:10px 0;
}

.comp-header p{
    max-width:700px;
    margin:auto;
    color:#666;
}

.comp-list{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.comp-item{
    background:#fff;
    border-radius:20px;
    padding:22px 25px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 10px 25px rgba(0,0,0,.06);
    transition:.3s;
}

.comp-item:hover{
    transform:translateX(8px);
}

.comp-left{
    display:flex;
    align-items:center;
    gap:20px;
}

.comp-number{
    width:55px;
    height:55px;
    border-radius:15px;
    background:#fff1f2;
    color:#e11d48;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}

.comp-left h3{
    color:#0a3566;
    margin-bottom:5px;
}

.comp-left p{
    color:#777;
    font-size:14px;
}

.comp-download{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#e11d48;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:24px;
}

.comp-download:hover{
    background:#be123c;
}

/* Mobile */

@media(max-width:768px){

    .comp-item{
        flex-direction:column;
        gap:20px;
        text-align:center;
    }

    .comp-left{
        flex-direction:column;
    }

    .comp-header h1{
        font-size:34px;
    }
}

/* ==========================
   PDF VIEWER
========================== */

.pdf-viewer-section{
    padding:60px 5%;
    background:#f8fafc;
}

.pdf-header{
    text-align:center;
    margin-bottom:40px;
}

.pdf-header span{
    color:#2563eb;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:3px;
    font-weight:600;
}

.pdf-header h1{
    font-size:48px;
    color:#0a3566;
    margin:12px 0;
}

.pdf-header p{
    max-width:700px;
    margin:auto;
    color:#666;
    line-height:1.8;
}

.pdf-open-btn{
    display:inline-block;
    margin-top:20px;
    padding:12px 25px;
    background:#2563eb;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
}

.pdf-container{
    background:#fff;
    padding:15px;
    border-radius:20px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.pdf-container iframe{
    border:none;
    border-radius:12px;
}

/* Mobile */

@media(max-width:768px){

    .pdf-header h1{
        font-size:32px;
    }

    .pdf-container iframe{
        height:600px;
    }

}

/* =====================================
   GALLERY PAGE
===================================== */

.gallery-page{
    padding:80px 5%;
    background:#f8fafc;
}

.gallery-heading{
    text-align:center;
    margin-bottom:50px;
}

.gallery-heading span{
    color:#2cab3b;
    font-size:13px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:3px;
}

.gallery-heading h1{
    font-size:52px;
    color:#0a3566;
    margin:10px 0;
}

.gallery-heading p{
    color:#666;
    max-width:700px;
    margin:auto;
    line-height:1.8;
}

/* YEAR BUTTONS */

.year-wrapper{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
    margin-bottom:25px;
}

.year-btn{
    border:none;
    background:#fff;
    color:#0a3566;
    padding:12px 28px;
    border-radius:50px;
    cursor:pointer;
    font-weight:600;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    transition:.3s;
}

.year-btn.active{
    background:#0a3566;
    color:#fff;
}

/* MONTH BUTTONS */

.month-wrapper{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:35px;
}

.month-btn{

    padding:14px 28px;

    border:none;

    border-radius:50px;

    background:#edf3fb;

    color:#0a3566;

    font-weight:600;

    transition:.3s;
}

.month-btn.active{

    background:linear-gradient(
    135deg,
    #0a3566,
    #2cab3b);

    color:#fff;
}
.event-card{
    transition:.4s;
}

.event-card:hover{

    transform:translateY(-8px);

    box-shadow:0 15px 35px rgba(0,0,0,.15);
}
.event-info span{

    background:#2cab3b;

    color:#fff;

    padding:4px 12px;

    border-radius:20px;

    font-size:13px;
}
/* CONTENT */

.year-content,
.month-content{
    display:none;
}

.year-content.active,
.month-content.active{
    display:block;
}

/* EVENTS */

.event-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:30px;
}

.event-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    cursor:pointer;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.35s;
}

.event-card:hover{
    transform:translateY(-8px);
}

.event-card img{
    width:100%;
    height:240px;
    object-fit:contain;
    background:#f5f5f5;
}

.event-info{
    padding:20px;
}

.event-info h3{
    color:#0a3566;
    margin-bottom:8px;
}

.event-info span{
    color:white;
    font-weight:600;
}

/* MODAL */

.gallery-modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.95);
    z-index:9999;
    padding:30px;
}

.gallery-modal.active{
    display:block;
}

.close-gallery{
    position:absolute;
    right:25px;
    top:15px;
    color:#fff;
    font-size:40px;
    cursor:pointer;
    z-index:10000;
}

#mainImage{
    display:block;
    margin:auto;
    max-width:90%;
    max-height:70vh;
    border-radius:12px;
}

/* NAV */

.gallery-nav{
    text-align:center;
    margin-top:20px;
}

.gallery-nav button{
    border:none;
    background:#2cab3b;
    color:#fff;
    width:45px;
    height:45px;
    border-radius:50%;
    cursor:pointer;
    margin:0 5px;
    font-size:18px;
}

/* THUMBS */

.thumb-wrapper{
    display:flex;
    justify-content:center;
    gap:10px;
    margin-top:25px;
    overflow-x:auto;
    padding-bottom:10px;
}

.thumb-wrapper img{
    width:90px;
    height:70px;
    object-fit:cover;
    cursor:pointer;
    border-radius:8px;
    border:3px solid transparent;
}

.thumb-wrapper img.active{
    border-color:#2cab3b;
}

/* MOBILE */

@media(max-width:768px){

    .gallery-heading h1{
        font-size:34px;
    }

    .event-grid{
        grid-template-columns:1fr;
    }

    #mainImage{
        max-width:100%;
        max-height:55vh;
    }

}

/* ==========================
   CONTACT PAGE
========================== */

.contact-hero{
    padding:100px 5%;
    background:linear-gradient(
    135deg,
    #0a3566,
    #144b8b);
    text-align:center;
    color:#fff;
}

.contact-hero span{
    text-transform:uppercase;
    letter-spacing:3px;
    color:#9ad06f;
}

.contact-hero h1{
    font-size:60px;
    margin:15px 0;
}

.contact-hero p{
    max-width:800px;
    margin:auto;
    opacity:.9;
}

/* CARDS */

.contact-cards{
    padding:80px 5%;
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.contact-card{
    background:#fff;
    padding:35px;
    text-align:center;
    border-radius:25px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.contact-icon{
    width:80px;
    height:80px;
    margin:auto;
    border-radius:50%;
    background:#eef6ff;
    color:#0a3566;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    margin-bottom:20px;
}

/* MAIN */

.contact-main{
    padding:20px 5% 80px;
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
}

.contact-form-box{
    background:#fff;
    padding:40px;
    border-radius:25px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:20px;
}

.contact-form-box input,
.contact-form-box textarea{
    width:100%;
    padding:16px;
    border:1px solid #ddd;
    border-radius:12px;
}

.contact-form-box textarea{
    height:160px;
    resize:none;
    margin-bottom:20px;
}

.contact-form-box button{
    background:#0a3566;
    color:#fff;
    border:none;
    padding:14px 35px;
    border-radius:50px;
    cursor:pointer;
}

.contact-side{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.contact-box{
    background:#fff;
    padding:30px;
    border-radius:20px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

/* MAP */

.map-section{
    padding:0 5% 80px;
}

.map-box{
    overflow:hidden;
    border-radius:25px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.map-box iframe{
    width:100%;
    height:500px;
    border:none;
}

.section-title{
    text-align:center;
    margin-bottom:40px;
}

.section-title span{
    color:#2cab3b;
    text-transform:uppercase;
    letter-spacing:3px;
}

.section-title h2{
    color:#0a3566;
    font-size:42px;
}

/* MOBILE */

@media(max-width:768px){

    .contact-hero h1{
        font-size:40px;
    }

    .contact-main{
        grid-template-columns:1fr;
    }

    .form-row{
        grid-template-columns:1fr;
    }

}
/* ==========================
   FLOATING SOCIAL HUB
========================== */

.social-fab{
    position:fixed;
    right:25px;
    bottom:25px;
    width:65px;
    height:65px;
    z-index:9999;
}

.fab-toggle{
    position:absolute;
    width:65px;
    height:65px;
    border:none;
    border-radius:50%;
    cursor:pointer;

    background:linear-gradient(
        135deg,
        #0a3566,
        #2cab3b
    );

    color:#fff;
    font-size:24px;

    box-shadow:0 12px 35px rgba(0,0,0,.25);

    transition:.4s;
    z-index:10;
}

.fab-toggle:hover{
    transform:scale(1.08);
}

.fab-toggle.active{
    transform:rotate(135deg);
}

/* SOCIAL ICONS */

.social-link{
    position:absolute;

    width:52px;
    height:52px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    text-decoration:none;

    font-size:20px;

    opacity:0;
    visibility:hidden;

    transform:translate(0,0);

    transition:all .4s ease;

    box-shadow:0 8px 25px rgba(0,0,0,.18);
}

.social-link:hover{
    transform:scale(1.12);
}

/* Brand Colors */

.instagram{
    background:#E4405F;
}

.facebook{
    background:#1877F2;
}

.youtube{
    background:#FF0000;
}

.linkedin{
    background:#0A66C2;
}

/* ==========================
   OPEN STATE
   Quarter Circle Layout
========================== */

.social-fab.open .instagram{
    transform:translate(-80px,-10px);
    opacity:1;
    visibility:visible;
}

.social-fab.open .facebook{
    transform:translate(-65px,-75px);
    opacity:1;
    visibility:visible;
}

.social-fab.open .youtube{
    transform:translate(-10px,-105px);
    opacity:1;
    visibility:visible;
}

.social-fab.open .linkedin{
    transform:translate(-115px,-115px);
    opacity:1;
    visibility:visible;
}

/* Mobile */

@media(max-width:768px){

    .social-fab{
        right:15px;
        bottom:15px;
    }

    .fab-toggle{
        width:58px;
        height:58px;
        font-size:20px;
    }

    .social-link{
        width:46px;
        height:46px;
        font-size:18px;
    }

    .social-fab.open .instagram{
        transform:translate(-70px,-10px);
    }

    .social-fab.open .facebook{
        transform:translate(-55px,-65px);
    }

    .social-fab.open .youtube{
        transform:translate(-10px,-90px);
    }

    .social-fab.open .linkedin{
        transform:translate(-95px,-95px);
    }
}

/* =========================
   SCHOOL ASSISTANT
========================= */

.school-assistant{
    position:fixed;
    right:25px;
    bottom:25px;
    z-index:9999;
}

.assistant-toggle{
    width:65px;
    height:65px;
    border:none;
    border-radius:50%;
    cursor:pointer;

    background:linear-gradient(
    135deg,
    #0a3566,
    #2cab3b);

    color:#fff;
    font-size:24px;

    box-shadow:0 10px 30px rgba(0,0,0,.25);
}

.assistant-box{

    position:absolute;
    bottom:80px;
    right:0;

    width:360px;
    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.18);

    display:none;
}

.assistant-box.active{
    display:block;
}

.assistant-header{

    background:#0a3566;

    color:#fff;

    padding:15px 20px;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.assistant-header h4{
    margin:0;
}

.assistant-header span{
    color:#9dd66b;
    font-size:12px;
}

.assistant-header button{

    border:none;
    background:none;
    color:#fff;
    font-size:24px;
    cursor:pointer;
}

.assistant-body{

    padding:20px;
    height:250px;
    overflow-y:auto;
    background:#f8fafc;
}

.bot-message{

    background:#fff;

    padding:15px;

    border-radius:15px;

    margin-bottom:15px;

    box-shadow:0 3px 10px rgba(0,0,0,.05);
}

.assistant-options{

    padding:15px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px;
}

.assistant-options button{

    border:none;

    background:#eef4ff;

    color:#0a3566;

    padding:12px;

    border-radius:10px;

    cursor:pointer;

    font-size:13px;

    font-weight:600;
}

.assistant-options button:hover{

    background:#0a3566;
    color:#fff;
}

@media(max-width:768px){

    .assistant-box{

        width:320px;
        right:0;
    }

}

/* ==========================
   SCHOOL PRELOADER
========================== */

#preloader{
    position:fixed;
    inset:0;
    background:#fff;
    z-index:999999;
    display:flex;
    justify-content:center;
    align-items:center;
}

.loader-wrapper{
    position:relative;
    width:280px;          /* Increased */
    text-align:center;
}

.loader-ring{
    width:200px;          /* Increased */
    height:200px;
    margin:auto;

    border-radius:50%;

    border:6px solid #e8e8e8;
    border-top:6px solid #0a3566;
    border-right:6px solid #2cab3b;

    animation:spin 1.5s linear infinite;
}

.loader-logo{
    width:150px;          /* Increased from 110px */

    position:absolute;

    top:35px;             /* Adjusted */
    left:50%;

    transform:translateX(-50%);
}

.loader-text{
    margin-top:25px;
    color:#0a3566;
    font-weight:600;
    font-size:18px;
    letter-spacing:.5px;
}

@keyframes spin{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}

.achievement-section{
    width:90%;
    margin:70px auto;
}

.achievement-heading{
    text-align:center;
    margin-bottom:50px;
}

.achievement-heading span{
    color:#2cab3b;
    font-weight:600;
}

.achievement-heading h1{
    color:#0a3566;
    margin:10px 0;
}

.achievement-layout{
    display:flex;
    gap:30px;
}

.achievement-sidebar{
    width:280px;
    background:#fff;
    padding:20px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    height:fit-content;
}

.ach-btn{
    width:100%;
    border:none;
    cursor:pointer;
    padding:16px;
    margin-bottom:12px;
    text-align:left;
    border-radius:12px;
    background:#f5f8fc;
    color:#0a3566;
    font-weight:600;
    transition:.3s;
}

.ach-btn.active{
    background:linear-gradient(
    135deg,
    #0a3566,
    #2cab3b);
    color:#fff;
}

.achievement-content{
    flex:1;
}

.ach-content{
    display:none;
}

.ach-content.active{
    display:block;
}

.ach-title{
    color:#0a3566;
    margin-bottom:25px;
    padding-bottom:10px;
    border-bottom:3px solid #2cab3b;
}

.achievement-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:25px;
}

.achievement-card{
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    padding:10px;
}

.achievement-card img{
    width:100%;
    height:auto;
    display:block;
    object-fit:contain;
}

.achievement-card:hover img{
    transform:scale(1.08);
}

@media(max-width:992px){

    .achievement-layout{
        flex-direction:column;
    }

    .achievement-sidebar{
        width:100%;
    }

}
/*sub tabs of transfer*/
.sub-tabs{
    display:flex;
    gap:10px;
    margin:20px 0;
    flex-wrap:wrap;
}

.sub-tab{
    border:none;
    padding:10px 20px;
    border-radius:30px;
    cursor:pointer;
    background:#f2f2f2;
}

.sub-tab.active{
    background:#0d6efd;
    color:#fff;
}

.sub-content{
    display:none;
}

.sub-content.active{
    display:block;
}

/*=========================================
            OUR MENTORS
=========================================*/

.mentor-page{
    width:90%;
    max-width:1400px;
    margin:70px auto;
}

/* Heading */

.mentor-heading{
    text-align:center;
    margin-bottom:50px;
}

.mentor-heading span{
    color:#2cab3b;
    font-size:18px;
    font-weight:600;
    letter-spacing:1px;
}

.mentor-heading h1{
    font-size:42px;
    color:#0a3566;
    margin:12px 0;
}

.mentor-heading p{
    max-width:700px;
    margin:auto;
    color:#666;
    line-height:1.8;
}


/*=========================================
            PRINCIPAL CARD
=========================================*/

.principal-card{

    display:flex;
    align-items:center;
    gap:40px;

    background:#fff;

    padding:35px;

    border-radius:20px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    margin-bottom:60px;

    overflow:hidden;

    position:relative;

}

.principal-card::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:8px;
    height:100%;

    background:linear-gradient(
    #0a3566,
    #2cab3b);

}

.principal-image{

    width:220px;
    flex-shrink:0;

}

.principal-image img{

    width:220px;
    height:220px;

    object-fit:cover;

    border-radius:50%;

    border:6px solid #2cab3b;

}

.principal-info h2{

    color:#0a3566;

    font-size:34px;

    margin-bottom:8px;

}

.principal-info h4{

    color:#2cab3b;

    margin-bottom:15px;

}

.principal-info p{

    color:#555;

    line-height:1.9;

}


/*=========================================
          SECTION TITLE
=========================================*/

.section-title{

    font-size:30px;

    color:#0a3566;

    margin-bottom:25px;

}


/*=========================================
         LEADERSHIP
=========================================*/

.leadership{

    margin-bottom:60px;

}

.leadership-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));

    gap:25px;

}

.leader-card{

    background:#fff;

    padding:25px;

    border-radius:18px;

    text-align:center;

    transition:.35s;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.leader-card:hover{

    transform:translateY(-8px);

}

.leader-card h3{

    color:#0a3566;

    margin-bottom:10px;

    font-size:22px;

}

.leader-card p{

    color:#666;

    margin-bottom:12px;

}

.leader-card span{

    display:inline-block;

    background:#2cab3b;

    color:#fff;

    padding:6px 14px;

    border-radius:30px;

    font-size:13px;

}


/*=========================================
            SEARCH
=========================================*/

.mentor-search{

    margin:40px 0;

}

.mentor-search input{

    width:100%;

    padding:18px 25px;

    border:2px solid #e8e8e8;

    border-radius:50px;

    outline:none;

    font-size:16px;

    transition:.3s;

}

.mentor-search input:focus{

    border-color:#2cab3b;

}


/*=========================================
            DEPARTMENT
=========================================*/

.department{

    margin-bottom:25px;

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.dept-btn{

    width:100%;

    border:none;

    background:#0a3566;

    color:#fff;

    padding:22px 30px;

    cursor:pointer;

    display:flex;

    justify-content:space-between;

    align-items:center;

    font-size:20px;

    font-weight:600;

    transition:.3s;

}

.dept-btn:hover{

    background:#2cab3b;

}

.dept-btn span{

    font-size:28px;

}


/*=========================================
          TEACHERS
=========================================*/

.dept-body{

    padding:25px;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:18px;

}

.teacher{

    background:#f7f9fc;

    padding:18px;

    border-radius:12px;

    transition:.3s;

    border-left:5px solid #2cab3b;

}

.teacher:hover{

    transform:translateY(-5px);

    box-shadow:0 10px 20px rgba(0,0,0,.08);

}

.teacher{

    font-size:18px;

    font-weight:600;

    color:#0a3566;

}

.teacher span{

    display:block;

    margin-top:8px;

    color:#777;

    font-size:14px;

}


/*=========================================
           MOBILE
=========================================*/

@media(max-width:992px){

.principal-card{

    flex-direction:column;

    text-align:center;

}

.principal-image{

    width:170px;

}

.principal-image img{

    width:170px;
    height:170px;

}

.principal-info h2{

    font-size:28px;

}

.section-title{

    text-align:center;

}

}

@media(max-width:768px){

.mentor-page{

    width:94%;

}

.mentor-heading h1{

    font-size:34px;

}

.dept-btn{

    font-size:18px;

    padding:18px;

}

.dept-body{

    grid-template-columns:1fr;

}

.leadership-grid{

    grid-template-columns:1fr;

}

}

/*==============================
        TOP BAR
==============================*/

.tc-top-bar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:25px;

    margin:40px 0;

    flex-wrap:wrap;

}

/* Search */

.tc-search-box{

    flex:2;

    min-width:350px;

    display:flex;

    align-items:center;

    background:#fff;

    border-radius:60px;

    overflow:hidden;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    border:2px solid #e9eef5;

}

.tc-search-box i{

    width:65px;

    height:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    background:linear-gradient(
    135deg,
    #0a3566,
    #2cab3b);

    font-size:20px;

}

.tc-search-box input{

    flex:1;

    border:none;

    outline:none;

    padding:18px;

    font-size:16px;

}

/* Dropdown */

.tc-filter-wrap{

    flex:1;

    min-width:280px;

    display:flex;

    align-items:center;

    background:#fff;

    border-radius:60px;

    overflow:hidden;

    border:2px solid #e9eef5;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.tc-filter-icon{

    width:65px;

    height:60px;

    background:linear-gradient(
    135deg,
    #0a3566,
    #2cab3b);

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:20px;

}

.tc-filter-wrap select{

    flex:1;

    border:none;

    outline:none;

    padding:18px;

    font-size:16px;

    font-weight:600;

    color:#0a3566;

    appearance:none;

    cursor:pointer;

}

/* Mobile */

@media(max-width:768px){

.tc-top-bar{

    flex-direction:column;

}

.tc-search-box,
.tc-filter-wrap{

    width:100%;

    min-width:100%;

}

}

.principal-card{

    display:grid;

    grid-template-columns:320px 1fr;

    gap:45px;

    align-items:center;

    background:#fff;

    padding:40px;

    border-radius:25px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.principal-photo{

    text-align:center;

}

.principal-photo img{

    width:280px;

    height:340px;

    object-fit:cover;

    border-radius:20px;

    border:6px solid #2cab3b;

}

.principal-content span{

    color:#2cab3b;

    font-weight:600;

    letter-spacing:1px;

}

.principal-content h1{

    color:#0a3566;

    margin:10px 0 25px;

}

.principal-content p{

    line-height:2;

    color:#555;

    text-align:justify;

}

.principal-sign{

    margin-top:35px;

}

.principal-sign h3{

    color:#0a3566;

}

.principal-sign p{

    color:#2cab3b;

    font-weight:600;

}

@media(max-width:992px){

.principal-card{

    grid-template-columns:1fr;

    text-align:center;

}

.principal-photo img{

    width:230px;

    height:280px;

}

.principal-content p{

    text-align:left;

}

}

/* Third Level Dropdown */
.has-submenu{
    position:relative;
}

.submenu-right{
    display:none !important;
    position:absolute;
    top:0;
    left:100%;
    min-width:220px;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.15);
    z-index:999;
}

.has-submenu.open > .submenu-right{
    display:block !important;
}


.image-modal{
    display:none;
    position:fixed;
    z-index:9999;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.9);
    justify-content:center;
    align-items:center;
}

.image-modal img{
    max-width:90%;
    max-height:90%;
    border-radius:8px;
    box-shadow:0 0 20px rgba(255,255,255,.3);
}

.close-modal{
    position:absolute;
    top:20px;
    right:35px;
    color:#fff;
    font-size:45px;
    cursor:pointer;
    font-weight:bold;
}

.zoom-img{
    cursor:pointer;
    transition:.3s;
}

.zoom-img:hover{
    transform:scale(1.03);
}

