html{
    scroll-behavior:smooth;
}

body{margin:0;font-family:Arial,sans-serif}

/*==========================
TOP BAR
===========================*/
.top-bar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#4A8F3A;
    z-index:9999;
    padding:12px 0;
}

.top-wrapper{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.top-left{
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    flex-wrap:wrap;
}

.top-left span{
    display:flex;
    align-items:center;
    gap:6px;
}

.top-left a{
    color:#fff;
    text-decoration:none;
}

.top-menu{
    display:flex;
    list-style:none;
    gap:25px;
    margin:0;
    padding:0;
}

.top-menu li{
    list-style:none;
}

.top-menu a{
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.top-menu a:hover{
    color:#FFD56A;
}

.divider{
    color:rgba(255,255,255,.5);
}


@media (max-width:991px){

.top-wrapper{
    flex-direction:column;
    align-items:center;
    gap:12px;
}

.top-left{
    justify-content:center;
    text-align:center;
    font-size:14px;
}

.top-menu{
    justify-content:center;
    flex-wrap:wrap;
    gap:12px 18px;
}

.hero{
    margin-top:110px;
}

}

@media (max-width:576px){

.top-left{
    flex-direction:column;
    gap:6px;
}

.divider{
    display:none;
}

.top-menu{
    gap:10px;
}

.top-menu a{
    font-size:14px;
}

.hero{
    margin-top:145px;
}

}
/*==========================
HERO
===========================*/

.hero{

min-height:100vh;

overflow:hidden;
margin-top:65px;

}

.carousel,

.carousel-inner,

.carousel-item{

height:100%;

}

.carousel-item img{

    width:100%;
    height:100vh;
    object-fit:cover;
    object-position:center;

}



.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.15))}

.hero-content{position:absolute;inset:0;display:flex;align-items:center;z-index:10}

.hero-flex{

    display:flex;
    align-items:center;
    gap:35px;

    max-width:800px;

    margin-left:30px;

    padding:55px 30px;

    
}

/*=========================
ADMISSION
=========================*/

.admission-section{

padding:80px 0 0 280px;

background:#F8F9FA;

}

.admission-tag{

display:inline-block;

background:#4A8F3A;

color:#fff;

padding:8px 22px;

border-radius:30px;

font-weight:600;

margin-bottom:20px;

}

.admission-section h2{

font-size:44px;
font-weight:600;
line-height: 1;

}

.admission-section p{

font-size:20px;

color:#666;

max-width:700px;

}



/*=========================
95 YEARS
=========================*/

.legacy-section{

padding:110px 0 0 180px;

background:#fff;

}

.legacy-logo{

width:200px;

}

.legacy-section h2{

font-size:40px;

font-weight:600;

margin:15px 0;
color:#F58220;

}

.legacy-section h3{

font-size:40px;

color:#F58220;

font-weight:600;

line-height:1.2;

margin-bottom:10px;

}

.legacy-section p{

font-size:20px;

line-height:1.9;

color:#666;

}

/*==================================
WELCOME
==================================*/

.welcome-section{

padding:80px 0;

background:#fff;

}

.welcome-image-box{

overflow:hidden;

border-radius:25px;

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.welcome-image{

transition:.5s;

}

.welcome-image:hover{

transform:scale(1.05);

}

.welcome-section h2{

font-size:46px;

font-weight:600;

margin:20px 0;
color:#4A8F3A;

line-height:1.2;

}

.welcome-section p{

font-size:19px;

line-height:1.9;

color:#666;

margin-bottom:30px;

}

.welcome-list{

list-style:none;

padding:0;

margin-bottom:35px;

}

.welcome-list li{

font-size:18px;

margin-bottom:16px;

}

.welcome-list i{

color:#4A8F3A;

margin-right:10px;

}

/*==================================
WHY CHOOSE US
==================================*/

.why-section{

padding:80px 0;

background:#F8F9FA;

}

.feature-card{

background:#fff;

border-radius:22px;

overflow:hidden;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.4s;

height:100%;
text-align: center;

}

.feature-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 45px rgba(0,0,0,.15);

}

.feature-card img{

width:100%;

height:240px;

object-fit:cover;

transition:.5s;

}

.feature-card:hover img{

transform:scale(1.08);

}

.feature-content{

padding:28px;

}

.feature-content h4{

font-size:24px;

font-weight:700;

margin-bottom:15px;

}

.feature-content p{

font-size:17px;

color:#666;

line-height:1.8;

margin:0;

}

/*==================================
CAMPUS EXPERIENCE
==================================*/

.campus-section{

padding:110px 0;

background:#ffffff;

}

.campus-row{

margin-bottom:90px;

}

.campus-image{

overflow:hidden;

border-radius:25px;

box-shadow:0 20px 45px rgba(0,0,0,.10);

}

.campus-image img{

width:100%;

transition:.5s;

}

.campus-image:hover img{

transform:scale(1.06);

}

.campus-row h3{

font-size:42px;

font-weight:700;

margin-bottom:20px;

color:#222;

}

.campus-row p{

font-size:18px;

line-height:2;

color:#666;

}

/*==================================
ACADEMIC JOURNEY
==================================*/

.journey-section{

padding:110px 0;

background:#F8F9FA;

}

.journey-card{

background:#fff;

padding:40px 25px;

border-radius:20px;

text-align:center;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.3s;

height:100%;

}

.journey-card:hover{

background:#4A8F3A;

color:#fff;

transform:translateY(-8px);

}

.journey-card h4{

font-size:24px;

font-weight:700;

margin-bottom:15px;

}

/*==================================
PHOTO GALLERY
==================================*/

.gallery-section{

padding:110px 0;
	color:#4A8F3A;
	font-size:25px;
background:#fff;

}

.gallery-grid{

display:grid;

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

grid-auto-rows:220px;

gap:20px;

}

.gallery-item{

overflow:hidden;

border-radius:20px;

box-shadow:0 15px 30px rgba(0,0,0,.08);

}

.gallery-item img{

width:100%;

height:100%;

object-fit:cover;

transition:.5s;

}

.gallery-item:hover img{

transform:scale(1.08);

}

.gallery-item.large{

grid-row:span 2;

}

.gallery-item.wide{

grid-column:span 2;

}

.gallery h2{
	

	
}

/*==================================
CONTACT SECTION
==================================*/
.contact-section{

    padding:80px 0;

    overflow:hidden;

}


.contact-card{

    background:#fff;

    padding:40px;

    border-radius:20px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    height:100%;

}

.contact-card h3{

    font-size:34px;

    font-weight:700;

    margin-bottom:15px;

    color:#222;

}

.contact-text{

    color:#666;

    line-height:1.8;

    margin-bottom:35px;

}

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

    margin-bottom:28px;

}

.contact-item i{

    width:60px;

    height:60px;

    min-width:60px;

    border-radius:50%;

    background:#4A8F3A;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

}

.contact-item h5{

    font-size:20px;

    font-weight:700;

    margin-bottom:6px;

    color:#222;

}

.contact-item p{

    margin:0;

    color:#666;

    line-height:1.8;

}

.contact-item a{

    text-decoration:none;

    color:#666;

    font-size:17px;

}

.contact-item a:hover{

    color:#4A8F3A;

}

.map-btn{

    display:inline-block;

    margin-top:20px;

    padding:14px 32px;

    background:#F58220;

    color:#fff;

    border-radius:40px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.map-btn:hover{

    background:#4A8F3A;

    color:#fff;

}

.map-box{

    width:100%;

    height:450px;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.10);

}



.map-box iframe{

    width:100%;

    height:450px;

    border:0;

    display:block;

}

@media(max-width:991px){

    .contact-card{

        margin-bottom:30px;

    }

}

/*==================================
FOOTER
==================================*/
.footer{

    width:100%;

    background:#25592A;

    border-top:4px solid #F58220;

    padding:22px 0;

}

.footer .container-fluid{

    padding:0;

}

.footer p{

    margin:0;

    text-align:center;

    color:#fff;

    font-size:17px;

    font-weight:500;

    letter-spacing:.4px;

}

/*==========================
NEP 2020
===========================*/

.nep-section{

padding:100px 0;

background:#fff;

}

.nep-section .section-title{

font-size:54px;

font-weight:800;

margin-bottom:15px;

}

.nep-section .section-title span{

color:#F58220;

display:block;

font-size:70px;

}

.nep-card{

background:#fff;

border-radius:18px;

padding:35px 20px;

text-align:center;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.nep-card:hover{

background:#4A8F3A;

transform:translateY(-8px);

}

.nep-card i{

font-size:42px;

color:#F58220;

margin-bottom:20px;

}

.nep-card h5{

font-size:22px;

font-weight:700;

color:#222;

margin:0;

}

.nep-card:hover h5{

color:#fff;

}

.nep-card:hover i{

color:#fff;

}

/*==========================
PREAMBLE
===========================*/

.preamble-section{

padding:30px 0;

background:#ffffff;


}

.preamble-left h2{

font-size:48px;

font-weight:800;

margin-bottom:10px;

}

.preamble-left h4{

color:#F58220;

font-style:italic;

margin-bottom:25px;

}

.preamble-left p{

font-size:18px;

line-height:1.9;

color:#666;

}

.preamble-card{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.preamble-card ul{

list-style:none;

padding:0;

margin:0;

}

.preamble-card li{

margin-bottom:20px;

font-size:18px;

position:relative;

padding-left:28px;

line-height:1.6;

}

.preamble-card li:before{

content:"•";

position:absolute;

left:0;

top:0;

font-size:28px;

color:#F58220;

}

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

@media (max-width:991px){

.top-bar{
height:auto;
padding:10px 0;
}

.top-bar .d-flex{
flex-direction:column;
gap:10px;
}

.top-left{
flex-wrap:wrap;
justify-content:center;
font-size:14px;
}

.top-menu{
flex-wrap:wrap;
justify-content:center;
gap:15px;
padding:0;
}

.hero{
margin-top:100px;
}

.contact-card{
margin-bottom:30px;
}

}

@media (max-width:768px){

.hero{
min-height:60vh;
}

.carousel-item img{
height:60vh;
}

section{
padding:60px 0 !important;
}

.admission-section h2,
.legacy-section h2,
.legacy-section h3,
.welcome-section h2,
.section-title,
.preamble-left h2{
font-size:32px !important;
}

.nep-section .section-title span{
font-size:42px;
}

.feature-card img{
height:220px;
}

.feature-content{
padding:20px;
}

.feature-content h4{
font-size:22px;
}

.legacy-logo{
width:150px;
margin-bottom:20px;
}

.legacy-section,
.welcome-section{
text-align:center;
}

.welcome-list{
display:inline-block;
text-align:left;
}

.preamble-card{
padding:25px;
margin-top:25px;
}

.footer p{
font-size:14px;
padding:0 15px;
}

.gallery-grid{
grid-template-columns:1fr;
grid-auto-rows:auto;
}

.gallery-item.large,
.gallery-item.wide{
grid-column:auto;
grid-row:auto;
}

}

/* ==================================================
   ADMISSION ENQUIRY FORM + FLOATING TAB
   ================================================== */

/* Admission enquiry form — matches the school green/orange theme */
.enquiry-section{
    padding:90px 0;
    background:linear-gradient(135deg,#f6faf4 0%,#fffaf5 100%);
    scroll-margin-top:85px;
}
.enquiry-heading{max-width:760px;margin:0 auto 42px}
.enquiry-kicker{
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 18px;border-radius:30px;
    background:#e8f3e4;color:#36752b;font-size:13px;
    font-weight:800;letter-spacing:.5px;text-transform:uppercase;
}
.enquiry-heading h2{
    color:#25592A;font-size:clamp(34px,4vw,48px);
    font-weight:800;margin:18px 0 12px;
}
.enquiry-heading h2 span{color:#F58220}
.enquiry-heading p{color:#687568;font-size:17px;margin:0;line-height:1.7}
.enquiry-layout{
    display:grid;grid-template-columns:.82fr 1.18fr;
    max-width:1100px;margin:0 auto;background:#fff;
    border-radius:24px;overflow:hidden;
    box-shadow:0 18px 50px rgba(37,89,42,.12);
    border:1px solid rgba(74,143,58,.12);
}
.enquiry-welcome{
    background:linear-gradient(155deg,#4A8F3A 0%,#25592A 100%);
    color:#fff;padding:42px 34px;display:flex;flex-direction:column;justify-content:center;
}
.enquiry-icon{
    width:64px;height:64px;display:grid;place-items:center;
    border-radius:18px;background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.24);font-size:30px;margin-bottom:25px;
}
.enquiry-welcome h3{font-size:30px;line-height:1.25;font-weight:800;margin:0 0 16px}
.enquiry-welcome>p{font-size:16px;line-height:1.8;color:rgba(255,255,255,.88);margin:0 0 25px}
.enquiry-welcome ul{list-style:none;margin:0;padding:0;display:grid;gap:15px}
.enquiry-welcome li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5}
.enquiry-welcome li i{color:#FFD56A;margin-top:2px}
.enquiry-contact{
    display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:22px;
    border-top:1px solid rgba(255,255,255,.24);font-size:14px;
}
.enquiry-contact>i{font-size:20px;color:#FFD56A}
.enquiry-contact a{color:#fff;font-weight:800;text-decoration:none}
.enquiry-form-card{padding:0;background:#fff}
.enquiry-form-header{
    display:flex;align-items:center;gap:15px;padding:27px 30px;
    background:#fff;border-bottom:1px solid #edf1e9;
}
.enquiry-form-header-icon{
    flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;
    border-radius:15px;background:#fff0e2;color:#F58220;font-size:24px;
}
.enquiry-form-header h3{font-size:23px;color:#25592A;font-weight:800;margin:0 0 5px}
.enquiry-form-header p{margin:0;color:#758174;font-size:14px}
#admissionEnquiryForm{padding:28px 30px 25px}
#admissionEnquiryForm .form-label{font-size:14px;font-weight:700;color:#2d3b2b;margin-bottom:8px}
#admissionEnquiryForm .form-label span,.enquiry-privacy span{color:#d84343}
#admissionEnquiryForm .form-control,
#admissionEnquiryForm .form-select{
    min-height:48px;border:1px solid #dbe5d6;border-radius:10px;
    padding:11px 13px;color:#263626;background-color:#fff;
    box-shadow:none;font-size:14px;
}
#admissionEnquiryForm textarea.form-control{min-height:112px;resize:vertical}
#admissionEnquiryForm .form-control::placeholder{color:#9aa598}
#admissionEnquiryForm .form-control:focus,
#admissionEnquiryForm .form-select:focus{
    border-color:#4A8F3A;box-shadow:0 0 0 .2rem rgba(74,143,58,.14)
}
.enquiry-subheading{
    padding:11px 13px;border-radius:10px;background:#f0f7ed;
    color:#36752b;font-weight:800;font-size:14px;
}
.enquiry-subheading i{color:#F58220;margin-right:7px}
.enquiry-privacy{font-size:12px;line-height:1.6;color:#778174;margin:18px 0 13px}
.enquiry-submit-btn{
    width:100%;border:0;border-radius:11px;padding:15px 20px;
    background:#F58220;color:#fff;font-size:16px;font-weight:800;
    display:flex;align-items:center;justify-content:center;gap:10px;
    transition:background .2s,transform .2s;box-shadow:0 8px 18px rgba(245,130,32,.2)
}
.enquiry-submit-btn:hover{background:#4A8F3A;transform:translateY(-1px)}
.enquiry-submit-btn:focus-visible{outline:3px solid #4A8F3A;outline-offset:3px}
.enquiry-form-notice{display:none;margin-top:14px;padding:12px 14px;border-radius:9px;font-size:13px;line-height:1.6}
.enquiry-form-notice.is-info{display:block;background:#fff5e9;color:#815018;border:1px solid #f5d8b7}
.enquiry-form-footnote{font-size:11px;color:#8a9587;text-align:center;margin:14px 0 0}
.enquiry-form-footnote i{color:#4A8F3A;margin-right:4px}
@media(max-width:991px){
    .enquiry-layout{grid-template-columns:1fr}
    .enquiry-welcome{padding:32px}
    .enquiry-welcome h3{font-size:26px}
    .enquiry-welcome ul{grid-template-columns:1fr 1fr}
}
@media(max-width:575px){
    .enquiry-section{padding:58px 0}
    .enquiry-heading{margin-bottom:28px;padding:0 8px}
    .enquiry-heading p{font-size:15px}
    .enquiry-welcome{padding:27px 23px}
    .enquiry-welcome ul{grid-template-columns:1fr}
    .enquiry-form-header{padding:22px 20px}
    .enquiry-form-header h3{font-size:20px}
    #admissionEnquiryForm{padding:22px 20px}
}




/* Floating enquiry button and popup */
.floating-enquiry-btn{
    position:fixed;
    top:50%;
    right:0;
    transform:translateY(-50%);
    z-index:10000;
    width:58px;
    height:174px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    padding:16px 0 0;
    border:0;
    border-radius:12px 0 0 12px;
    background:#F58220;
    color:#fff;
    font-size:15px;
    font-weight:800;
    box-shadow:0 8px 24px rgba(0,0,0,.22);
    cursor:pointer;
    overflow:hidden;
    transition:background .2s ease;
}
.floating-enquiry-btn i{
    display:block;
    flex:0 0 auto;
    font-size:20px;
    line-height:24px;
    color:#fff;
}
.floating-enquiry-btn span{
    position:absolute;
    left:50%;
    top:108px;
    display:block;
    width:132px;
    margin:0;
    text-align:center;
    white-space:nowrap;
    color:#fff;
    transform:translate(-50%,-50%) rotate(-90deg);
    transform-origin:center;
}
.floating-enquiry-btn:hover{
    background:#4A8F3A;
}
@media(max-width:600px){
    .floating-enquiry-btn{
        top:50%;
        right:0;
        bottom:auto;
        transform:translateY(-50%);
        width:52px;
        height:160px;
        padding-top:13px;
        border-radius:11px 0 0 11px;
        font-size:13px;
    }
    .floating-enquiry-btn i{font-size:18px;line-height:22px}
    .floating-enquiry-btn span{
        top:99px;
        width:122px;
    }
}

.floating-enquiry-btn:focus-visible,.enquiry-popup-close:focus-visible{
    outline:3px solid #25592A;outline-offset:3px;
}
.enquiry-popup{position:fixed;inset:0;z-index:10001;display:none;
    align-items:center;justify-content:center;padding:16px}
.enquiry-popup.is-open{display:flex}
.enquiry-popup-backdrop{position:absolute;inset:0;background:rgba(13,25,14,.62)}
.enquiry-popup-dialog{position:relative;z-index:1;width:min(100%,620px);
    max-height:92vh;overflow-y:auto;background:#fff;border-radius:18px;
    box-shadow:0 24px 70px rgba(0,0,0,.28)}
.enquiry-popup-close{position:absolute;right:13px;top:10px;z-index:2;
    width:38px;height:38px;border:0;border-radius:50%;background:#f1f5ef;
    color:#25592A;font-size:28px;line-height:1;cursor:pointer}
.popup-form-card{width:100%;padding:0;background:#fff}
.popup-form-header{display:block;padding:24px 58px 18px 28px;
    background:#fff;border-bottom:1px solid #edf1e9}
.popup-form-header h3{font-size:23px;color:#25592A;font-weight:800;margin:0}
#admissionEnquiryForm{padding:24px 28px 26px}
body.enquiry-popup-open{overflow:hidden}
@media(max-width:575px){
    .floating-enquiry-btn{right:14px;bottom:14px;padding:13px 18px;font-size:14px}
    .enquiry-popup{padding:8px}
    .enquiry-popup-dialog{max-height:94vh;border-radius:15px}
    .popup-form-header{padding:21px 54px 16px 20px}
    .popup-form-header h3{font-size:20px}
    #admissionEnquiryForm{padding:18px 20px 22px}
}
