/* Minification failed. Returning unminified contents.
(2,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(4,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(26,17): run-time error CSS1039: Token not allowed after unary operator: '-text-dark'
(43,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(47,35): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(55,21): run-time error CSS1039: Token not allowed after unary operator: '-gold-light'
(112,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(119,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(126,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-red'
(144,21): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(154,30): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(159,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(166,26): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(167,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(182,26): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(202,21): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(211,30): run-time error CSS1039: Token not allowed after unary operator: '-cream'
(212,25): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(250,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(270,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(291,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(302,28): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(307,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(326,28): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(327,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(345,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(374,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(411,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(437,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(451,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(474,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(482,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(489,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(497,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(507,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(580,25): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(599,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(620,22): run-time error CSS1039: Token not allowed after unary operator: '-cream'
(621,33): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(626,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(641,21): run-time error CSS1039: Token not allowed after unary operator: '-text-dark'
(645,25): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(669,26): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(686,22): run-time error CSS1039: Token not allowed after unary operator: '-cream'
(696,22): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(701,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(711,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(717,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(724,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(772,31): run-time error CSS1046: Expect comma, found '255'
(772,39): run-time error CSS1046: Expect comma, found '/'
(798,28): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(805,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(814,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(820,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(845,46): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(849,28): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(854,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(860,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(867,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(876,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(890,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(914,28): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(919,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(965,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(992,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1031,28): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1039,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1044,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1118,32): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1128,21): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(1135,21): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1160,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1165,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(1175,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1196,32): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1200,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1242,25): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1263,26): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1276,25): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1278,36): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1282,30): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1283,32): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1284,25): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(1438,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(1493,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1514,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1548,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1650,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1738,22): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(1767,17): run-time error CSS1039: Token not allowed after unary operator: '-blue'
(1773,21): run-time error CSS1039: Token not allowed after unary operator: '-blue'
(1794,26): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(1892,17): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(1944,26): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(1953,30): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(1990,30): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(2109,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(2308,22): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(2328,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(2750,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(2871,32): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(2888,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(2898,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(2929,32): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(2943,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(2959,32): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3000,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3017,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3066,32): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3096,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3131,21): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3150,26): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3199,170): run-time error CSS1039: Token not allowed after unary operator: '-parchment'
(3227,64): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3227,79): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3250,46): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(3250,62): run-time error CSS1039: Token not allowed after unary operator: '-navy-deep'
(3282,135): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(3282,151): run-time error CSS1039: Token not allowed after unary operator: '-navy-deep'
(3312,25): run-time error CSS1046: Expect comma, found '42'
(3312,30): run-time error CSS1046: Expect comma, found ')'
(3355,22): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3397,46): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3398,17): run-time error CSS1039: Token not allowed after unary operator: '-parchment'
(3444,30): run-time error CSS1039: Token not allowed after unary operator: '-parchment'
(3552,46): run-time error CSS1039: Token not allowed after unary operator: '-navy'
(3556,28): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(3561,17): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(8061,25): run-time error CSS1039: Token not allowed after unary operator: '-gold'
(8116,25): run-time error CSS1039: Token not allowed after unary operator: '-gold'
 */
:root {
    --navy: #01356c;
    --gold: #c09634;
    --gold-light: #e8c97a;
    --cream: #fef2d6;
    --white: #ffffff;
    --text-dark: #1a1a2e;
    --text-muted: black;
    --accent-red: #aa453d;
    --green: #1a6b4a;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

a {
    text-decoration: none !important;
}

body {
    font-family: Poppins, sans-serif !important;
    color: var(--text-dark);
    background: #fff;
    width: 100%;
    /*overflow-x: hidden;*/
}

body, html {
    width: 100%;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5 {
    font-family: Poppins, sans-serif !important;
}

/* ====== TOP BAR ====== */
.top-bar {
    background: var(--gold);
    color: rgba(255,255,255,0.8);
    font-size: 12px;
    padding: 7px 0;
    border-bottom: 2px solid var(--gold);
}

    .top-bar span {
        font-size: 16px;
    }

    .top-bar a {
        color: var(--gold-light);
        text-decoration: none;
        font-size: 16px;
    }

        .top-bar a:hover {
            color: #fff;
        }

    .top-bar .divider {
        border-left: 1px solid rgba(255,255,255,0.2);
        margin: 0 12px;
    }

/* ====== NAVBAR ====== */
.navbar-main {
    background: #fff;
    padding: 14px 0;
    box-shadow: 0 2px 20px rgba(0,0,0,0.08);
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: all 0.3s;
}

nav .offcanvas-body {
    padding-left: 30px;
}

.navbar-main.scrolled {
    padding: 8px 0;
    box-shadow: 0 4px 30px rgba(0,0,0,0.12);
}

.logo-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.logo-icon {
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .logo-icon img {
        max-width: 100%;
    }

    .logo-icon span {
        font-family: Poppins, sans-serif;
        font-size: 22px;
        font-weight: 900;
        color: var(--gold);
        letter-spacing: -1px;
    }

.logo-text h4 {
    font-size: 30px;
    font-weight: 700;
    color: var(--navy);
    margin: 0;
    line-height: 1.1;
}

.logo-text p {
    font-size: 10px;
    color: var(--accent-red);
    margin: 0;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 600;
}
.logo img{
    width:300px;
}
.nav-links {
    list-style: none;
    display: flex;
    gap: 4px;
    margin: 0;
}

    .nav-links a {
        text-decoration: none;
        color: var(--navy);
        font-size: 13.5px;
        font-weight: 500;
        padding: 8px 14px;
        border-radius: 6px;
        transition: all 0.2s;
        display: block;
    }

        .nav-links a:hover, .nav-links a.active {
            background: var(--navy);
            color: white;
        }

.btn-admit {
    background: var(--gold);
    color: white !important;
    font-weight: 700 !important;
    padding: 10px 22px !important;
}

    .btn-admit:hover {
        background: var(--navy) !important;
        color: var(--gold) !important;
    }

.hamburger {
    display: none;
    cursor: pointer;
    background: none;
    border: none;
    flex-direction: column;
    gap: 5px;
}

    .hamburger span {
        width: 26px;
        height: 2px;
        background: var(--navy);
        display: block;
        transition: all 0.3s;
        border-radius: 2px;
    }

.mobile-menu {
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 16px 0;
    border-top: 1px solid #eee;
}

    .mobile-menu.open {
        display: flex;
    }

    .mobile-menu a {
        text-decoration: none;
        color: var(--navy);
        font-size: 14px;
        font-weight: 500;
        padding: 10px 16px;
        border-radius: 6px;
        transition: all 0.2s;
    }

        .mobile-menu a:hover {
            background: var(--cream);
            color: var(--gold);
        }

/* ====== HERO ====== */


.hero-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #0a1628 0%, #1a3a5c 40%, #0d2240 100%);
}

.hero-pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 20% 80%, rgba(201,168,76,0.08) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(201,168,76,0.06) 0%, transparent 50%);
}

.hero-grid {
    position: absolute;
    inset: 0;
    opacity: 0.04;
    background-image: linear-gradient(rgba(255,255,255,0.5) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.5) 1px, transparent 1px);
    background-size: 60px 60px;
}

.hero-content {
    position: relative;
    z-index: 2;
    padding: 80px 0;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(201,168,76,0.12);
    border: 1px solid rgba(201,168,76,0.3);
    color: var(--gold);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 24px;
    animation: fadeInDown 0.6s ease;
}

.hero h1 {
    font-size: clamp(36px, 5vw, 68px);
    color: #fff;
    line-height: 1.1;
    margin-bottom: 24px;
    animation: fadeInUp 0.7s ease 0.1s both;
}

    .hero h1 em {
        color: var(--gold);
        font-style: normal;
    }

.hero p {
    font-size: 17px;
    color: rgba(255,255,255,0.72);
    line-height: 1.7;
    max-width: 540px;
    margin-bottom: 36px;
    animation: fadeInUp 0.7s ease 0.2s both;
}

.hero-btns {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    animation: fadeInUp 0.7s ease 0.3s both;
}

.btn-gold {
    background: var(--gold);
    color: white;
    padding: 14px 32px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 2px solid var(--gold);
}

    .btn-gold:hover {
        background: transparent;
        color: var(--gold);
    }

.btn-outline-w {
    background: transparent;
    color: #fff;
    padding: 14px 32px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    border: 2px solid rgba(255,255,255,0.3);
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

    .btn-outline-w:hover {
        border-color: var(--gold);
        color: var(--gold);
    }

.hero-stats {
    display: flex;
    gap: 40px;
    margin-top: 50px;
    animation: fadeInUp 0.7s ease 0.4s both;
}

.hero-stat {
    text-align: left;
}

    .hero-stat .num {
        font-family: Poppins, sans-serif;
        font-size: 36px;
        font-weight: 900;
        color: var(--gold);
        line-height: 1;
    }

    .hero-stat .lbl {
        font-size: 12px;
        color: rgba(255,255,255,0.55);
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-top: 4px;
    }

.hero-visual {
    position: relative;
    animation: fadeInRight 0.8s ease 0.3s both;
}

.hero-card-main {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(201,168,76,0.2);
    border-radius: 20px;
    padding: 36px;
    backdrop-filter: blur(10px);
}

    .hero-card-main .card-title {
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: 2px;
        color: var(--gold);
        margin-bottom: 20px;
        font-weight: 600;
    }



.quick-link-item {
    display: flex;
    align-items: center;
    gap: 14px;
    background: rgba(255,255,255,0.05);
    border-radius: 10px;
    padding: 14px 16px;
    text-decoration: none;
    transition: all 0.3s;
    border: 1px solid transparent;
    cursor: pointer;
}

    .quick-link-item:hover {
        background: rgba(201,168,76,0.1);
        border-color: rgba(201,168,76,0.3);
    }

.ql-icon {
    width: 40px;
    height: 40px;
    background: rgba(201,168,76,0.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .ql-icon i {
        color: var(--gold);
        font-size: 16px;
    }

.ql-text h6 {
    color: #fff;
    font-size: 14px;
    margin: 0 0 2px;
    font-weight: 600;
    font-family: Poppins, sans-serif;
}

.ql-text p {
    color: rgba(255,255,255,0.45);
    font-size: 11px;
    margin: 0;
}

.ql-arrow {
    color: rgba(255,255,255,0.3);
    margin-left: auto;
    font-size: 14px;
    transition: all 0.3s;
}

.quick-link-item:hover .ql-arrow {
    color: var(--gold);
    transform: translateX(4px);
}

.notice-ticker {
    background: rgba(201,168,76,0.08);
    border: 1px solid rgba(201,168,76,0.2);
    border-radius: 10px;
    padding: 14px 16px;
    margin-top: 14px;
}

    .notice-ticker .ticker-label {
        font-size: 10px;
        color: var(--gold);
        letter-spacing: 2px;
        text-transform: uppercase;
        font-weight: 700;
        margin-bottom: 8px;
    }

    .notice-ticker p {
        color: rgba(255,255,255,0.7);
        font-size: 12px;
        margin: 0;
        line-height: 1.5;
    }

/* ====== SECTIONS ====== */
section {
    padding: 40px 0 40px 0px;
}

.section-label {
    font-size: 16px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 800;
    margin-bottom: 12px;
    text-align: center;
}

.section-title {
    font-size: clamp(33px, 4vw, 44px);
    color: var(--navy);
    line-height: 1.15;
    margin-bottom: 16px;
}

.section-desc {
    font-size: 16px;
    color: var(--text-muted);
    line-height: 1.7;
    max-width: 600px;
}

.gold-line {
    width: 60px;
    height: 3px;
    background: var(--gold);
    margin: 20px 0;
    border-radius: 2px;
}




/* ====== STATS BAR ====== */
.stats-bar {
    background: var(--gold);
    padding: 40px 0;
}

.stat-item {
    text-align: center;
}

    .stat-item .num {
        font-family: Poppins, sans-serif;
        font-size: 44px;
        font-weight: 900;
        color: white;
        line-height: 1;
    }

    .stat-item .lbl {
        font-size: 14px;
        color: white;
        font-weight: 600;
        margin-top: 6px;
        opacity: 0.75;
    }

.stat-divider {
    border-left: 1px solid rgba(10,22,40,0.15);
}

/* ====== ABOUT ====== */
.about-img-wrap {
    position: relative;
}

.about-img-main {
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(135deg, #0f2068cf, #1a3a5ce0), url(/Asset/img/Sliders/1.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 460px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.about-img-inner {
    text-align: center;
    padding: 40px;
}

    .about-img-inner .school-emblem {
        /*  width: 120px;
        height: 120px;
        background: rgba(201,168,76,0.1);
        border: 2px solid var(--gold);
        border-radius: 50%;*/
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 20px;
    }

        .about-img-inner .school-emblem img {
            max-width: 100%;
            border-radius: 100%;
        }

        .about-img-inner .school-emblem span {
            font-family: Poppins, sans-serif;
            font-size: 42px;
            font-weight: 900;
            color: var(--gold);
        }

    .about-img-inner h3 {
        color: #fff;
        font-size: 35px;
        margin-bottom: 8px;
        font-weight: 700;
    }

    .about-img-inner p {
        color: white;
        font-size: 14px;
    }

.about-badge {
    position: absolute;
    bottom: -20px;
    right: -20px;
    background: var(--gold);
    border-radius: 12px;
    padding: 20px 24px;
    box-shadow: 0 10px 40px rgba(201,168,76,0.3);
}

    .about-badge .num {
        font-family: Poppins, sans-serif;
        font-size: 36px;
        font-weight: 900;
        color: white;
        line-height: 1;
    }

    .about-badge .lbl {
        font-size: 12px;
        color: white;
        font-weight: 600;
    }

.about-quote {
    background: var(--cream);
    border-left: 4px solid var(--gold);
    border-radius: 8px;
    padding: 20px 24px;
    margin: 24px 0;
    font-style: italic;
    color: var(--navy);
    font-size: 15px;
}

.about-list {
    list-style: none;
    padding: 0;
}

    .about-list li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 8px 0;
        font-size: 15px;
        color: var(--text-dark);
    }

        .about-list li i {
            color: var(--gold);
            margin-top: 2px;
            flex-shrink: 0;
        }

/* ====== FEATURES ====== */
.feature-card {
    background: #fff;
    border-radius: 16px;
    padding: 32px 28px;
    height: 100%;
    border: 1px solid #f0ece4;
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
}

    .feature-card::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: var(--gold);
        transform: scaleX(0);
        transition: transform 0.3s;
    }

    .feature-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 50px rgba(0,0,0,0.1);
    }

        .feature-card:hover::before {
            transform: scaleX(1);
        }

.feature-icon {
    width: 56px;
    height: 56px;
    background: var(--cream);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    transition: all 0.3s;
}

.feature-card:hover .feature-icon {
    background: var(--navy);
}

.feature-icon i {
    font-size: 24px;
    color: var(--navy);
    transition: all 0.3s;
}

.feature-card:hover .feature-icon i {
    color: white;
}

.feature-card h5 {
    font-size: 18px;
    color: var(--navy);
    margin-bottom: 10px;
}

.feature-card p {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.6;
    margin: 0;
}

/* ====== FACILITIES ====== */
.facility-card {
    background: var(--gold);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s;
    height: 100%;
}

    .facility-card:hover {
        transform: translateY(-6px);
    }

.facility-img {
    max-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    position: relative;
    overflow: hidden;
}

    .facility-img img {
        min-height: 300px;
        object-fit: cover;
    }

.facility-body {
    padding: 24px;
}

    .facility-body h5 {
        color: white;
        font-size: 18px;
        margin-bottom: 8px;
        font-weight: 800;
    }

    .facility-body p {
        color: rgba(255,255,255,0.65);
        font-size: 13px;
        line-height: 1.6;
        margin: 0;
    }

.facility-tag {
    display: inline-block;
    /* background: rgba(201, 168, 76, 0.1); */
    color: white;
    border: 1px solid rgb(255 255 255 / 61%);
    border-radius: 4px;
    font-size: 11px;
    padding: 5px 10px 3px 10px;
    margin-top: 12px;
    letter-spacing: 1px;
    font-weight: 600;
}

/* ====== ACHIEVEMENTS ====== */

.achieve-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #f0ece4;
    margin-bottom: 16px;
    align-items: center;
    transition: all 0.3s;
}

    .achieve-item:hover {
        box-shadow: 0 8px 30px rgba(0,0,0,0.08);
        border-color: var(--gold);
    }

.achieve-num {
    font-family: Poppins, sans-serif;
    font-size: 29px;
    font-weight: 900;
    color: var(--gold);
    line-height: 1;
    flex-shrink: 0;
    width: 70px;
    text-align: center;
}

.achieve-text h5 {
    font-size: 17px;
    color: var(--navy);
    margin-bottom: 6px;
}

.achieve-text p {
    font-size: 13px;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.5;
}

/* ====== LEADERSHIP ====== */
.leader-card {
    text-align: center;
    padding: 10px 24px;
    background: #fff;
    border-radius: 16px;
    border: 4px solid #f0ece4;
    transition: all 0.3s;
    height: 100%;
}

    .leader-card:hover {
        box-shadow: 0 20px 50px rgba(0,0,0,0.08);
    }

.leader-avatar img {
    width: 200px;
    height: 200px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--navy), #1a3a5c);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--gold);
    font-size: 36px;
    font-family: Poppins, sans-serif;
    font-weight: 900;
    object-fit: cover;
    color: var(--gold);
    object-position: top;
}

.leader-card h5 {
    font-size: 18px;
    color: var(--navy);
    margin-bottom: 4px;
    margin-top: 20px;
}

.leader-role {
    font-size: 12px;
    color: var(--gold);
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.leader-card p {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.6;
}

/* ====== TESTIMONIALS ====== */
.testi-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(201,168,76,0.2);
    border-radius: 16px;
    padding: 32px;
    height: 100%;
}

.testi-stars {
    color: var(--gold);
    font-size: 14px;
    margin-bottom: 16px;
}

.testi-card p {
    color: rgba(255,255,255,0.75);
    font-size: 14px;
    line-height: 1.7;
    font-style: italic;
    margin-bottom: 20px;
}

.testi-author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.testi-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(201,168,76,0.2);
    border: 2px solid var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--gold);
    font-weight: 700;
    flex-shrink: 0;
    font-family: Poppins, sans-serif;
}

.testi-author h6 {
    color: #fff;
    margin: 0;
    font-size: 14px;
    font-family: Poppins, sans-serif;
}

.testi-author span {
    color: rgba(255,255,255,0.45);
    font-size: 12px;
}

/* ====== ADMISSION ====== */
.admission-section, #about, .visionmission {
    background: #fef2d682;
    position: relative;
    overflow: hidden;
}

    .admission-section::before, #about::before {
        content: '';
        position: absolute;
        top: -60px;
        right: -60px;
        width: 300px;
        height: 300px;
        border-radius: 50%;
        background: rgba(201,168,76,0.06);
    }

.admission-step {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
}

.step-num {
    width: 36px;
    height: 36px;
    background: var(--gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    color: white;
    font-size: 14px;
    flex-shrink: 0;
    font-family: Poppins, sans-serif;
}

.step-text h6 {
    color: black;
    font-size: 15px;
    margin-bottom: 4px;
    font-family: Poppins, sans-serif;
    font-weight: 600;
}

.step-text p {
    color: black;
    font-size: 13px;
    margin: 0;
}

.admission-form-card {
    background: var(--gold);
    border: 1px solid rgba(201,168,76,0.25);
    border-radius: 20px;
    padding: 36px;
    backdrop-filter: blur(10px);
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

    .admission-form-card h4 {
        color: white;
        font-size: 22px;
        margin-bottom: 6px;
    }

.form-input::placeholder {
    color: white !important;
}

.admission-form-card .subtitle {
    color: white;
    font-size: 13px;
    margin-bottom: 24px;
}

.form-input {
    background: #dcdcdc6b;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    padding: 12px 16px;
    color: white;
    font-size: 14px;
    width: 100%;
    margin-bottom: 14px;
    outline: none;
    transition: border 0.2s;
    font-family: Poppins, sans-serif;
}

    .form-input:focus {
        border-color: var(--gold);
    }

    .form-input::placeholder {
        color: rgba(255,255,255,0.35);
    }

select.form-input option {
    background: var(--gold);
}

.btn-submit {
    background: white;
    color: var(--gold);
    border: none;
    border-radius: 8px;
    padding: 14px 24px;
    font-weight: 700;
    font-size: 15px;
    width: 100%;
    cursor: pointer;
    transition: all 0.3s;
    font-family: Poppins, sans-serif;
}

    .btn-submit:hover {
        background: #e8c97a;
        transform: translateY(-2px);
    }

.gallery-item {
    position: relative;
    overflow: hidden;
}

    .gallery-item::after,
    .gallery-bg::before {
        pointer-events: none;
    }

    .gallery-item:hover::after {
        opacity: 1;
        transform: scale(.96);
    }

    .gallery-item:hover img {
        transform: scale(1.08);
    }

.gallery-bg {
    position: relative;
    overflow: hidden;
    margin-top: 10px;
}

    .gallery-bg::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 60%;
        height: 100%;
        background: linear-gradient( 120deg, transparent, rgba(255,255,255,.45), transparent );
        transform: skewX(-25deg);
        transition: .8s;
        z-index: 2;
    }

.gallery-item:hover .gallery-bg::before {
    left: 150%;
}

.gallery-item:hover img {
    transform: scale(1.08);
}

.gallery-bg img {
    min-height: 250px;
    max-height: 300px;
    object-fit: cover;
}
/* ====== VISION ====== */
.vision-card {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    height: 100%;
    border-top: 4px solid var(--gold);
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

    .vision-card .icon {
        font-size: 36px;
        margin-bottom: 16px;
    }

    .vision-card h4 {
        color: var(--navy);
        font-weight: bold;
        font-size: 20px;
        margin-bottom: 14px;
    }

    .vision-card p {
        color: var(--text-muted);
        font-size: 14px;
        line-height: 1.7;
    }

/* ====== CONTACT ====== */
.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
}

.contact-icon {
    width: 48px;
    height: 48px;
    background: rgba(201,168,76,0.1);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .contact-icon i {
        color: var(--gold);
        font-size: 18px;
    }

.contact-item h6 {
    color: var(--navy);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 4px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: Poppins, sans-serif;
}

.contact-item p {
    color: var(--text-muted);
    font-size: 14px;
    margin: 0;
    line-height: 1.5;
}

.map-placeholder {
    border-radius: 16px;
    overflow: hidden;
    height: 280px;
    background: linear-gradient(135deg, #e8f4f8, #d0e8f0);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #e0e8ef;
}

/* ====== FOOTER ====== */
.footer {
    color: rgba(255,255,255,0.7);
    padding: 60px 0 0;
    border-top: 3px solid var(--gold);
}

    .footer h5 {
        color: var(--gold);
        font-size: 14px;
        letter-spacing: 2px;
        text-transform: uppercase;
        margin-bottom: 20px;
        font-family: Poppins, sans-serif;
        font-weight: 700;
    }

.footer-logo h3 {
    color: #fff;
    font-size: 24px;
    margin-bottom: 8px;
}

.footer-logo p {
    font-size: 13px;
    line-height: 1.7;
    max-width: 280px;
    color: black;
}

.footer-links {
    list-style: none;
    padding: 0;
}



    .footer-links li {
        margin-bottom: 10px;
        color: black;
    }

    .footer-links a {
        color: black;
        text-decoration: none;
        font-size: 14px;
        transition: color 0.2s;
    }

        .footer-links a:hover {
            color: var(--gold);
        }

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding: 14px 0;
    margin-top: 40px;
    text-align: center;
    font-size: 13px;
    color: rgba(255,255,255,0.4);
}

.social-links {
    display: flex;
    gap: 10px;
    /*margin-top: 16px;*/
}

    .social-links a {
        width: 36px;
        height: 36px;
        background: var(--gold);
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        text-decoration: none;
        font-size: 15px;
        transition: all 0.2s;
    }

        .social-links a:hover {
            color: var(--gold) !important;
            background: white !important;
            border: 1px solid var(--gold);
        }

        .social-links a:hover {
            background: var(--gold);
            border-color: var(--gold);
            color: var(--navy);
        }

/* ====== ANIMATIONS ====== */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(40px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* ====== RESPONSIVE ====== */
@media (max-width: 991px) {
    .banner-section {
        max-height: 300px !important;
    }

    .hero {
        min-height: auto;
    }

    .hero-content {
        padding: 60px 0;
    }

    .hero-stats {
        gap: 24px;
    }

    .about-badge {
        right: 0;
        bottom: 0;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery-item.wide {
        grid-column: span 1;
        aspect-ratio: 1;
    }

    .gallery-item.tall {
        grid-row: span 1;
    }



    .nav-links, .btn-admit-wrap {
        display: none;
    }

    .hamburger {
        display: flex;
    }
}

.menu-bar i {
    color: white;
}

@media (max-width: 767px) {
    .video-item iframe, .video-gallery {
        min-height: 250px !important;
    }

    body, html {
        overflow-x: hidden;
    }

    .stat-item .num {
        font-size: 30px;
    }

    button.menu-btn .menu-bar, .nav-cta-btn span.icon {
        width: 35px !important;
        height: 35px !important;
    }

    .menu-bar i, .icon i {
        color: white;
        font-size: 14px;
    }

    .quick-link ul li {
        padding-right: 1rem !important;
    }

        .quick-link ul li a {
            padding: 9px 6px !important;
        }

    .quick-link li {
        margin: 10px 0px;
    }

    .offcanvas.offcanvas-end {
        width: 100vw !important;
    }

    .top-bar .d-md-inline {
        display: none !important;
    }

    .hero-stats {
        flex-wrap: wrap;
        gap: 20px;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stat-divider {
        border-left: none;
    }

    .hero h1 {
        font-size: 32px;
    }
}

.navbar h5 {
    color: var(--navy);
    font-weight: 800;
}

.navbar small {
    color: #b94b3b;
}

.navbar-toggler:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important
}

.event-card {
    width: 98%;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 1px 1px 24px rgba(0, 0, 0, 0.09);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    font-family: inherit;
    margin: 6px;
}

    .event-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 32px rgba(0, 0, 0, 0.14);
    }

/* Image Area */
.event-card-img {
    position: relative;
    width: 100%;
    max-height: 642px;
    overflow: hidden;
}

    .event-card-img img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        transition: transform 0.4s ease;
    }

.event-card:hover .event-card-img img {
    transform: scale(1.05);
}

/* Tag Badge */
.event-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--gold, #c9a84c);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 50px;
}

/* Card Body */
.event-card-body {
    padding: 18px 20px 22px;
}

.event-date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--gold, #c9a84c);
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.event-heading {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.4;
}



.leader-card {
    contain-intrinsic-size: 400px;
}

.vision-card {
    contain-intrinsic-size: 300px;
}

.form-input {
    min-height: 44px;
}


.quick-links .service-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--gold);
    border-radius: 15px;
    padding: 25px 15px;
    text-decoration: none;
    text-align: center;
    height: 100%;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    border: 1px solid #f1f1f1;
}

    .quick-links .service-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 12px 30px rgba(0,0,0,0.15);
    }

.quick-links .card-icon {
    width: 80px;
    height: 80px;
    background: #f8f9fa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

    .quick-links .card-icon img {
        max-width: 45px;
        max-height: 45px;
    }

.quick-links h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: white;
}

@media (max-width: 576px) {
    .quick-links .service-card {
        padding: 20px 10px;
    }

    .quick-links .card-icon {
        width: 65px;
        height: 65px;
    }

        .quick-links .card-icon img {
            max-width: 35px;
        }

    .quick-links h5 {
        font-size: 14px;
    }
}


.achievement-card {
    display: block;
    background: #fff;
    border-radius: 20px;
    padding: 25px 15px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    transition: .35s ease;
    height: 100%;
}

    .achievement-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 40px rgba(0,0,0,.15);
    }

.achievement-icon {
    width: 120px;
    height: 120px;
    margin: 0 auto 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff8ec;
    border-radius: 50%;
    padding: 18px;
}

    .achievement-icon img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        filter: invert(0.4);
    }

.achievement-card h5 {
    color: #1f2937;
    font-weight: 700;
    font-size: 16px;
    margin: 0;
}

.achievement-card:hover h5 {
    color: var(--gold);
}

#achievements {
    position: relative;
}

.AboutUsbg {
    position: absolute;
    top: 30px;
    left: -40px;
    opacity: .70;
    z-index: 0;
}

#academics {
    position: relative;
}

.academics {
    position: absolute;
    top: -100px;
    right: 103px;
    opacity: .70;
    z-index: 0;
    rotate: 154deg;
}

.float-bob-x img {
    width: 400px !important
}

#about {
    background: white !important;
}

#facilities {
    position: relative;
}

.whychoose {
    position: absolute;
    top: 0;
    right: 0px;
    opacity: .50;
    z-index: 0;
}

/* header css start */
header {
    z-index: 999;
    /* transition: 1.7s all ease-in-out; */
    position: relative;
    background: #fff;
}

.header.headerBg {
    z-index: -1;
    opacity: 1;
    width: 100%;
    right: 0;
    left: 0;
    text-align: center;
    margin: auto;
    top: -100%;
}


.nav-btn-wrapper {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 14px;
}


.nav-btn-wrapper {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 14px;
}

    .nav-btn-wrapper .nav-btn, .nav-btn-wrapper .menu-btn {
        height: 70px;
    }

.nav-cta-btn span.icon {
    background: var(--navy);
    width: 55px;
    border-radius: 50%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s all ease-in-out;
}

.nav-cta-btn .icon i {
    color: white;
}

.nav-cta-btn span.icon img {
    width: 16px;
    height: 16px;
}

.nav-cta-btn span.login-text {
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-cta-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--blue);
    font-weight: 500;
    font-size: 18px;
}

    .nav-cta-btn:hover {
        color: var(--blue);
    }

        .nav-cta-btn:hover span {
            width: 60px;
            height: 58px;
        }

button.menu-btn {
    border: none;
    background: #d9a51b;
    font-size: 18px;
    font-weight: 500;
    color: white;
    display: flex;
    align-items: center;
    gap: 10px;
}


    button.menu-btn .menu-bar {
        background: var(--navy);
        width: 50px;
        height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        z-index: 9999;
        flex-direction: column;
        gap: 5px;
        transition: .5s all ease-in-out;
    }

        button.menu-btn .menu-bar:hover {
            width: 59px;
            height: 54px;
        }




.menu-bar span.bar {
    background: #fff;
    width: 22px;
    height: 2px;
    display: block;
    position: relative;
    transition: .5s ease-in-out;
}


#offcanvasExample .offcanvas-header button {
    margin: 0 10px;
    font-size: 18px;
}

.navbar_header {
    width: 100%;
    display: block;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    background: #0c7052;
}

.MenuBar {
    padding: 0;
    margin: 0;
    /*background: #0c7052;*/
    list-style: none;
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    justify-content: center;
    flex-direction: column;
}

.Submenu {
    display: none;
}

.menu-item.active > .Submenu {
    display: block;
    visibility: visible;
    opacity: 1;
    z-index: 999;
    max-height: 1000px;
    transform: rotateX(0deg);
    -o-transform: rotateX(0deg);
    -moz-transform: rotateX(0deg);
    -webkit-transform: rotateX(0deg);
}

/* hover also works for other items */

.MenuBar > li {
    float: left;
    display: inline-block;
    /*position: relative;*/
}

.MenuBar li > a.active {
    background-color: #4DB1E2;
    color: #fff;
    z-index: 999;
}

.MenuBar > li:first-child > a {
    color: black;
    z-index: 99;
}


.MenuBar > li:hover > a {
    background: linear-gradient(135deg, rgba(212, 175, 55, .10), rgba(212, 175, 55, .03));
    /*box-shadow: 0 -1rem 0 1rem rgba(255,255,255,0.1);*/
    color: var(--navy) !important;
    z-index: 9999;
    text-transform: capitalize;
}

.MenuBar > li:hover {
    color: #fff;
}

.MenuBar > li > a {
    position: relative;
    display: block;
    padding: 7px;
    font-size: 14px;
    line-height: 14px;
    text-transform: capitalize;
}

.MenuBar > li:last-child > ul.Submenu {
    right: 1.4rem;
}

.Submenu {
    opacity: 0;
    visibility: hidden;
    -o-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -webkit-transform-origin: 0% 0%;
    -o-transition: -o-transform 0.3s, opacity 0.3s;
    -ms-transition: -ms-transform 0.3s, opacity 0.3s;
    -moz-transition: -moz-transform 0.3s, opacity 0.3s;
    -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
    transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    transform: rotateX(-75deg);
    -o-transform: rotateX(-75deg);
    -moz-transform: rotateX(-75deg);
    -webkit-transform: rotateX(-75deg);
    background-color: #fff;
}

    .Submenu > li > a {
        color: white;
        padding: 2px 2rem;
        text-decoration: none;
        display: block;
        font-size: 16px;
        text-align: left;
        font-weight: 500;
        background: var(--navy);
        border-bottom: 1px solid;
    }

    .Submenu > li > a {
        color: white !important;
    }

        .Submenu > li > a:hover {
            background: var(--gold);
            color: #fff !important;
        }

    .Submenu > li:hover {
        position: relative;
    }


.SubmenuThird {
    display: none;
    position: absolute;
    list-style: none;
    width: 22rem;
    transition: 0.5s; /* box-shadow: 0 0 0 10px rgba(255,255,255,0.5); */
    left: 220px;
    top: 0rem;
    z-index: 999;
}

    .SubmenuThird > li > a {
        float: none;
        color: #fff !important;
        background-color: #ab992c;
        padding: 2px 2rem;
        text-decoration: none;
        display: block;
        text-align: left;
        font-size: 1.25rem;
        border-bottom: 1px solid;
    }





        .SubmenuThird > li > a:hover {
            background: var(--gold);
        }

.Submenu {
    visibility: hidden;
    padding: 0rem;
    opacity: 0;
    list-style: none;
    position: absolute;
    top: 100%;
    width: 22rem;
    z-index: 999;
    max-height: 0; /* box-shadow: 0 0 0 10px rgba(255,255,255,0.5); */
}

.MenuBar > li:hover .Submenu {
    visibility: visible;
    opacity: 1;
    z-index: 999;
    max-height: 1000px;
    transform: rotateX(0deg);
    -o-transform: rotateX(0deg);
    -moz-transform: rotateX(0deg);
    -webkit-transform: rotateX(0deg);
}

/*--------------*/
.Submenu > li:hover .SubmenuThird {
    display: block;
}

.navbar_mobile {
    display: none;
    width: 100%;
    height: auto;
    background-color: #622922;
    padding: .5rem;
}

.Navbar_toggleInactive {
    border-radius: .4rem;
    display: inline-block;
    font-size: 3rem;
    text-decoration: none;
    color: #fff;
}

.Navbar_toggleactive {
    display: none;
    border-radius: .4rem;
    font-size: 3rem;
    text-decoration: none;
    color: #fff;
    transform: rotate(90deg);
    transition: 0.5s;
}

.MobileMenubar {
    /*display:none;*/
    background: #006400;
    padding: 5px 5px 5px 5px;
    width: 100%;
    height: auto;
    position: relative;
    border-radius: 4px;
}

.Navbartoggle, .Navbartoggle:Active, .Navbartoggle:focus {
    font-size: 2rem;
    color: #fff;
}

.affix {
    position: fixed;
    z-index: 999;
    top: 0rem;
    left: 0;
}

.menuClose {
    width: calc(100% - 30rem);
    display: inline-block;
    float: left;
    position: fixed;
    background-color: rgba(0,0,0,0.5);
    top: 0rem;
    bottom: 0rem;
    right: 0rem;
    display: none;
}

    .menuClose:hover {
        background-color: rgba(0,0,0,0.7);
    }


.navtab_div > a:first-child {
    color: #f4be2c;
}

.recentlIink {
    width: 100%;
}

    .recentlIink a {
        color: gray;
    }

.video-gallery {
    position: relative;
}

.custom-prev,
.custom-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
    background: white;
    color: var(--gold);
    border: none;
    width: 40px;
    height: 40px;
    cursor: pointer;
    border-radius: 7px;
}

.custom-prev {
    left: 10px;
}

.custom-next {
    right: 20px;
}

@media only screen and (min-width:991px) {
    .slider_cont .carousel-item img {
        min-height: 450px !important;
        max-height:600px;
    }


    .planner-card {
        width: 200px
    }

    .affix {
        position: fixed;
        z-index: 999;
        left: 0;
        top: 0;
        width: 100%;
        box-shadow: 0px 3px 8px #3a393a47;
        animation-name: slideInDown;
        animation-duration: .5s;
    }
}

.toggle_Menu {
    position: absolute;
    right: 0px;
}

@media only screen and (min-width:991px) {
    .Header_Layer3 {
        position: absolute;
        width: 50px;
        right: 80px;
        top: 90px;
        height: 50px;
    }
}



.MenuBar li a {
    color: black;
    text-decoration: none;
}

.MenuBar,
.Submenu,
.SubmenuThird {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .MenuBar > li > a,
    .Submenu > li > a,
    .SubmenuThird > li > a {
        display: flex;
        justify-content: start;
        align-items: center;
        width: 100%;
        text-decoration: none;
        padding: 12px 15px;
    }

.Submenu {
    padding-left: 15px;
}

.SubmenuThird {
    padding-left: 30px;
}

    .Submenu li,
    .SubmenuThird li {
        width: 100%;
    }

.fa-angle-down {
    margin-left: auto;
}

/* Offcanvas above everything */
.offcanvas {
    z-index: 99999 !important;
}

/* Backdrop opacity */
.offcanvas-backdrop {
    z-index: 99998 !important;
    background-color: #000 !important;
    opacity: 0.7 !important;
}



    .btn-close-custom:hover {
        color: #555;
    }

/* Header alignment */
.offcanvas-header {
    display: flex;
    justify-content: flex-end;
    padding: 2px 20px;
    /*background: #f2f4f6;*/
}

.offcanvas.offcanvas-end {
    min-width: 65vw !important;
    max-width: 1400px;
}

.mega-menu-wrapper {
    height: 100%;
}

.MenuBar {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 350px;
}



.menu-item > a {
    display: block;
    padding: 18px 25px;
    color: #222;
    font-size: 22px;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid #eee;
}

.menu-item:hover > a {
    color: #0d2a68;
}

.Submenu {
    display: none;
    position: absolute;
    left: 350px;
    top: 0;
    width: 500px;
    min-height: 100vh;
    background: #fff;
    border-left: 1px solid #ddd;
    padding: 0px 40px 40px 10px;
    list-style: none;
    z-index: 9999;
}

.menu-item:hover > .Submenu {
    display: block;
}

.Submenu li {
    margin-bottom: 4px;
}

.Submenu a {
    color: #333;
    font-size: 20px;
    text-decoration: none;
}

.mega-menu-wrapper {
    display: flex;
}

.menu-left {
    width: 35%; /*
    border-right: 1px solid #ddd;*/
}

.menu-right {
    width: 65%;
}

.MenuBar > li::before {
    position: absolute;
    content: '';
    background: var(--navy);
    width: 5px;
    height: 33px;
    left: 0;
    transform: translateX(-10px);
    top: 5px;
}


@media (max-width: 1680px) {

    .quick-link ul li {
        padding-right: 2rem;
    }
}

.quick-link ul li a {
    color: white;
    font-weight: 500;
    transition: .3s all ease-in-out;
    background: var(--gold);
    padding: 10px 7px;
    border-radius: 3px;
    font-size: 13px;
}

.quick-link ul li {
    display: inline;
}

.quick-link {
    margin: 27px auto;
}

.NCC-Girls {
    position: fixed;
    bottom: 5%;
    z-index: 9;
    LEFT: 26px;
    width: 6%;
}

@media (max-width: 768px) {
    .planner-card {
        max-width: 200px !important;
    }

    .planner-track {
        padding: 10px 17px !important;
    }

    #HeroCarousel img {
        height: 250px !important;
    }

    .NCC-Girls {
        position: fixed;
        bottom: 5%;
        z-index: 9;
        LEFT: 0px;
        width: 13%;
    }

    .offcanvas.offcanvas-end {
        width: 100vw;
    }

    .mega-menu-wrapper {
        display: block;
    }

    .menu-left,
    .menu-right {
        width: 100%;
    }

    .MenuBar {
        width: 100%;
    }

        .MenuBar > li {
            width: 100%;
            display: block;
            float: none;
            position: relative;
        }

            .MenuBar > li::before {
                display: none;
            }

    .menu-item > a {
        padding: 14px 16px;
        font-size: 16px;
        border-bottom: 1px solid #eee;
    }

    /* Remove desktop flyout behavior */
    .Submenu {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        min-height: auto;
        border-left: 0;
        padding: 0;
        background: #f8f8f8;
        /* hidden by default */
        display: none;
        opacity: 1;
        visibility: visible;
        max-height: none;
        transform: none;
    }

    /* Active item shows submenu */
    .menu-item.active > .Submenu {
        display: block;
    }

    /* Disable hover opening on mobile */
   /* .menu-item:hover > .Submenu {
        display: none;
    }*/

    .menu-item.active:hover > .Submenu {
        display: block;
    }

    .Submenu li {
        margin: 0;
    }

        .Submenu li a {
            display: block;
            padding: 12px 20px 12px 24px;
            font-size: 14px;
            color: #333 !important;
            background: transparent;
            border-bottom: 1px solid #e5e5e5;
        }

    .SubmenuThird {
        position: static;
        width: 100%;
        left: auto;
        top: auto;
        padding-left: 20px;
        display: none;
    }

        .SubmenuThird li a {
            font-size: 13px;
            padding: 10px 20px 10px 45px;
        }
}


.innerslider .carousel-control-prev, .innerslider .carousel-control-next {
    display: none !important;
}

#Heading {
    text-transform: capitalize;
}

.menu-item a {
    position: relative;
    display: inline-block; /* or block */
}

.menu-item:hover > a::after {
    content: '↗' !important;
    position: absolute;
    right: 20px;
    opacity: 1;
    transform: translateX(-10px) rotate(-15deg);
    transition: .4s cubic-bezier(.22,1,.36,1);
    font-size: 22px;
}


/* Premium Card Hover Micro-Interactions */
.service-card, .achievement-card, .facility-card, .leader-card {
    display: block;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s ease;
    will-change: transform;
}

    .service-card:hover, .achievement-card:hover {
        transform: translateY(-8px) scale(1.02) !important;
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
    }

    .facility-card:hover, .leader-card:hover {
        transform: translateY(-6px) !important;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    }

/* Image container zoom restrictions */
.card-icon, .achievement-icon, .facility-img, .leader-avatar {
    overflow: hidden;
}

    .card-icon img, .achievement-icon img, .facility-img img, .leader-avatar img {
        transition: transform 0.5s ease;
    }

.service-card:hover .card-icon img,
.achievement-card:hover .achievement-icon img,
.facility-card:hover .facility-img img,
.leader-card:hover .leader-avatar img {
    transform: scale(1.08);
}


/* Prevent horizontal track bleeding during side-swipe animations */
.visionmission, #gallery, #admission {
    overflow: hidden;
    position: relative;
}

/* Micro-Hover States for interactive items */
.vision-card, .gallery-item .gallery-bg {
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s ease;
    will-change: transform;
}

    .vision-card:hover {
        transform: translateY(-8px) scale(1.02) !important;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    }

.gallery-item:hover .gallery-bg img {
    transform: scale(1.08);
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}



/* Optional stagger effects */
.reveal.delay-1 {
    transition-delay: .1s;
}

.reveal.delay-2 {
    transition-delay: .2s;
}

.reveal.delay-3 {
    transition-delay: .3s;
}

.reveal.delay-4 {
    transition-delay: .4s;
}

.reveal.delay-5 {
    transition-delay: .5s;
}

.reveal.delay-6 {
    transition-delay: .6s;
}

@media (max-width:768px) {
    .reveal {
        transform: translateY(15px);
        transition-duration: .4s;
    }

    .delay-1,
    .delay-2,
    .delay-3,
    .delay-4,
    .delay-5 {
        transition-delay: 0s;
    }
}


/* Initial State */
.reveal {
    opacity: 0;
    transform: translateY(30px) scale(.98);
    transition: opacity .5s ease-out, transform .6s cubic-bezier(.22,1,.36,1);
    will-change: transform, opacity;
}

    /* Active State */
    .reveal.active {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

/* Left Animation */
.fade-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity .5s ease-out, transform .6s cubic-bezier(.22,1,.36,1);
}

    .fade-left.active {
        opacity: 1;
        transform: translateX(0);
    }

/* Right Animation */
.fade-right {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity .5s ease-out, transform .6s cubic-bezier(.22,1,.36,1);
}

    .fade-right.active {
        opacity: 1;
        transform: translateX(0);
    }


#HeroCarousel .carousel-control-prev,
#HeroCarousel .carousel-control-next {
    width: 50px;
    height: 50px;
    background: #842f33;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
    border: 1px solid white;
}

#HeroCarousel .carousel-control-prev {
    left: 15px;
}

#HeroCarousel .carousel-control-next {
    right: 15px;
}

#HeroCarousel .carousel-control-prev-icon,
#HeroCarousel .carousel-control-next-icon {
    filter: brightness(0) invert(1); /* makes arrows white */
    width: 20px;
    height: 20px;
}

#HeroCarousel .carousel-control-prev:hover,
#HeroCarousel .carousel-control-next:hover {
    background: #6d2629;
}

#HeroCarousel .carousel-item {
    position: relative;
}

    /*#HeroCarousel .carousel-item::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgb(0 0 0 / 22%);*/ /* dark fade overlay */
    /*z-index: 1;
    }*/

    #HeroCarousel .carousel-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

#HeroCarousel .carousel-caption,
#HeroCarousel .carousel-content {
    position: relative;
    z-index: 2;
}

/* Desktop */
@media (min-width: 992px) {

    #HeroCarousel .carousel-control-prev,
    #HeroCarousel .carousel-control-next {
        width: 55px;
        height: 55px;
        background: #842f33;
        border-radius: 50%;
        top: 50%;
        transform: translateY(-50%);
        opacity: 1;
        z-index: 10;
        box-shadow: 0 4px 15px rgba(0,0,0,.25);
    }

    #HeroCarousel .carousel-control-prev {
        left: 60px; /* Inside image */
    }

    #HeroCarousel .carousel-control-next {
        right: 60px; /* Inside image */
    }

    #HeroCarousel .carousel-control-prev-icon,
    #HeroCarousel .carousel-control-next-icon {
        filter: brightness(0) invert(1);
        width: 22px;
        height: 22px;
    }

    #HeroCarousel .carousel-control-prev:hover,
    #HeroCarousel .carousel-control-next:hover {
        background: #6d2629;
    }
}

.menu-item .Submenu {
    display: none;
}

.menu-item.active .Submenu {
    display: block;
}

.banner-section {
    height: 600px;
    overflow: hidden;
}

.banner-video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* fills section and crops excess */
    display: block;
}

.achievement-video-section {
    background: #f8f6f1;
}

.section-title {
    font-weight: 700;
}

.text-gold {
    color: var(--gold);
}

.carousel-item img {
    /*height: 450px;*/
    object-fit: cover;
}

.video-gallery {
    min-height: 450px;
    overflow-y: auto;
    padding-right: 8px;
}

    .video-gallery::-webkit-scrollbar {
        width: 6px;
    }

    .video-gallery::-webkit-scrollbar-thumb {
        background: #c9a227;
        border-radius: 10px;
    }

.video-item iframe {
    border-radius: 12px;
}

.video-item {
    padding: 5px;
}

    .video-item iframe {
        width: 100%;
        border: 0;
        border-radius: 12px;
        min-height: 450px;
        border-radius: 50px 10px 50px 10px;
    }

.video-gallery .slick-prev,
.video-gallery .slick-next {
    z-index: 10;
}

.video-gallery .slick-prev {
    top: -25px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
}

.video-gallery .slick-next {
    top: auto;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
}

#HeroCarousel img {
    height: 450px;
}


#HeroCarousel .carousel-item img {
    width: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 8s ease;
}

#HeroCarousel .carousel-item.active img {
    transform: scale(1.08); /* slow zoom effect */
}

/* GLASS ARROWS */
#HeroCarousel .carousel-control-prev,
#HeroCarousel .carousel-control-next {
    width: 55px;
    height: 55px;
    top: 50%;
    transform: translateY(-50%);
    background: #6d2629;
    backdrop-filter: blur(10px);
    border-radius: 50%;
    opacity: 0;
    transition: .3s ease;
}

#HeroCarousel:hover .carousel-control-prev,
#HeroCarousel:hover .carousel-control-next {
    opacity: 1;
}

#HeroCarousel .carousel-control-prev {
    left: 20px;
}

#HeroCarousel .carousel-control-next {
    right: 20px;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(1);
}

#HeroCarousel {
    border-radius: 0 0 80px 80px;
    overflow: hidden;
}

.annual-planner {
    background: #f8f6f1;
    padding: 60px 0;
}

.planner-card {
    background: #fff;
    border-radius: 18px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    transition: .3s;
    border-top: 3px solid var(--gold);
}

    .planner-card:hover {
        transform: translateY(-5px);
    }

.planner-title {
    font-weight: 700;
    margin-bottom: 10px;
}

.month-badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    background: rgba(212,175,55,.15);
    color: var(--gold);
    font-size: 12px;
    font-weight: 600;
}

.download-btn {
    margin-top: 10px;
    display: inline-block;
    padding: 6px 14px;
    border-radius: 8px;
    background: var(--gold);
    color: #000;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.annual-planner {
    background: #f8f6f1;
    padding: 60px 0;
}

.planner-wrapper {
    position: relative;
}

.planner-track {
    display: flex;
    gap: 20px;
    overflow: hidden;
    scroll-behavior: smooth;
    padding: 10px 50px;
}

/* CARD */
.planner-card {
    min-width: 300px;
    background: #fff;
    border-radius: 18px;
    padding: 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
    border-top: 3px solid var(--gold);
    flex-shrink: 0;
    transition: .3s;
}

    .planner-card:hover {
        transform: translateY(-5px);
    }

.month-badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    background: rgba(212,175,55,.15);
    color: var(--gold);
    font-size: 12px;
    font-weight: 600;
}

.planner-title {
    font-weight: 700;
    margin-top: 8px;
}

.planner-card {
    min-width: 300px;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
    border-top: 3px solid var(--gold);
    flex-shrink: 0;
    transition: .3s;
    padding: 0;
}

    .planner-card:hover {
        transform: translateY(-5px);
    }

.planner-image {
    width: 100%;
    max-height: 300px;
    overflow: hidden;
}

    .planner-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: .4s ease;
    }

.planner-card:hover .planner-image img {
    transform: scale(1.08);
}

.planner-content {
    padding: 18px 20px 20px;
}

.planner-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #222;
}

.view-btn {
    display: inline-block;
    padding: 10px 20px;
    background: var(--gold);
    color: #fff;
    text-decoration: none;
    border-radius: 30px;
    font-weight: 600;
    transition: .3s;
}

    .view-btn:hover {
        opacity: .9;
    }
/* VIEW ALL BUTTON */
.view-btn {
    display: inline-block;
    margin-top: 12px;
    padding: 6px 14px 3px 11px;
    border-radius: 8px;
    background: var(--gold);
    color: white;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: .3s;
}

    .view-btn:hover {
        background: #000;
        color: #fff;
    }

/* ARROWS */
.scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    border: none;
    border-radius: 50%;
    background: rgba(0,0,0,.6);
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
}

.scroll-left {
    left: 10px;
}

.scroll-right {
    right: 10px;
}


.principal-section {
     position: relative;
    overflow: hidden;
}

/* Card */
.principal-card {
    background: #fff;
    padding: 45px;
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(1, 27, 84, 0.08);
    border-top: 5px solid var(--gold);
    position: relative;
}

/* Quote */
.quote-icon {
    position: absolute;
    top: 15px;
    right: 30px;
    font-size: 70px;
    color: rgba(132, 47, 51, 0.1);
    font-family: serif;
}

/* Image */
.principal-image-wrapper {
    position: relative;
}

.principal-image {
    border-radius: 20px;
    border: 6px solid #fff;
    box-shadow: 0 15px 35px rgba(0,0,0,.12);
}

.principal-image-wrapper::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    background: var(--gold);
    border-radius: 50%;
    bottom: -20px;
    right: -10px;
    opacity: .15;
    z-index: -1;
}

/* Content */
.principal-title {
    color: #17212b;
    font-weight: 700;
    margin-bottom: 20px;
}

.principal-card p {
    color: #555;
    line-height: 1.9;
    font-size: 15px;
}

/* Signature */
.principal-signature {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

    .principal-signature h5 {
        color: #17212b;
        margin-bottom: 5px;
        font-weight: 700;
    }

    .principal-signature span {
        color: var(--gold);
        font-weight: 600;
    }

/* Button */
.principal-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 25px;
    padding: 12px 28px;
    background: #17212b;
    color: #fff;
    border-radius: 50px;
    text-decoration: none;
    transition: .3s;
}

    .principal-btn:hover {
        background: var(--gold);
        color: #fff;
        transform: translateY(-3px);
    }

/* Mobile */
@media(max-width:991px) {
    .principal-card {
        padding: 30px;
    }

    .quote-icon {
        font-size: 50px;
    }
}


.principal-image-wrapper {
    position: relative;
    padding: 20px;
}

    .principal-image-wrapper img {
        position: relative;
        z-index: 2;
        border-radius: 20px;
        box-shadow: 0 20px 50px rgba(1,27,84,.15);
        width: 100%;
    }

    .principal-image-wrapper::before {
        content: '';
        position: absolute;
        width: 120%;
        height: 120%;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        background: radial-gradient(circle at 20% 20%, rgba(132,47,51,.15), transparent 35%), radial-gradient(circle at 80% 80%, rgba(1,27,84,.15), transparent 35%);
        z-index: 1;
    }

a, li, p {
    text-align: justify;
}


.library-section {
    padding: 1rem 1.5rem 2.5rem 1.5rem;
    background: radial-gradient(circle at 15% 10%, rgba(132,47,51,0.06), transparent 40%), radial-gradient(circle at 85% 90%, rgba(1,27,84,0.05), transparent 45%), var(--parchment);
    position: relative;
    overflow: hidden;
}

.library-intro {
    max-width: 680px;
    margin: 0 auto 3.5rem;
    text-align: center;
    font-size: 1.05rem;
    line-height: 1.8;
    color: #4a5266;
}

.library-wrap {
    max-width: 1240px;
    margin: 0 auto;
    position: relative;
}

    /* spine-tag ribbon, nods to library call-number tags */
    .library-wrap::before {
        content: "";
        position: absolute;
        left: -1.5rem;
        top: 0;
        bottom: 0;
        width: 3px;
        background: repeating-linear-gradient( to bottom, var(--gold) 0, var(--gold) 8px, transparent 8px, transparent 16px );
        opacity: .35;
        display: none;
    }

@media(min-width:992px) {
    .library-wrap::before {
        display: block;
    }
}

/* ===== Bento Grid ===== */
.bento-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 220px 220px 220px;
    gap: 1.25rem;
}

.bento-tile {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(145deg, var(--navy) 0%, var(--navy-deep) 100%);
    box-shadow: 0 10px 30px -10px rgba(1,27,84,0.25);
    transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease;
}

    .bento-tile:hover {
        transform: translateY(-6px);
        box-shadow: 0 22px 40px -12px rgba(1,27,84,0.35);
    }

    .bento-tile img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .5s ease;
        filter: saturate(0.96) contrast(1.02);
    }

    .bento-tile:hover img {
        transform: scale(1.07);
    }

/* Placeholder styling — swap the <img> src for the real photo and this disappears */
.img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    background: repeating-linear-gradient(45deg, rgba(255,255,255,0.035) 0 10px, transparent 10px 20px), linear-gradient(145deg, var(--navy) 0%, var(--navy-deep) 100%);
    border: 1.5px dashed rgba(212,175,55,0.35);
    color: rgba(255,255,255,0.55);
    text-align: center;
    padding: 1rem;
}

    .img-placeholder svg {
        width: 34px;
        height: 34px;
        opacity: .6;
    }

    .img-placeholder span {
        font-size: .7rem;
        letter-spacing: .12em;
        text-transform: uppercase;
        font-weight: 500;
    }

/* catalog-style tag, top-left corner of every tile */
.tile-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
    /* font-family: 'Playfair Display', serif; */
    font-size: .7rem;
    letter-spacing: .08em;
    color: white;
    background: rgb(121 42 46);
    border: 1px solid rgba(212, 175, 55, 0.5);
    padding: .25rem .6rem;
    border-radius: 3px;
    backdrop-filter: blur(3px);
}

/* caption overlay, slides up on hover */
.tile-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.1rem 1.2rem 1rem;
    background: linear-gradient(to top, rgba(1,15,51,0.92) 0%, rgba(1,15,51,0.0) 100%);
    transform: translateY(8px);
    opacity: 0;
    transition: transform .4s ease, opacity .4s ease;
}

.bento-tile:hover .tile-caption {
    transform: translateY(0);
    opacity: 1;
}

.tile-caption h4 {
    margin: 0 0 2px;
    font-family: 'Playfair Display',serif;
    font-size: 1.05rem;
    color: #fff;
    font-weight: 600;
}

.tile-caption p {
    margin: 0;
    font-size: .78rem;
    color: rgba(255,255,255,0.75);
    letter-spacing: .02em;
}

.tile-caption .rule {
    width: 26px;
    height: 2px;
    background: var(--gold);
    margin: .4rem 0 .5rem;
}

/* Grid placements — mixed sizes for the bento feel */
.tile-1 {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}
/* large anchor */
.tile-2 {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}

.tile-3 {
    grid-column: 4 / 5;
    grid-row: 1 / 2;
}

.tile-4 {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}

.tile-5 {
    grid-column: 4 / 5;
    grid-row: 2 / 4;
}
/* tall */
.tile-feature {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
}

.tile-6 {
    grid-column: 3 / 4;
    grid-row: 3 / 4;
}

/* Feature tile — text, not an image */
.tile-feature {
    background: linear-gradient(135deg, var(--gold) 0%, #6e262a 100%);
    color: var(--parchment);
    padding: 1.6rem 1.8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .7rem;
}

    .tile-feature .eyebrow {
        font-size: .7rem;
        letter-spacing: .2em;
        text-transform: uppercase;
        opacity: 1;
        color: white;
        font-weight: bold;
    }

    .tile-feature h3 {
        font-family: 'Playfair Display',serif;
        color: white;
        font-size: 1.5rem;
        margin: 0;
        line-height: 1.25;
    }

.feature-list {
    list-style: none;
    margin: .3rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .9rem;
    font-size: .82rem;
}

    .feature-list li {
        color: white;
        display: flex;
        align-items: center;
        opacity: .95;
    }

        .feature-list li::before {
            content: "";
            width: 5px;
            height: 5px;
            background: var(--parchment);
            border-radius: 50%;
            flex: none;
        }

/* ===== Responsive ===== */
@media(max-width:991px) {
    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(5, 200px);
    }

    .tile-1 {
        grid-column: 1/3;
        grid-row: 1/3;
    }

    .tile-2 {
        grid-column: 1/2;
        grid-row: 3/4;
    }

    .tile-3 {
        grid-column: 2/3;
        grid-row: 3/4;
    }

    .tile-4 {
        grid-column: 1/2;
        grid-row: 4/5;
    }

    .tile-5 {
        grid-column: 2/3;
        grid-row: 4/6;
    }

    .tile-feature {
        grid-column: 1/3;
        grid-row: 6/7;
        grid-row-end: span 1;
    }

    .tile-6 {
        grid-column: 1/2;
        grid-row: 5/6;
    }
}

@media(max-width:991px) {
    .bento-grid {
        grid-template-rows: 200px 200px 200px 200px 200px 240px;
    }
}

@media(max-width:560px) {
    .bento-grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 1rem;
    }

        .bento-grid > div {
            grid-column: 1/2 !important;
            grid-row: auto !important;
            height: 270px;
        }

    .tile-feature {
        height: auto;
        padding: 2rem 1.5rem;
    }

    .section-title {
        font-size: 2rem;
    }
}

@media(prefers-reduced-motion: reduce) {
    .bento-tile, .bento-tile img, .tile-caption {
        transition: none;
    }
}

.tile-feature .feature-heading {
    font-family: 'Playfair Display', serif !important;
    color: #ffeab9;
    font-size: 1.5rem;
    margin: 0;
    line-height: 1.25;
}

    .tile-feature .feature-heading i {
        font-style: italic;
    }

    .tile-feature .feature-heading .initial {
        font-size: 1.5em; /* Bigger first letters */
        font-weight: 700;
        color: #fff5d6;
        display: inline-block;
        line-height: 1;
    }

.ncc-cadet img {
    width: 200px;
    height: 100px;
    margin: -14px auto 20px;
    background: linear-gradient(135deg, var(--navy), #1a3a5c);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--gold);
    font-size: 36px;
    font-family: Poppins, sans-serif;
    font-weight: 900;
    object-fit: cover;
    color: var(--gold);
    object-position: top;
}

/* =========================================================
   CPS Adampur - LIGHT PREMIUM HEADER
========================================================= */

.school-header {
    width: 100%;
    position: relative;
    z-index: 1000;
    /*background: #fffdf8;*/
    color: #1d2733;
    border-bottom: 3px solid #d9a51b;
    box-shadow: 0 4px 18px rgba(31, 41, 55, 0.08);
}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.school-header-container {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 10px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}


/* =========================================================
   SCHOOL BRAND
========================================================= */

.school-brand {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
}


/* =========================================================
   SCHOOL LOGO
========================================================= */

.school-logo {
    width: 125px;
    height: 125px;
    flex: 0 0 125px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

    .school-logo img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain;
    }


/* =========================================================
   VERTICAL SEPARATOR
========================================================= */

.brand-separator {
    width: 2px;
    height: 105px;
    margin: 0 25px;
    background: #d9a51b;
    flex-shrink: 0;
}


/* =========================================================
   SCHOOL INFORMATION
========================================================= */

.school-info {
    min-width: 0;
}


/* SCHOOL MOTTO */

.school-motto {
    margin-bottom: 3px;
    color: #b07b00;
    font-family: "Noto Sans Devanagari", "Mangal", serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}


/* SCHOOL NAME */

.school-name {
    margin: 0;
    color: #01356c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 2.5vw, 56px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: 0.015em;
    white-space: nowrap;
    font-size: 28px;
}


/* SCHOOL TAGLINE */

.school-tagline {
    margin-top: 8px;
    color: #b07b00;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.2;
}

    .school-tagline span {
        color: #66717c;
        margin: 0 7px;
    }


/* =========================================================
   RIGHT SIDE
========================================================= */

.header-right {
    width: 550px;
    flex: 0 0 550px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 9px;
}


/* =========================================================
   SOCIAL MEDIA
========================================================= */

.social-links {
    display: flex;
    align-items: center;
    gap: 7px;
}

.social {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.25s ease;
}

    .social:hover {
        color: #ffffff;
        transform: translateY(-2px);
        box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
    }


    /* Keep social colors individually */

    .social.whatsapp {
        background: #20b866;
    }

    .social.facebook {
        background: #4267b2;
    }

    .social.instagram {
        background: #d94672;
    }

    .social.twitter {
        background: #333c45;
    }

    .social.youtube {
        background: #d72d2d;
    }


/* =========================================================
   LOGIN BUTTONS
========================================================= */

.header-login-links {
    display: flex;
    align-items: center;
    gap: 7px;
}

.header-small-btn {
    min-height: 38px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #c09634;
    border: 1px solid #c09634;
    border-radius: 5px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    transition: all 0.25s ease;
}

    .header-small-btn:hover {
        background: #d9a51b;
        border-color: #d9a51b;
        color: #ffffff;
    }


/* =========================================================
   IMPORTANT LINKS
========================================================= */

.header-important-links {
    display: flex;
    align-items: center;
    gap: 5px;
}

.important-btn {
    min-height: 38px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #01356c;
    color: #ffffff;
    /*border: 1px solid #e6ca76;*/
    border-radius: 5px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.25s ease;
}

    .important-btn:hover {
        background: #d9a51b;
        border-color: #d9a51b;
        color: #ffffff;
    }


/* =========================================================
   BOTTOM ACTIONS
========================================================= */

.header-bottom-actions {
    display: flex;
    align-items: center;
    gap: 5px;
}


/* OUTLINE ACTION */

.outline-action {
    min-height: 38px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #ffffff;
    color: #35404a;
    border: 1px solid #cbd2d8;
    border-radius: 5px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.25s ease;
}

    .outline-action:hover {
        background: #17212b;
        border-color: #17212b;
        color: #ffffff;
    }


/* =========================================================
   MENU BUTTON
========================================================= */

.menu-btn {
    min-height: 38px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #17212b;
    color: #ffffff;
    border: 1px solid #17212b;
    border-radius: 5px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    transition: all 0.25s ease;
}

    .menu-btn:hover {
        background: #d9a51b;
        border-color: #d9a51b;
        color: #ffffff;
    }

.menu-icon {
    font-size: 12px;
}

.menu-text {
    letter-spacing: 0.05em;
}


/* =========================================================
   OFFCANVAS
========================================================= */

.school-offcanvas {
    width: min(500px, 92vw) !important;
    background: #ffffff;
    border-left: 3px solid #d9a51b;
    box-shadow: -15px 0 50px rgba(0, 0, 0, 0.16);
}


/* =========================================================
   OFFCANVAS HEADER
========================================================= */

.school-offcanvas-header {
    min-height: 90px;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fffdf8;
    border-bottom: 2px solid #d9a51b;
}

.offcanvas-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

    .offcanvas-brand img {
        width: 58px;
        height: 58px;
        object-fit: contain;
    }

.offcanvas-school-name {
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 700;
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.btn-close-custom {
    position: relative;
    /* width: 30px; */
    /* height: 30px; */
    background: #ffffff;
    border: 1px solid #d4d9dd;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.25s ease;
    padding: 14px;
}

    .btn-close-custom span {
        position: absolute;
        left: 5px;
        top: 13px;
        width: 20px;
        height: 2px;
        background: #17212b;
    }

        .btn-close-custom span:first-child {
            transform: rotate(45deg);
        }

        .btn-close-custom span:last-child {
            transform: rotate(-45deg);
        }

    .btn-close-custom:hover {
        background: #17212b;
        border-color: #17212b;
    }

        .btn-close-custom:hover span {
            background: #ffffff;
        }


/* =========================================================
   QUICK LINKS
========================================================= */

.quick-link-wrapper {
    padding: 12px 20px;
    background: #faf9f5;
    border-bottom: 1px solid #e4e5e2;
}

.quick-link-list {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .quick-link-list a {
        display: inline-flex;
        align-items: center;
        padding: 8px 13px;
        color: #35404a;
        background: #ffffff;
        border: 1px solid #d8dde0;
        border-radius: 4px;
        text-decoration: none;
        font-size: 12px;
        font-weight: 600;
        transition: all 0.25s ease;
    }

        .quick-link-list a:hover {
            background: #d9a51b;
            border-color: #d9a51b;
            color: #ffffff;
        }


/* =========================================================
   MENU
========================================================= */

.school-offcanvas-body {
    padding: 28px 24px;
}

.menu-title {
    margin-bottom: 18px;
    padding-bottom: 11px;
    color: #17212b;
    border-bottom: 2px solid #d9a51b;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.MenuBar {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .MenuBar > li {
        margin-bottom: 2px;
    }

        .MenuBar > li > a {
            min-height: 50px;
            padding: 12px 14px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            color: #26323d;
            border-bottom: 1px solid #e8eaec;
            text-decoration: none;
            font-size: 14px;
            font-weight: 700;
            transition: all 0.25s ease;
        }

            .MenuBar > li > a:hover {
                padding-left: 20px;
                color: #a87500;
                background: #fffaf0;
            }

.Submenu {
    margin: 0;
    padding: 5px 0 5px 16px;
    list-style: none;
    border-left: 3px solid #d9a51b;
}

    .Submenu li a {
        display: block;
        padding: 8px 12px;
        color: #69737c;
        text-decoration: none;
        font-size: 13px;
        transition: all 0.25s ease;
    }

        .Submenu li a:hover {
            padding-left: 18px;
            color: #a87500;
            /*background: #fffaf0;*/
        }


/* =========================================================
   TABLET
========================================================= */
@media only screen and (min-width: 769px) and (max-width:1100px)
{
    .header-right {
        width: 300px !important;
        flex: 0 0 250px !important;
    }
    .school-name {
        font-size: 16px !important;
    }
    .school-tagline{
        font-size:14px !important
    }
}
@media only screen and (min-width: 1024px) and (max-width:1200px) {


    .school-name {
        font-size: 22px !important;
    }
 
} 


    /* =========================================================
   MOBILE
========================================================= */

    @media (max-width: 769px) {

        .school-header-container {
            flex-direction: column;
            align-items: stretch;
            gap: 18px;
        }

        .school-brand {
            justify-content: center;
        }

        .header-right {
            width: 100%;
            flex: none;
            align-items: center;
        }

        .school-header-container {
            padding: 10px 14px 13px;
            gap: 12px;
        }

        .school-brand {
            justify-content: flex-start;
            width: 100%;
        }

        .school-logo {
            width: 72px;
            height: 72px;
            flex-basis: 72px;
        }

        .brand-separator {
            width: 2px;
            height: 65px;
            margin: 0 11px;
        }

        .school-motto {
            font-size: 9px;
        }

        .school-name {
            font-size: 21px;
            line-height: 1.05;
            white-space: normal;
        }

        .school-tagline {
            margin-top: 5px;
            font-size: 9px;
            letter-spacing: 0.08em;
        }

            .school-tagline span {
                margin: 0 3px;
            }


        /* SOCIAL */

        .social-links {
            width: 100%;
            justify-content: center;
            gap: 6px;
        }

        .social {
            width: 32px;
            height: 32px;
            font-size: 13px;
        }


        /* LOGIN */

        .header-login-links {
            width: 100%;
            display: none;
        }

        .header-small-btn {
            flex: 1;
            min-height: 36px;
            padding: 0 7px;
            font-size: 10px;
        }


        /* IMPORTANT LINKS */

        .header-important-links {
            width: 100%;
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 5px;
        }


        .important-btn {
            min-height: 36px;
            padding: 0 5px;
            font-size: 10px;
            text-align: center;
        }


        /* BOTTOM */

        .header-bottom-actions {
            width: 100%;
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 5px;
        }

        .outline-action,
        .menu-btn {
            min-height: 36px;
            padding: 0 5px;
            font-size: 10px;
        }


        /* OFFCANVAS */

        .school-offcanvas {
            width: 100% !important;
        }

        .school-offcanvas-header {
            min-height: 75px;
            padding: 10px 15px;
        }

        .offcanvas-brand img {
            width: 48px;
            height: 48px;
        }

        .offcanvas-school-name {
            font-size: 16px;
        }

        .school-offcanvas-body {
            padding: 24px 18px;
        }
    }


    /* =========================================================
   VERY SMALL MOBILE
========================================================= */

    @media (max-width: 400px) {

        .school-logo {
            width: 100px;
            height: 100px;
            flex-basis: 100px;
        }

        .brand-separator {
            height: 56px;
            margin: 0 8px;
        }

        .school-name {
            font-size: 24px;
        }

        .school-motto {
            font-size: 8px;
        }

        .school-tagline {
            font-size: 8px;
        }
    }


/* =========================================================
   ABOUT SECTION
========================================================= */

.school-about {
    position: relative;
    padding: 110px 0 50px 0px;
    background: #fffdf8;
    overflow: hidden;
}


    /* subtle background circle */

    .school-about::before {
        content: "";
        position: absolute;
        width: 520px;
        height: 520px;
        right: -250px;
        top: -250px;
        border-radius: 50%;
        background: #faf1d6;
        opacity: 0.55;
        pointer-events: none;
    }


/* =========================================================
   MAIN LAYOUT
========================================================= */

.about-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
    gap: 85px;
}


/* =========================================================
   LEFT IMAGE
========================================================= */

.about-media {
    position: relative;
    padding: 0 25px 25px 0;
}


/* image container */

.about-image-wrap {
    position: relative;
    height: 550px;
    overflow: hidden;
    border-radius: 5px;
    background: #e8e4dc;
    box-shadow: 0 25px 60px rgba(24, 34, 44, 0.14);
}


/* image */

.about-main-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.about-image-wrap:hover .about-main-image {
    transform: scale(1.04);
}


/* =========================================================
   IMAGE OVERLAY
========================================================= */

.about-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( to top, rgba(12, 22, 31, 0.78) 0%, rgba(12, 22, 31, 0.18) 48%, rgba(12, 22, 31, 0) 75% );
}


/* =========================================================
   IMAGE TEXT
========================================================= */

.about-image-caption {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .about-image-caption span {
        color: #e1b334;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.18em;
    }

    .about-image-caption strong {
        max-width: 320px;
        color: #ffffff;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 28px;
        line-height: 1.15;
    }


/* =========================================================
   EXPERIENCE BOX
========================================================= */

.about-experience {
    position: absolute;
    right: -25px;
    bottom: 0;
    width: 190px;
    min-height: 115px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: #17212b;
    color: #ffffff;
    border-left: 4px solid #d9a51b;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18);
}

    .about-experience strong {
        color: #e1b334;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 42px;
        line-height: 1;
    }

    .about-experience span {
        color: rgba(255, 255, 255, 0.75);
        font-size: 10px;
        line-height: 1.45;
        font-weight: 600;
    }


/* =========================================================
   DOT PATTERN
========================================================= */

.about-dots {
    position: absolute;
    right: 0;
    top: -25px;
    width: 100px;
    height: 100px;
    background-image: radial-gradient( #d9a51b 1.5px, transparent 1.5px );
    background-size: 12px 12px;
    opacity: 0.55;
    z-index: -1;
}


/* =========================================================
   RIGHT CONTENT
========================================================= */

.about-details {
    max-width: 760px;
}


/* =========================================================
   LABEL
========================================================= */

.about-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: #ae7b04;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
}

    .about-label span {
        width: 34px;
        height: 2px;
        background: #d9a51b;
    }


/* =========================================================
   TITLE
========================================================= */

.about-title {
    margin: 0;
    max-width: 700px;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 4.2vw, 60px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.025em;
}

    .about-title em {
        display: block;
        color: #b07b00;
        font-style: normal;
    }


/* =========================================================
   LEAD
========================================================= */

.about-lead {
    max-width: 620px;
    margin: 25px 0 25px;
    color: #4f5b65;
    font-size: 17px;
    line-height: 1.7;
    font-weight: 500;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.about-description {
    position: relative;
    padding-left: 22px;
    border-left: 2px solid #dfb43b;
}

    .about-description p {
        margin: 0 0 13px;
        color: #69747d;
        font-size: 14px;
        line-height: 1.8;
    }

        .about-description p:last-child {
            margin-bottom: 0;
        }

    .about-description strong {
        color: #283540;
        font-weight: 700;
    }


/* =========================================================
   FEATURES
========================================================= */

.about-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 30px;
}


/* feature */

.about-feature {
    min-height: 85px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 11px;
    background: #ffffff;
    border: 1px solid #e9e5db;
    border-radius: 6px;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

    .about-feature:hover {
        transform: translateY(-3px);
        border-color: #dfb43b;
        box-shadow: 0 10px 25px rgba(23, 33, 43, 0.07);
    }


/* icon */

.feature-icon {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ae7b04;
    background: #fff8e3;
    border-radius: 5px;
    font-size: 14px;
}


/* text */

.about-feature strong {
    display: block;
    margin-bottom: 4px;
    color: #27343f;
    font-size: 11px;
    line-height: 1.25;
}

.about-feature span {
    display: block;
    color: #8a939b;
    font-size: 9px;
    line-height: 1.35;
}


/* =========================================================
   FOOTER
========================================================= */

.about-footer {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}


/* =========================================================
   BUTTON
========================================================= */

.about-button {
    min-height: 45px;
    padding: 0 19px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #17212b;
    color: #ffffff;
    border-radius: 4px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    transition: all 0.25s ease;
}

    .about-button i {
        transition: transform 0.25s ease;
    }

    .about-button:hover {
        background: #d9a51b;
        color: #ffffff;
    }

        .about-button:hover i {
            transform: translateX(4px);
        }


/* =========================================================
   MOTTO
========================================================= */

.about-motto {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #9b750c;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

    .about-motto b {
        color: #c5c8ca;
        font-size: 6px;
    }


/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1100px) {

    .about-layout {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .about-media {
        width: 100%;
        max-width: 700px;
        margin: 0 auto;
    }

    .about-image-wrap {
        height: 450px;
    }

    .about-details {
        max-width: 900px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 767px) {

    .school-about {
        padding: 70px 0;
    }

    .about-layout {
        gap: 45px;
    }


    /* image */

    .about-media {
        padding: 0 12px 25px 12px;
    }

    .about-image-wrap {
        height: 390px;
        border-radius: 4px;
    }


    /* image caption */

    .about-image-caption {
        left: 22px;
        right: 22px;
        bottom: 22px;
    }

        .about-image-caption strong {
            font-size: 24px;
        }


    /* experience */

    .about-experience {
        left: 0;
        bottom: 0;
        width: 165px;
        min-height: 90px;
        padding: 15px;
        gap: 10px;
    }

        .about-experience strong {
            font-size: 34px;
        }

        .about-experience span {
            font-size: 9px;
        }


    /* content */

    .about-label {
        font-size: 9px;
    }

    .about-title {
        font-size: 38px;
    }

    .about-lead {
        font-size: 14px;
        margin: 20px 0;
    }

    .about-description {
        padding-left: 15px;
    }

        .about-description p {
            font-size: 13px;
            line-height: 1.75;
        }


    /* features */

    .about-features {
        grid-template-columns: 1fr;
        gap: 7px;
        margin-top: 24px;
    }

    .about-feature {
        min-height: 68px;
    }


    /* footer */

    .about-footer {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 25px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .about-image-wrap {
        height: 330px;
    }

    .about-image-caption strong {
        font-size: 21px;
    }

    .about-experience {
        width: 145px;
        min-height: 78px;
        padding: 12px;
    }

        .about-experience strong {
            font-size: 29px;
        }

    .about-title {
        font-size: 32px;
    }

    .about-motto {
        font-size: 8px;
    }
}


/* =========================================================
   SCHOOL HIGHLIGHTS
========================================================= */

.about-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 32px;
    border-top: 1px solid #e8e3d8;
    border-bottom: 1px solid #e8e3d8;
}


/* =========================================================
   FEATURE
========================================================= */

.about-feature {
    position: relative;
    min-height: 105px;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: transparent;
    border: 0;
    border-right: 1px solid #e8e3d8;
    overflow: hidden;
    transition: background 0.3s ease;
}

    .about-feature:last-child {
        border-right: 0;
    }


    /* =========================================================
   TOP GOLD ACCENT
========================================================= */

    .about-feature::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 25px;
        width: 0;
        height: 2px;
        background: #d9a51b;
        transition: width 0.35s ease;
    }

    .about-feature:hover::before {
        width: 45px;
    }


    /* =========================================================
   HOVER
========================================================= */

    .about-feature:hover {
        background: #fffaf0;
    }


/* =========================================================
   ICON
========================================================= */

.feature-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a87500;
    background: #fff7df;
    border: 1px solid #f0dda5;
    border-radius: 50%;
    font-size: 16px;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}


    /* small gold dot */

    .feature-icon::after {
        content: "";
        position: absolute;
        width: 8px;
        height: 8px;
        margin-left: 35px;
        margin-top: 34px;
        background: #d9a51b;
        border: 2px solid #fffdf8;
        border-radius: 50%;
    }

.about-feature:hover .feature-icon {
    background: #fff3d8;
    border-color: #17212b;
    color: #e2b330;
    transform: scale(1.05);
}


/* =========================================================
   CONTENT
========================================================= */

.feature-content {
    position: relative;
    z-index: 2;
    min-width: 0;
}

    .feature-content strong {
        display: block;
        margin-bottom: 5px;
        color: #26333e;
        font-size: 12px;
        font-weight: 800;
        line-height: 1.3;
    }

    .feature-content span {
        display: block;
        color: #89929a;
        font-size: 10px;
        line-height: 1.45;
    }


/* =========================================================
   NUMBER
========================================================= */

.feature-number {
    position: absolute;
    right: 14px;
    bottom: 7px;
    color: #d7cfbc;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1;
    transition: color 0.3s ease;
}

.about-feature:hover .feature-number {
    color: #e6d5a5;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .about-features {
        grid-template-columns: 1fr;
    }

    .about-feature {
        min-height: 82px;
        border-right: 0;
        border-bottom: 1px solid #e8e3d8;
    }

        .about-feature:last-child {
            border-bottom: 0;
        }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .about-features {
        margin-top: 25px;
    }

    .about-feature {
        min-height: 75px;
        padding: 14px 15px;
        gap: 13px;
    }

        .about-feature::before {
            left: 15px;
        }

    .feature-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        font-size: 14px;
    }

        .feature-icon::after {
            width: 7px;
            height: 7px;
            margin-left: 30px;
            margin-top: 30px;
        }

    .feature-content strong {
        font-size: 11px;
    }

    .feature-content span {
        font-size: 9px;
    }

    .feature-number {
        right: 12px;
        font-size: 20px;
    }
}

/* =========================================================
   FACILITIES SECTION
========================================================= */

.school-facilities {
    position: relative;
    padding: 85px 0 85px;
    background: #f8f6f0;
    overflow: hidden;
}


    /* subtle decoration */

    .school-facilities::before {
        content: "";
        position: absolute;
        width: 400px;
        height: 400px;
        right: -200px;
        bottom: -200px;
        border-radius: 50%;
        background: #eee7d7;
        opacity: 0.55;
        pointer-events: none;
    }


/* =========================================================
   HEADING
========================================================= */

.facilities-heading {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 0.75fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 55px;
}


/* left */

.facilities-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    color: #a97908;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
}

    .facilities-eyebrow span {
        width: 34px;
        height: 2px;
        background: #d9a51b;
    }


/* title */

.facilities-heading h2 {
    max-width: 650px;
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 4.5vw, 50px);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.025em;
}

    .facilities-heading h2 em {
        display: block;
        color: #b07c00;
        font-style: normal;
    }


/* right description */

.facilities-heading-right {
    padding-bottom: 5px;
}

    .facilities-heading-right p {
        max-width: 500px;
        margin: 0;
        color: #727b82;
        font-size: 14px;
        line-height: 1.8;
    }


/* =========================================================
   FEATURED FACILITY
========================================================= */

.facilities-featured {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 270px;
    min-height: 390px;
    margin-bottom: 28px;
    background: #17212b;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(23, 33, 43, 0.13);
}


/* =========================================================
   FEATURED IMAGE
========================================================= */

.featured-image {
    position: relative;
    min-height: 390px;
    overflow: hidden;
}

    .featured-image img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transition: transform 0.7s ease;
    }

.facilities-featured:hover .featured-image img {
    transform: scale(1.04);
}


/* overlay */

.featured-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( 90deg, rgba(13, 24, 34, 0.82) 0%, rgba(13, 24, 34, 0.35) 55%, rgba(13, 24, 34, 0.05) 100% );
}


/* =========================================================
   FEATURED CONTENT
========================================================= */

.featured-content {
    position: absolute;
    left: 45px;
    bottom: 42px;
    max-width: 470px;
}

    .featured-content > span {
        color: #e2b432;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.18em;
    }

    .featured-content h3 {
        margin: 10px 0 10px;
        color: #ffffff;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 36px;
        line-height: 1.1;
    }

    .featured-content p {
        max-width: 400px;
        margin: 0 0 20px;
        color: rgba(255, 255, 255, 0.72);
        font-size: 13px;
        line-height: 1.65;
    }


/* =========================================================
   LINK
========================================================= */

.facility-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    border-bottom: 1px solid #d9a51b;
    padding-bottom: 5px;
    transition: color 0.25s ease;
}

    .facility-link i {
        color: #e1b334;
        transition: transform 0.25s ease;
    }

    .facility-link:hover {
        color: #e1b334;
    }

        .facility-link:hover i {
            transform: translateX(4px);
        }


/* =========================================================
   FEATURED SIDE STATS
========================================================= */

.featured-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    background: #17212b;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.facility-stat {
    padding: 24px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

    .facility-stat:first-child {
        padding-top: 0;
    }

    .facility-stat:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .facility-stat strong {
        display: block;
        margin-bottom: 5px;
        color: #e0b22e;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 32px;
        line-height: 1;
    }

    .facility-stat span {
        display: block;
        color: rgba(255, 255, 255, 0.55);
        font-size: 10px;
        line-height: 1.5;
    }


/* =========================================================
   FACILITY GRID
========================================================= */

.facilities-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}


/* =========================================================
   FACILITY ITEM
========================================================= */

.facility-item {
    display: block;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    border: 1px solid #e7e3da;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

    .facility-item:hover {
        color: inherit;
        transform: translateY(-6px);
        border-color: #d9a51b;
        box-shadow: 0 18px 35px rgba(23, 33, 43, 0.10);
    }


/* =========================================================
   ITEM IMAGE
========================================================= */

.facility-item-image {
    position: relative;
    height: 185px;
    overflow: hidden;
    background: #ddd;
}

    .facility-item-image img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transition: transform 0.6s ease;
    }

.facility-item:hover .facility-item-image img {
    transform: scale(1.07);
}


/* =========================================================
   NUMBER
========================================================= */

.facility-item-number {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #17212b;
    background: rgba(255, 255, 255, 0.92);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   ITEM CONTENT
========================================================= */

.facility-item-content {
    min-height: 82px;
    padding: 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

    .facility-item-content > div {
        min-width: 0;
    }

    .facility-item-content span {
        display: block;
        margin-bottom: 5px;
        color: #ad7c08;
        font-size: 8px;
        font-weight: 800;
        letter-spacing: 0.13em;
    }

    .facility-item-content h3 {
        margin: 0;
        color: #27343f;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.3;
    }


    /* arrow */

    .facility-item-content > i {
        width: 28px;
        height: 28px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #a97908;
        background: #fff8e4;
        border-radius: 50%;
        font-size: 9px;
        transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
    }

.facility-item:hover .facility-item-content > i {
    background: #17212b;
    color: #e2b432;
    transform: rotate(8deg);
}


/* =========================================================
   BOTTOM CTA
========================================================= */

.facilities-bottom {
    position: relative;
    z-index: 2;
    margin-top: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 25px;
    border-top: 1px solid #dfdbd1;
}

    .facilities-bottom span {
        color: #8b9297;
        font-size: 11px;
    }

    .facilities-bottom a {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: #26333e;
        text-decoration: none;
        font-size: 11px;
        font-weight: 800;
    }

        .facilities-bottom a i {
            color: #b17d08;
            transition: transform 0.25s ease;
        }

        .facilities-bottom a:hover {
            color: #a87808;
        }

            .facilities-bottom a:hover i {
                transform: translateX(5px);
            }


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .school-facilities {
        padding: 85px 0;
    }

    .facilities-heading {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 40px;
    }

    .facilities-heading-right {
        padding-bottom: 0;
    }

        .facilities-heading-right p {
            max-width: 650px;
        }

    .facilities-featured {
        grid-template-columns: 1fr 220px;
    }

    .facilities-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .school-facilities {
        padding: 70px 0 75px;
    }


    /* heading */

    .facilities-eyebrow {
        font-size: 9px;
    }

    .facilities-heading h2 {
        font-size: 38px;
    }

    .facilities-heading-right p {
        font-size: 13px;
        line-height: 1.7;
    }


    /* featured */

    .facilities-featured {
        display: block;
        margin-bottom: 18px;
    }

    .featured-image {
        min-height: 360px;
    }

    .featured-overlay {
        background: linear-gradient( to top, rgba(13, 24, 34, 0.88), rgba(13, 24, 34, 0.10) );
    }

    .featured-content {
        left: 22px;
        right: 22px;
        bottom: 25px;
    }

        .featured-content h3 {
            font-size: 29px;
        }

        .featured-content p {
            font-size: 12px;
        }


    /* stats */

    .featured-side {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        padding: 20px;
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .facility-stat {
        padding: 5px 12px;
        border-bottom: 0;
        border-right: 1px solid rgba(255, 255, 255, 0.10);
    }

        .facility-stat:first-child {
            padding-top: 5px;
        }

        .facility-stat:last-child {
            border-right: 0;
            padding-bottom: 5px;
        }

        .facility-stat strong {
            font-size: 22px;
        }

        .facility-stat span {
            font-size: 8px;
        }


    /* grid */

    .facilities-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .facility-item-image {
        height: 135px;
    }

    .facility-item-content {
        min-height: 70px;
        padding: 11px;
    }

        .facility-item-content span {
            font-size: 7px;
        }

        .facility-item-content h3 {
            font-size: 11px;
        }

        .facility-item-content > i {
            width: 24px;
            height: 24px;
            font-size: 8px;
        }

    .facility-item-number {
        width: 27px;
        height: 27px;
        top: 8px;
        right: 8px;
        font-size: 10px;
    }


    /* bottom */

    .facilities-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-top: 28px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .facilities-heading h2 {
        font-size: 32px;
    }

    .featured-image {
        min-height: 320px;
    }

    .featured-content h3 {
        font-size: 25px;
    }

    .featured-side {
        padding: 15px 8px;
    }

    .facility-stat {
        padding: 4px 7px;
    }

        .facility-stat strong {
            font-size: 19px;
        }

        .facility-stat span {
            font-size: 7px;
        }

    .facilities-grid {
        gap: 8px;
    }

    .facility-item-image {
        height: 115px;
    }

    .facility-item-content {
        padding: 9px;
    }

        .facility-item-content h3 {
            font-size: 10px;
        }
}


/* =========================================================
   VISION / MISSION / VALUES
========================================================= */

.visionmission {
    position: relative;
    padding: 85px 0 85px;
    background: #fffdf8;
    overflow: hidden;
}


    /* =========================================================
   BACKGROUND DECORATION
========================================================= */

    .visionmission::before {
        content: "";
        position: absolute;
        top: -180px;
        left: -180px;
        width: 420px;
        height: 420px;
        border: 1px solid #eee5d0;
        border-radius: 50%;
        pointer-events: none;
    }

    .visionmission::after {
        content: "";
        position: absolute;
        right: -150px;
        bottom: -200px;
        width: 420px;
        height: 420px;
        background: #f6f0df;
        border-radius: 50%;
        opacity: 0.55;
        pointer-events: none;
    }


/* =========================================================
   SECTION HEADING
========================================================= */

.vm-heading {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 0.65fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 55px;
}


/* eyebrow */

.vm-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    color: #a97908;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
}

    .vm-eyebrow span {
        width: 32px;
        height: 2px;
        background: #d9a51b;
    }


/* heading */

.vm-heading h2 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 4.5vw, 60px);
    font-weight: 700;
    line-height: 1.03;
    letter-spacing: -0.025em;
}

    .vm-heading h2 em {
        display: block;
        color: #b07c00;
        font-style: normal;
    }


/* description */

.vm-heading > p {
    max-width: 470px;
    margin: 0 0 5px;
    color: #737c83;
    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.vm-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}


/* =========================================================
   COMMON CARD
========================================================= */

.vm-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #e7e1d4;
    overflow: hidden;
}


/* =========================================================
   LARGE VISION CARD
========================================================= */
/* =========================================================
   VISION CARD - IMPROVED
========================================================= */

.vm-vision {
    position: relative;
    min-height: 535px;
    padding: 38px 42px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* warmer, richer background */
    background: linear-gradient( 135deg, #fffdf7 0%, #f8f1df 100% );
    border: 1px solid #e4dac2;
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

    .vm-vision:hover {
        transform: translateY(-4px);
        box-shadow: 0 22px 50px rgba(40, 44, 45, 0.10);
    }


    /* =========================================================
   LARGE WATERMARK
========================================================= */

    .vm-vision::before {
        content: "VISION";
        position: absolute;
        right: 12px;
        bottom: -11px;
        color: rgba(176, 124, 0, 0.055);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 115px;
        font-weight: 700;
        letter-spacing: -0.05em;
        line-height: 1;
        pointer-events: none;
    }


    /* =========================================================
   GOLD VERTICAL ACCENT
========================================================= */

    .vm-vision::after {
        content: "";
        position: absolute;
        left: 0;
        top: 38px;
        bottom: 38px;
        width: 3px;
        background: linear-gradient( to bottom, transparent, #d9a51b 20%, #d9a51b 80%, transparent );
        pointer-events: none;
    }


/* =========================================================
   TOP
========================================================= */

.vm-card-top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.vm-number {
    color: #c9b98f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    font-weight: 700;
}

.vm-label {
    padding: 6px 10px;
    color: #a97908;
    background: rgba(255, 248, 227, 0.8);
    border: 1px solid #ecdcad;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.16em;
}


/* =========================================================
   VISION CONTENT
========================================================= */

.vm-card-content {
    position: relative;
    z-index: 2;
    max-width: 610px;
    margin-top: 45px;
    margin-bottom: 35px;
}


/* icon */

.vm-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a97908;
    background: #fffaf0;
    border: 1px solid #e7d59f;
    border-radius: 50%;
    font-size: 17px;
    box-shadow: 0 8px 20px rgba(150, 110, 20, 0.08);
}


/* heading */

.vm-card-content h3 {
    max-width: 480px;
    margin: 0 0 20px;
    color: #1d2a34;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    line-height: 1.08;
    letter-spacing: -0.02em;
}

    .vm-card-content h3 em {
        color: #b07c00;
        font-style: normal;
    }


/* paragraphs */

.vm-card-content p {
    max-width: 570px;
    margin: 0 0 12px;
    color: #707980;
    font-size: 13px;
    line-height: 1.8;
}

    .vm-card-content p:last-child {
        margin-bottom: 0;
    }

.vm-card-content strong {
    color: #4a535b;
    font-weight: 700;
}


/* =========================================================
   BOTTOM LINE
========================================================= */

.vm-card-line {
    position: relative;
    z-index: 2;
    width: 70px;
    height: 3px;
    margin-top: auto;
    background: linear-gradient( 90deg, #d9a51b, #efd78b );
}



/* =========================================================
   RIGHT SIDE
========================================================= */

.vm-side {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
}


/* =========================================================
   SMALL CARDS
========================================================= */

.vm-small {
    position: relative;
    display: grid;
    grid-template-columns: 48px 1fr;
    column-gap: 20px;
    padding: 32px 34px;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

    .vm-small:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 45px rgba(40, 44, 45, 0.08);
    }


/* number */

.vm-small-number {
    position: absolute;
    top: 20px;
    right: 22px;
    color: #e8dfca;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 700;
}


/* icon */

.vm-small-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b07c00;
    background: #fff8e3;
    border: 1px solid #f0dfad;
    border-radius: 50%;
    font-size: 15px;
}


/* content */

.vm-small-content {
    padding-right: 25px;
}

    .vm-small-content > span {
        display: block;
        margin-bottom: 8px;
        color: #a97908;
        font-size: 9px;
        font-weight: 800;
        letter-spacing: 0.15em;
    }

    .vm-small-content h3 {
        margin: 0 0 14px;
        color: #26333e;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 24px;
        line-height: 1.15;
    }

        .vm-small-content h3 em {
            color: #b07c00;
            font-style: normal;
        }

    .vm-small-content p {
        margin: 0 0 9px;
        color: #7b8389;
        font-size: 14px;
        line-height: 1.7;
    }

        .vm-small-content p:last-child {
            margin-bottom: 0;
        }


/* =========================================================
   CARD ARROW
========================================================= */

.vm-arrow {
    position: absolute;
    right: 24px;
    bottom: 22px;
    width: 31px;
    height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a97908;
    background: #fff8e3;
    border-radius: 50%;
    text-decoration: none;
    font-size: 9px;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.vm-small:hover .vm-arrow {
    color: #ffffff;
    background: #17212b;
    transform: rotate(8deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .visionmission {
        padding: 85px 0 90px;
    }

    .vm-heading {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 40px;
    }

        .vm-heading > p {
            max-width: 650px;
        }

    .vm-layout {
        grid-template-columns: 1fr;
    }

    .vm-vision {
        min-height: auto;
        padding: 35px;
    }

    .vm-side {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }

    .vm-small {
        display: block;
        padding: 30px;
    }

    .vm-small-icon {
        margin-bottom: 20px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .visionmission {
        padding: 70px 0 75px;
    }


    /* heading */

    .vm-eyebrow {
        font-size: 9px;
    }

    .vm-heading h2 {
        font-size: 38px;
    }

    .vm-heading > p {
        font-size: 13px;
        line-height: 1.7;
    }


    /* layout */

    .vm-layout {
        display: block;
    }


    /* vision */

    .vm-vision {
        min-height: auto;
        padding: 25px 22px;
        margin-bottom: 12px;
    }

    .vm-card-content {
        margin-top: 55px;
    }

    .vm-icon {
        width: 45px;
        height: 45px;
        margin-bottom: 20px;
    }

    .vm-card-content h3 {
        font-size: 28px;
        margin-bottom: 17px;
    }

    .vm-card-content p {
        font-size: 12px;
        line-height: 1.75;
    }


    /* side */

    .vm-side {
        display: block;
    }

    .vm-small {
        display: block;
        padding: 25px 22px;
        margin-bottom: 12px;
    }

        .vm-small:last-child {
            margin-bottom: 0;
        }

    .vm-small-icon {
        width: 44px;
        height: 44px;
        margin-bottom: 18px;
    }

    .vm-small-content {
        padding-right: 10px;
    }

        .vm-small-content h3 {
            font-size: 23px;
        }

        .vm-small-content p {
            font-size: 11px;
            line-height: 1.7;
        }

    .vm-small-number {
        top: 18px;
        right: 18px;
        font-size: 19px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .vm-heading h2 {
        font-size: 32px;
    }

    .vm-card-content h3 {
        font-size: 25px;
    }

    .vm-small-content h3 {
        font-size: 21px;
    }
}


/* =========================================================
   GALLERY SECTION
========================================================= */

.school-gallery {
    position: relative;
    padding: 80px 0 80px;
    /*background: #f8f6f0;*/
    overflow: hidden;
}


/* =========================================================
   HEADING
========================================================= */

.gallery-heading {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 0.65fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 48px;
}


/* eyebrow */

.gallery-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    color: #a97908;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
}

    .gallery-eyebrow span {
        width: 32px;
        height: 2px;
        background: #d9a51b;
    }


/* heading */

.gallery-heading h2 {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 4.5vw, 60px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -0.025em;
}

    .gallery-heading h2 em {
        display: block;
        color: #b07c00;
        font-style: normal;
    }


/* right */

.gallery-heading-right {
    padding-bottom: 4px;
}

    .gallery-heading-right p {
        max-width: 470px;
        margin: 0 0 20px;
        color: #737c83;
        font-size: 13px;
        line-height: 1.8;
    }


/* =========================================================
   VIEW GALLERY LINK
========================================================= */

.gallery-view-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 6px;
    color: #25333e;
    border-bottom: 1px solid #d8a51b;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
    transition: color 0.25s ease;
}

    .gallery-view-link i {
        color: #b17c08;
        transition: transform 0.25s ease;
    }

    .gallery-view-link:hover {
        color: #a87808;
    }

        .gallery-view-link:hover i {
            transform: translateX(5px);
        }


/* =========================================================
   GALLERY GRID
========================================================= */

.school-gallery-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 185px;
    gap: 14px;
}


/* =========================================================
   PHOTO
========================================================= */

.gallery-photo {
    position: relative;
    display: block;
    overflow: hidden;
    background: #ddd;
    text-decoration: none;
    cursor: pointer;
}


/* featured */

.gallery-photo-large {
    grid-column: span 2;
    grid-row: span 2;
}


/* image */

.gallery-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(.2,.7,.2,1);
}


/* =========================================================
   HOVER OVERLAY
========================================================= */

.gallery-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient( to top, rgba(15, 24, 32, 0.78), rgba(15, 24, 32, 0.02) 65% );
    opacity: 0;
    transition: opacity 0.35s ease;
}

.gallery-photo::after {
    opacity: 1;
}

.gallery-photo:hover img {
    transform: scale(1.07);
}


/* =========================================================
   PHOTO OVERLAY CONTENT
========================================================= */

.gallery-photo-overlay {
    position: absolute;
    z-index: 2;
    left: 15px;
    right: 15px;
    bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #ffffff;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.gallery-photo-overlay {
    opacity: 1;
    transform: translateY(0);
}


/* number */

.gallery-photo-overlay > span {
    position: absolute;
    top: -120px;
    left: 0;
    color: rgba(255, 255, 255, 0.85);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    font-weight: 700;
}


/* featured text */

.gallery-photo-large .gallery-photo-overlay {
    left: 25px;
    right: 25px;
    bottom: 23px;
}

    .gallery-photo-large .gallery-photo-overlay > span {
        top: auto;
        position: static;
        color: #e3b633;
    }

.gallery-photo-overlay strong {
    display: block;
    margin-bottom: 3px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
}

.gallery-photo-overlay small {
    color: rgba(255,255,255,0.65);
    font-size: 9px;
    letter-spacing: 0.05em;
}


/* plus */

.gallery-photo-overlay > i {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #17212b;
    background: #ffffff;
    border-radius: 50%;
    font-size: 9px;
}


/* =========================================================
   BOTTOM
========================================================= */

.gallery-bottom {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid #dfdbd1;
}
    .gallery-bottom span {
        color: #858c91;
        font-size: 11px;
    }

    .gallery-bottom a {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: #26333e;
        text-decoration: none;
        font-size: 11px;
        font-weight: 800;
    }

        .gallery-bottom a i {
            color: #ad7a06;
        }

        .gallery-bottom a:hover {
            color: #a87808;
        }


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .school-gallery {
        padding: 85px 0 90px;
    }

    .gallery-heading {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 40px;
    }

    .gallery-heading-right p {
        max-width: 650px;
    }

    .school-gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 180px;
    }

    .gallery-photo-large {
        grid-column: span 2;
        grid-row: span 2;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .school-gallery {
        padding: 70px 0 75px;
    }


    /* heading */

    .gallery-eyebrow {
        font-size: 9px;
    }

    .gallery-heading h2 {
        font-size: 38px;
    }

    .gallery-heading-right p {
        font-size: 12px;
        line-height: 1.75;
    }

    .gallery-view-link {
        display: none;
    }


    /* grid */

    .school-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 150px;
        gap: 9px;
    }


    /* featured */

    .gallery-photo-large {
        grid-column: span 2;
        grid-row: span 2;
        min-height: 300px;
    }


    /* overlay always subtle on mobile */

    .gallery-photo::after {
        opacity: 0.15;
    }

    .gallery-photo-overlay {
        opacity: 1;
        transform: none;
        left: 10px;
        right: 10px;
        bottom: 10px;
    }

        .gallery-photo-overlay > span {
            top: -100px;
            font-size: 10px;
        }

        .gallery-photo-overlay > i {
            width: 27px;
            height: 27px;
            font-size: 8px;
        }


    /* featured overlay */

    .gallery-photo-large .gallery-photo-overlay {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }

        .gallery-photo-large .gallery-photo-overlay strong {
            font-size: 16px;
        }

        .gallery-photo-large .gallery-photo-overlay small {
            font-size: 8px;
        }


    /* bottom */

    .gallery-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-top: 25px;
    }

        .gallery-bottom a {
            padding: 11px 16px;
            background: #17212b;
            color: #ffffff;
        }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .gallery-heading h2 {
        font-size: 32px;
    }

    .school-gallery-grid {
        grid-auto-rows: 125px;
        gap: 7px;
    }

    .gallery-photo-large {
        min-height: 250px;
    }
}


/* =========================================================
   ADMISSION
========================================================= */

.admission-section {
    padding: 30px 0 70px;
    background: #f7f4ed;
}


/* =========================================================
   HEADING
========================================================= */

.admission-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 60px;
    padding-bottom: 55px;
    border-bottom: 1px solid #ddd8cc;
}

    .admission-heading > div {
        flex: 1;
    }

.admission-label {
    display: block;
    margin-bottom: 17px;
    color: #a77a14;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.admission-heading h2 {
    margin: 0;
    color: #26343d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1;
    font-weight: 500;
    letter-spacing: -0.035em;
}

    .admission-heading h2 em {
        color: #a77a14;
        font-style: italic;
    }

.admission-heading > p {
    max-width: 390px;
    margin: 0 0 4px;
    color: #777d80;
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   MAIN
========================================================= */

.admission-main {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 70px;
    padding-top: 55px;
}


/* =========================================================
   IMAGE
========================================================= */

.admission-image {
    height: 360px;
    overflow: hidden;
    background: #e5e0d5;
}

    .admission-image img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transition: transform 0.5s ease;
    }

    .admission-image:hover img {
        transform: scale(1.025);
    }


/* =========================================================
   LEFT INFORMATION
========================================================= */

/* =========================================================
   ADMISSION LEFT
========================================================= */

.admission-left {
    padding-top: 5px;
}


/* LABEL */

.admission-label {
    margin-bottom: 14px;
    color: #a77a14;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
}


/* HEADING */

.admission-left-title {
    margin: 0;
    color: #17212b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 4.5vw, 60px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -0.025em;
}

    .admission-left-title em {
        color: #a77a14;
        font-style: normal;
        font-weight: 600;
    }


/* GOLD LINE */

.admission-gold-line {
    width: 48px;
    height: 2px;
    margin: 20px 0 18px;
    background: #b28a35;
}


/* INTRO */

.admission-intro {
    max-width: 500px;
    margin: 0 0 25px;
    color: #777d80;
    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   STEPS
========================================================= */

.admission-steps {
    width: 100%;
}


.admission-step {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 0px 0;
    border-bottom: 1px solid #e3dfd6;
}


    /* Don't put a line after last step */

    .admission-step:last-child {
        border-bottom: 0;
    }


/* NUMBER */

.step-num {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    color: #a77a14;
    background: #f6f1e6;
    border: 1px solid #dfd5bd;
    border-radius: 50%;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    line-height: 1;
}


/* STEP CONTENT */

.step-text {
    padding-top: 1px;
}


    .step-text h6 {
        margin: 0 0 5px;
        color: #35434c;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 15px;
        line-height: 1.3;
        font-weight: 600;
    }


    .step-text p {
        max-width: 480px;
        margin: 0;
        color: #85898a;
        font-size: 11px;
        line-height: 1.55;
    }


/* =========================================================
   CONTACT
========================================================= */

.admission-contact-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 520px;
    margin-top: 15px;
    padding: 14px 16px;
    background: #f5f2ea;
    border-left: 3px solid #b28a35;
}


    .admission-contact-box > i {
        padding-top: 2px;
        color: #a77a14;
        font-size: 13px;
    }


    .admission-contact-box strong {
        display: block;
        margin-bottom: 4px;
        color: #35434c;
        font-size: 17px;
        font-weight: 700;
    }


    .admission-contact-box p {
        margin: 0;
        color: #777d80;
        font-size: 14px;
        line-height: 1.5;
    }


    .admission-contact-box a {
        color: #a77a14;
        font-weight: 600;
        text-decoration: none;
        transition: color .2s ease;
    }


        .admission-contact-box a:hover {
            color: #80600d;
        }


.contact-separator {
    margin: 0 5px;
    color: #b3afa7;
}


/* =========================================================
   EXISTING MAIN LAYOUT
========================================================= */

.admission-main {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 65px;
    padding-top: 52px;
    align-items: start;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .admission-main {
        grid-template-columns: 1fr 1fr;
        gap: 35px;
    }

    .admission-left-title {
        font-size: 42px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .admission-main {
        grid-template-columns: 1fr;
        gap: 45px;
        padding-top: 40px;
    }


    .admission-left-title {
        font-size: 40px;
    }


    .admission-intro {
        font-size: 12px;
        margin-bottom: 20px;
    }


    .admission-step {
        gap: 15px;
        padding: 14px 0;
    }


    .step-num {
        flex-basis: 35px;
        width: 35px;
        height: 35px;
        font-size: 11px;
    }


    .step-text h6 {
        font-size: 14px;
    }


    .step-text p {
        font-size: 10px;
        line-height: 1.5;
    }


    .admission-contact-box {
        max-width: 100%;
        margin-top: 12px;
        padding: 13px 14px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 430px) {

    .admission-left-title {
        font-size: 35px;
    }


    .admission-step {
        gap: 13px;
    }


    .step-num {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
    }


    .step-text h6 {
        font-size: 13px;
    }


    .step-text p {
        font-size: 9.5px;
    }


    .contact-separator {
        display: none;
    }

    .admission-contact-box p a {
        display: inline-block;
        margin-right: 8px;
    }
}


/* process */

.process-label {
    display: block;
    margin-bottom: 18px;
    color: #96928a;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.process-row {
    display: flex;
    gap: 25px;
}

.process-item {
    display: flex;
    gap: 11px;
    flex: 1;
}

    .process-item strong {
        color: #b28a35;
        font-family: Georgia, serif;
        font-size: 13px;
        font-weight: 400;
    }

    .process-item h6 {
        margin: 0 0 5px;
        color: #35434c;
        font-family: Georgia, serif;
        font-size: 14px;
        font-weight: 600;
    }

    .process-item p {
        margin: 0;
        color: #85898a;
        font-size: 10px;
        line-height: 1.5;
    }


/* =========================================================
   CONTACT
========================================================= */

.admission-contact {
    padding-left: 25px;
    border-left: 1px solid #d8d1c2;
}

    .admission-contact span {
        display: block;
        margin-bottom: 9px;
        color: #99958c;
        font-size: 8px;
        font-weight: 700;
        letter-spacing: 0.14em;
    }

    .admission-contact a {
        display: block;
        margin-bottom: 5px;
        color: #a77a14;
        font-size: 11px;
        font-weight: 600;
        text-decoration: none;
    }


/* =========================================================
   FORM
========================================================= */

.admission-form {
    padding: 37px 40px 40px;
    background: #ffffff;
    border: 1px solid #e0dcd3;
}


/* form heading */

.form-top {
    padding-bottom: 24px;
    margin-bottom: 27px;
    border-bottom: 1px solid #e6e2da;
}

    .form-top > span {
        display: block;
        margin-bottom: 9px;
        color: #a77a14;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: 0.14em;
    }

    .form-top h3 {
        margin: 0 0 8px;
        color: #2b3942;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 28px;
        font-weight: 500;
    }

    .form-top p {
        margin: 0;
        color: #888c8d;
        font-size: 11px;
        line-height: 1.6;
    }


/* =========================================================
   FORM FIELDS
========================================================= */

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-field {
    margin-bottom: 19px;
}

    .form-field label {
        display: block;
        margin-bottom: 7px;
        color: #596269;
        font-size: 13px;
        font-weight: 600;
    }

    .form-field input,
    .form-field select {
        width: 100%;
        height: 45px;
        padding: 0 13px;
        color: #3d484f;
        background: #fbfaf7;
        border: 1px solid #dedbd4;
        border-radius: 0;
        outline: none;
        font-family: inherit;
        font-size: 11px;
        transition: border-color .2s ease, background .2s ease;
    }

        .form-field input::placeholder {
            color: #aaa9a4;
        }

        .form-field input:focus,
        .form-field select:focus {
            background: #fff;
            border-color: #b8923d;
        }


    /* select */

    .form-field select {
        cursor: pointer;
        appearance: auto;
    }


/* =========================================================
   SUBMIT
========================================================= */

.form-submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-top: 7px;
}

.admission-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    min-width: 185px;
    height: 48px;
    padding: 0 18px;
    color: #fff;
    background: #273640;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    transition: background .2s ease;
}

    .admission-submit i {
        color: #d4a638;
        font-size: 10px;
    }

    .admission-submit:hover {
        background: #a77a14;
    }

        .admission-submit:hover i {
            color: #fff;
        }

.form-submit-row small {
    max-width: 220px;
    color: #aaa9a4;
    font-size: 8px;
    line-height: 1.5;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .admission-main {
        grid-template-columns: 1fr 1fr;
        gap: 35px;
    }

    .admission-info-bottom {
        grid-template-columns: 1fr;
    }

    .admission-contact {
        padding-left: 0;
        padding-top: 20px;
        border-left: 0;
        border-top: 1px solid #d8d1c2;
    }

    .admission-form {
        padding: 30px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .admission-section {
        padding: 75px 0 80px;
    }


    .admission-heading {
        display: block;
        padding-bottom: 35px;
    }

        .admission-heading h2 {
            font-size: 42px;
        }

        .admission-heading > p {
            margin-top: 22px;
            max-width: 500px;
            font-size: 12px;
        }


    .admission-main {
        grid-template-columns: 1fr;
        gap: 45px;
        padding-top: 40px;
    }


    .admission-image {
        height: 260px;
    }


    .admission-info-bottom {
        display: block;
        padding-top: 24px;
    }


    .process-row {
        gap: 15px;
    }

    .process-item {
        display: block;
    }

        .process-item strong {
            display: block;
            margin-bottom: 8px;
        }

        .process-item h6 {
            font-size: 13px;
        }

        .process-item p {
            font-size: 9px;
        }


    .admission-contact {
        display: flex;
        flex-wrap: wrap;
        gap: 5px 18px;
        margin-top: 25px;
        padding-top: 20px;
    }

        .admission-contact span {
            width: 100%;
        }

        .admission-contact a {
            margin: 0;
        }


    /* form */

    .admission-form {
        padding: 27px 20px 25px;
    }

    .form-top h3 {
        font-size: 25px;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .form-field {
        margin-bottom: 16px;
    }

    .form-submit-row {
        display: block;
    }

    .admission-submit {
        width: 100%;
    }

    .form-submit-row small {
        display: block;
        max-width: 100%;
        margin-top: 12px;
        text-align: center;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 430px) {

    .admission-heading h2 {
        font-size: 36px;
    }

    .process-row {
        gap: 10px;
    }

    .process-item h6 {
        font-size: 12px;
    }

    .process-item p {
        font-size: 8px;
    }
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {
    background: #ffffff;
    color: #35434c;
    border-top: 1px solid #e6e1d6;
}


/* =========================================================
   MAIN FOOTER
========================================================= */

.footer-main {
    padding: 70px 0 58px;
}


.footer-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) minmax(140px, .8fr) minmax(170px, .9fr) minmax(280px, 1.4fr);
    gap: 55px;
}


/* =========================================================
   BRAND
========================================================= */

.footer-brand {
    max-width: 350px;
}


.footer-logo {
    display: inline-block;
    margin-bottom: 20px;
}


    .footer-logo img {
        display: block;
        width: 230px;
        height: auto;
        object-fit: contain;
    }


.footer-description {
    max-width: 330px;
    margin: 0 0 25px;
    color: #777d7d;
    font-size: 12px;
    line-height: 1.8;
}


/* =========================================================
   SOCIAL
========================================================= */

.footer-social {
    display: flex;
    align-items: center;
    gap: 9px;
}


    .footer-social a {
        width: 34px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        background: #a77a14;
        border-color: #a77a14;
        border: 1px solid #dfdbd1;
        border-radius: 50%;
        font-size: 12px;
        text-decoration: none;
        transition: all .25s ease;
    }


        .footer-social a:hover {
            color: #ffffff;
            background: #a77a14;
            border-color: #a77a14;
            transform: translateY(-2px);
        }


/* =========================================================
   HEADINGS
========================================================= */

.footer-column h5 {
    position: relative;
    margin: 5px 0 23px;
    color: #35434c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 600;
}


    .footer-column h5::after {
        content: "";
        display: block;
        width: 25px;
        height: 2px;
        margin-top: 10px;
        background: #b28a35;
    }


/* =========================================================
   LINKS
========================================================= */

.footer-links {
    padding: 0;
    margin: 0;
    list-style: none;
}


    .footer-links li {
        margin-bottom: 11px;
    }


    .footer-links a {
        color: #4c5050;
        font-size: 13px;
        line-height: 1.5;
        text-decoration: none;
        transition: color .2s ease, padding-left .2s ease;
    }


        .footer-links a:hover {
            padding-left: 4px;
            color: #a77a14;
        }


/* =========================================================
   CONTACT
========================================================= */

.footer-contact-list {
    padding: 0;
    margin: 0;
    list-style: none;
}


    .footer-contact-list li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 15px;
        color: #777d7d;
        font-size: 13px;
        line-height: 1.55;
    }


        .footer-contact-list li i {
            flex: 0 0 15px;
            width: 15px;
            padding-top: 2px;
            color: #b28a35;
            font-size: 11px;
            text-align: center;
        }


    .footer-contact-list a {
        color: #777d7d;
        text-decoration: none;
        transition: color .2s ease;
    }


        .footer-contact-list a:hover {
            color: #a77a14;
        }


/* =========================================================
   BOTTOM
========================================================= */

.footer-bottom {
    background: #efede6;
    border-top: 1px solid #e1ddd3;
}


.footer-bottom-inner {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}


.footer-bottom p {
    margin: 0;
    color: #898b87;
    font-size: 10px;
    line-height: 1.5;
}


.footer-bottom a {
    color: #a77a14;
    text-decoration: none;
    transition: color .2s ease;
}


    .footer-bottom a:hover {
        color: #80600d;
    }


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
        gap: 45px;
    }


    .footer-brand {
        grid-column: span 3;
        max-width: 600px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .footer-main {
        padding: 50px 0 40px;
    }


    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 38px 25px;
    }


    .footer-brand {
        grid-column: span 2;
        max-width: 100%;
    }


    .footer-logo img {
        width: 210px;
    }


    .footer-description {
        max-width: 100%;
        font-size: 11px;
    }


    .footer-column h5 {
        margin-bottom: 18px;
        font-size: 14px;
    }


    .footer-links a {
        font-size: 10px;
    }


    .footer-contact {
        grid-column: span 2;
    }


    .footer-contact-list li {
        font-size: 10px;
    }


    .footer-bottom-inner {
        min-height: auto;
        padding: 17px 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 430px) {

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }


    .footer-brand,
    .footer-contact {
        grid-column: auto;
    }


    .footer-logo img {
        width: 190px;
    }
}

.footer-bottom-inner {
    min-height: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    text-align: center;
}


.footer-bottom p {
    margin: 0;
    color: #898b87;
    font-size: 10px;
    line-height: 1.5;
}


    .footer-bottom p:last-child {
        color: #545350;
        font-size: 13px;
    }


.footer-bottom a {
    color: #a77a14;
    text-decoration: none;
    font-weight: 600;
}


    .footer-bottom a:hover {
        color: #80600d;
    }
/* =========================================================
   ACHIEVEMENT SECTION HEADING
========================================================= */

.academics-heading {
    margin-bottom: 45px;
    max-width: 700px;
}


    .academics-heading .section-label {
        margin-bottom: 10px;
    }


    .academics-heading .section-title {
        margin-bottom: 0;
    }


        .academics-heading .section-title em {
            color: var(--gold);
            font-style: normal;
            font-weight: bold;
        }


    .academics-heading .gold-line {
        margin-top: 16px;
    }


    .academics-heading .section-intro {
        max-width: 600px;
        margin: 18px 0 0;
        color: #7b807f;
        font-size: 13px;
        line-height: 1.7;
    }


/* Mobile */

@media (max-width: 767px) {

    .academics-heading {
        margin-bottom: 32px;
    }


        .academics-heading .section-intro {
            font-size: 12px;
        }
}

/* =========================================================
   PRINCIPAL SECTION HEADING
========================================================= */

.principal-heading {
    max-width: 700px;
    margin-bottom: 45px;
}


    .principal-heading .section-label {
        margin-bottom: 10px;
    }


    .principal-heading .section-title {
        margin-bottom: 0;
    }


        .principal-heading .section-title em {
            color: var(--gold);
            font-style: normal;
            font-weight: bold;
        }


    .principal-heading .gold-line {
        margin-top: 16px;
    }


    .principal-heading .section-desc {
        max-width: 600px;
        margin: 18px 0 0;
        color: #7b807f;
        font-size: 13px;
        line-height: 1.7;
    }


/* Mobile */

@media (max-width: 767px) {

    .principal-heading {
        margin-bottom: 32px;
    }

        .principal-heading .section-desc {
            font-size: 12px;
        }
}

@media (min-width: 768px) {
    .logo {
        text-align: left;
        /* height: 100px !important; */
    }

    #navbar__box1 li a {
        color: black !important;
    }

    #navbar__box1 li {
        background: white;
    }

    .navbar__box li:hover {
        color: white !important;
    }

    
}
@media (min-width: 1024px) {
    .navbar__box span {
        display: none;
    }
}

@media (max-width: 768px) {
    .top-bar span a {
        font-size: 13px !important
    }
    .stat-item {
        margin-top: 20px;
    }
    .stats-bar {
        padding: 1px 0 22px 0px;
    }

    #about p{
        text-align:justify;
    }
    .SliderSection img {
        max-height: 250px !important;
       /* min-height: 250px;
        object-fit: cover;*/
    }
    .school-description{
        text-align:justify;
    }
    .fixedimage {
        min-height: 40vh !important;
    }
    .slider-nav {
        position: absolute;
        top: 5rem;
    }
    .carousel-control-next, .carousel-control-prev{
        z-index:1;
    }
    .SliderSection .carousel-control-next {
        right: 35%;
        top: 66%;
    }

    .SliderSection .carousel-control-prev {
        left: 35%;
        top: 66%;
    }
    #about-section p {
        text-align: justify
    }

    .privacypages ul {
        flex-wrap: wrap;
        justify-content: left;
    }

    .facility-item {
        flex-wrap: wrap;
    }

        .facility-item img {
            height: auto;
        }

        .facility-content, .facility-item img {
            width: 100%
        }

    .count {
        font-size: 1.5rem !important;
    }

    .counter {
        padding: 0px !important
    }

    .ProudNumbers p {
        text-align: justify;
    }

    .h4Heading {
        font-size: 27px !important;
    }

    .mautomob {
        position: absolute;
        right: 0;
        text-align: right;
    }
}


@media (min-width: 1200px) {
    #HeroCarousel img {
        /*max-height: 600px;*/
        object-fit: cover;
        min-height: 450px;
        max-height:450px;
    }
    
}

@media only screen and (min-width: 1400px) {
    .main_nav {
        margin-top: 2%;
    }
}


@media only screen and (min-width:991px) and (max-width:1200px)
{
    .home-carousel-2 .slick-next {
        right: 75%;
    }
}
@media only screen and (min-width:1201px) and (max-width:1400px) {
    .navbar a {
        font-size: 14px;
    }
}

@media only screen and (min-width:1601px) {
    .home-carousel-2 .slick-next {
        right: 82%;
    }
}

