﻿:root {
    --alumni-navy: #173b82;
    --alumni-yellow: #cdae00;
    --alumni-dark: #111827;
    --alumni-text: #555;
    --alumni-light: #f6f8fc;
    --md-navy: #173b82;
    --md-yellow: #f5d000;
    --md-dark: #172033;
    --md-text: #555;
    --md-light: #f6f8fc;
    --md-border: #e4e8ef;
}

    /* ===== About Us Style ===== */
    .ab-intro {
    padding: 90px 0 110px;
    background: #fff;
}

.ab-text p {
    font-size: .95rem;
    line-height: 1.55;
    color: var(--ink);
    margin-bottom: 18px;
}

.ab-text .hl {
    color: var(--navy);
    font-size: 1.2em;
    font-weight: 500;
}

/* Founders photo + peeche peela block */
.founder {
    position: relative;
    /* max-width: 372px;*/
    margin: 0 auto;
}

    .founder::before {
        content: "";
        position: absolute;
        top: -24px;
        right: -52px;
        width: 66%;
        height: 62%;
        background: #ffc233;
        z-index: 0;
    }

    .founder img {
        position: relative;
        z-index: 1;
        width: 100%;
        display: block;
        box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
    }

    .founder figcaption {
        text-align: center;
        margin-top: 12px;
    }

    .founder h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 1.5rem;
        margin: 0;
    }

    .founder p {
        margin: 8px 0 0;
        font-size: 1.1rem;
    }

/* ===== 2. Board Members ===== */
.ab-board {
    position: relative;
    background: var(--orange);
    padding: 120px 0 90px;
}
    /* Upar ka slanted white kinara */
    .ab-board::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        right: 0;
        height: 60px;
        background: #fff;
        clip-path: polygon(0 0, 100% 0, 0 100%);
    }

    .ab-board h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        color: #fff;
        text-align: center;
        font-size: clamp(2rem, 4vw, 2.8rem);
        margin-bottom: 40px;
    }

.bm-card {
    background: #fff;
    text-align: center;
    border-bottom: 5px solid #dbe1ec;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .15);
    height: 100%;
    transition: background .35s, transform .35s, border-color .35s, box-shadow .35s;
}

    .bm-card img {
        width: 100%;
        aspect-ratio: 5 / 6;
        object-fit: cover;
        object-position: center top;
        display: block;
    }

.bm-info {
    padding: 22px 10px 26px;
}

    .bm-info h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: 1.1rem;
        margin: 0 0 4px;
        color: #111;
        transition: color .35s;
    }

    .bm-info p {
        margin: 0;
        font-size: .8rem;
        letter-spacing: .5px;
        color: #777;
        transition: color .35s;
    }

/* HOVER: card blue ho jata hai */
.bm-card:hover {
    background: var(--navy);
    border-bottom-color: #2f6bff;
    transform: translateY(-8px);
    box-shadow: 0 18px 36px rgba(0, 0, 0, .3);
}

    .bm-card:hover h4,
    .bm-card:hover p {
        color: #fff;
    }

/* ===== 3. Staggered gallery ===== */
.ab-stag {
    background: #fff;
    padding: 50px 0 0;
    position: relative;
    z-index: 2; /* footer ke upar tak aaye */
}

.stag {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 310px));
    justify-content: space-between;
    align-items: start;
}

    .stag figure {
        margin: 0;
        overflow: hidden;
    }

    .stag img {
        width: 100%;
        aspect-ratio: 31 / 50;
        object-fit: cover;
        display: block;
        transition: transform .5s;
    }

    .stag figure:hover img {
        transform: scale(1.06);
    }

    /* Alag-alag height */
    .stag figure:nth-child(1) {
        margin-top: 44px;
    }

    .stag figure:nth-child(2) {
        margin-top: 340px;
        margin-bottom: -180px;
    }
    /* footer me utarta hai */
    .stag figure:nth-child(3) {
        margin-top: 0;
    }

/* ===== Tablet / Mobile ===== */
@media (max-width: 991px) {
    .ab-intro {
        padding: 60px 0 70px;
    }

    .founder::before {
        right: -20px;
    }

    .ab-board {
        padding: 100px 0 60px;
    }
}

@media (max-width: 767px) {
    .stag {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

        .stag figure:nth-child(n) {
            margin: 0;
        }

        .stag figure:nth-child(3) {
            grid-column: 1 / -1;
        }

    .ab-stag {
        padding: 30px 0;
    }
}
/*========== About Us Style END ============*/

/* ===== Vision & Mission Style ===== */
.vm-sec {
    padding: 60px 0 44px;
    overflow: hidden;
}

.vm-white {
    background: #fff;
}

.vm-grey {
    background: #fafafa;
}

.vm-blue {
    background: #e6e9f2;
}

.vm-sec .vm-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    /*    font-size: clamp(2.3rem, 4.2vw, 3.4rem);*/
    font-size: clamp(1.5rem, 1.2vw, 3.2rem);
    text-transform: uppercase;
    color: var(--red, #a32828);
    margin: 0 0 30px;
}

.vm-sec .vm-text p {
    font-size: .95rem;
    line-height: 1.55;
    color: var(--ink, #14213d);
    max-width: 460px;
    margin: 0 0 14px;
}

/* Image + peela offset block */
.vm-sec .vm-img {
    position: relative;
    width: 100%;
}

    .vm-sec .vm-img::before {
        content: "";
        position: absolute;
        right: -32px;
        bottom: -32px;
        width: 45%;
        height: 45%;
        background: #ffc233;
        z-index: 0;
    }

    .vm-sec .vm-img.vm-left::before {
        right: auto;
        left: -32px;
    }

.vm-sec .vm-pic {
    position: relative;
    z-index: 1;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .15);
}

    .vm-sec .vm-pic img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 7 / 6;
        object-fit: cover;
        transition: transform .6s;
    }

.vm-sec .vm-img:hover .vm-pic img {
    transform: scale(1.05);
}

@media (max-width: 991px) {
    .vm-sec {
        padding: 45px 0 30px;
    }

        .vm-sec .vm-text p {
            max-width: 100%;
        }

        .vm-sec .vm-img::before {
            right: -14px;
            bottom: -14px;
        }

        .vm-sec .vm-img.vm-left::before {
            left: -14px;
        }

        .vm-sec .container-xl {
            padding-left: 24px;
            padding-right: 24px;
        }
}
/*=========== Vision & Mission END ===========*/

/* ===== Manager's Desk ===== */
.dd-sec {
    padding: 80px 0 90px;
    background: #fff;
    overflow: hidden;
}

/* ----- Photo card ----- */
.dd-photo {
    position: relative;
    max-width: 380px;
    margin: 0 auto;
}

    .dd-photo .frame {
        position: relative;
        z-index: 1;
    }

        .dd-photo .frame::before { /* peela block (theme) */
            content: "";
            position: absolute;
            right: -26px;
            bottom: -26px;
            width: 62%;
            height: 56%;
            background: #ffc233;
            z-index: -1;
        }

        .dd-photo .frame::after { /* navy outline frame */
            content: "";
            position: absolute;
            left: -14px;
            top: -14px;
            width: 55%;
            height: 45%;
            border: 4px solid var(--navy, #1a3c6e);
            z-index: -1;
        }

    .dd-photo img {
        display: block;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 4 / 5;
        object-fit: cover;
        object-position: center top;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
    }

/* Naam wali navy plate (photo ke neeche overlap) */
.dd-name {
    position: relative;
    z-index: 2;
    margin: -32px 18px 0 -14px;
    padding: 16px 20px;
    background: var(--navy, #1a3c6e);
    color: #fff;
    border-left: 6px solid var(--orange, #ff8a1f);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .25);
}

    .dd-name h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: 1.2rem;
        margin: 0 0 4px;
    }

    .dd-name span {
        font-size: .8rem;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-weight: 600;
    }

/* ----- Message ----- */
.dd-msg {
    position: relative;
}

    .dd-msg .qmark { /* peeche bada halka quote */
        position: absolute;
        top: -24px;
        right: 0;
        font-size: 7rem;
        color: var(--navy, #1a3c6e);
        opacity: .07;
        line-height: 1;
    }

.dd-label {
    display: inline-block;
    color: var(--orange, #ff8a1f);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: .8rem;
    margin-bottom: 10px;
}

.dd-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--navy, #1a3c6e);
    font-size: clamp(2.2rem, 4.4vw, 3.3rem);
    margin: 0 0 14px;
    position: relative;
    padding-bottom: 16px;
}

    .dd-title::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 70px;
        height: 4px;
        border-radius: 2px;
        background: var(--orange, #ff8a1f);
    }

.dd-msg p {
    font-size: .97rem;
    line-height: 1.7;
    color: var(--ink, #14213d);
    margin-bottom: 16px;
}

    .dd-msg p.lead {
        font-size: 1.12rem;
        font-weight: 500;
        color: var(--navy, #1a3c6e);
    }

.dd-sign {
    margin-top: 26px;
    padding-top: 18px;
    border-top: 2px dashed #cfd8e6;
    display: flex;
    align-items: center;
    gap: 14px;
}

    .dd-sign i {
        font-size: 1.8rem;
        color: var(--orange, #ff8a1f);
    }

    .dd-sign b {
        display: block;
        font-family: 'Montserrat', sans-serif;
        color: var(--navy, #1a3c6e);
    }

    .dd-sign small {
        color: #6b7a90;
    }

/* ----- Quote band ----- */
.dd-quote {
    background: linear-gradient(135deg, var(--navy, #1a3c6e), #0f2a52);
    color: #fff;
    text-align: center;
    padding: 70px 0;
    position: relative;
}

    .dd-quote::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        right: 0;
        height: 46px;
        background: #fff;
        clip-path: polygon(0 0, 100% 0, 0 100%); /* slanted kinara (theme) */
    }

    .dd-quote i {
        font-size: 2.4rem;
        color: var(--orange, #ff8a1f);
        margin-bottom: 14px;
    }

    .dd-quote blockquote {
        max-width: 820px;
        margin: 0 auto;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-style: italic;
        font-size: clamp(1.2rem, 2.4vw, 1.7rem);
        line-height: 1.5;
    }

    .dd-quote cite {
        display: block;
        margin-top: 18px;
        color: var(--orange, #ff8a1f);
        font-style: normal;
        letter-spacing: 2px;
        text-transform: uppercase;
        font-size: .85rem;
        font-weight: 700;
    }

/* ----- Focus cards (hover par blue) ----- */
.dd-focus {
    background: #eef7fc;
    padding: 80px 0;
}

    .dd-focus h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-align: center;
        color: var(--orange, #ff8a1f);
        text-transform: uppercase;
        font-size: clamp(1.8rem, 3.4vw, 2.5rem);
        margin-bottom: 40px;
    }

.dd-card {
    height: 100%;
    background: #fff;
    text-align: center;
    padding: 36px 24px;
    border-bottom: 5px solid #dbe1ec;
    box-shadow: 0 8px 22px rgba(26, 60, 110, .1);
    transition: background .35s, transform .35s, border-color .35s, box-shadow .35s;
}

    .dd-card .ico {
        width: 84px;
        height: 84px;
        margin: 0 auto 18px;
        border-radius: 50%;
        background: #f4f6fb;
        color: var(--navy, #1a3c6e);
        font-size: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background .35s, color .35s;
    }

    .dd-card h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1.2rem;
        color: var(--navy, #1a3c6e);
        transition: color .35s;
    }

    .dd-card p {
        margin: 0;
        color: #6b7a90;
        font-size: .92rem;
        line-height: 1.6;
        transition: color .35s;
    }

    .dd-card:hover {
        background: var(--navy, #1a3c6e);
        border-bottom-color: #2f6bff;
        transform: translateY(-8px);
        box-shadow: 0 18px 36px rgba(0, 0, 0, .25);
    }

        .dd-card:hover .ico {
            background: #fff;
            color: var(--orange, #ff8a1f);
        }

        .dd-card:hover h4, .dd-card:hover p {
            color: #fff;
        }

/* ----- Responsive ----- */
@media (max-width: 991px) {
    .dd-sec {
        padding: 60px 0 70px;
    }

    .dd-msg {
        margin-top: 20px;
    }

        .dd-msg .qmark {
            font-size: 5rem;
            top: -10px;
        }

    .dd-focus {
        padding: 60px 0;
    }
}

@media (max-width: 575px) {
    .dd-photo .frame::before {
        right: -12px;
        bottom: -12px;
    }

    .dd-photo .frame::after {
        left: -8px;
        top: -8px;
    }

    .dd-name {
        margin: -26px 8px 0 -6px;
    }

    .dd-quote {
        padding: 56px 0;
    }
}
/*======== Manager's Desk Style END ==========*/

/* ===== Principal's Desk ===== */
.pd-sec {
    padding: 80px 0 90px;
    background: linear-gradient(180deg, #f7fbff, #ffffff);
    overflow: hidden;
}

/* ----- Photo: arch shape + orange outline ----- */
.pd-photo {
    position: relative;
    max-width: 360px;
    margin: 0 auto;
    padding-bottom: 36px;
}

.pd-arch {
    position: relative;
}

    .pd-arch::before { /* peeche orange outline arch */
        content: "";
        position: absolute;
        inset: 0;
        transform: translate(-18px, 18px);
        border: 4px solid var(--orange, #ff8a1f);
        border-radius: 999px 999px 14px 14px;
        z-index: 0;
    }

    .pd-arch img {
        position: relative;
        z-index: 1;
        display: block;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 4 / 5;
        object-fit: cover;
        object-position: center top;
        border-radius: 999px 999px 14px 14px; /* arch */
        box-shadow: 0 14px 34px rgba(26, 60, 110, .25);
    }

/* Naam card: photo ke neeche beech me, white */
.pd-name {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 2;
    width: 84%;
    text-align: center;
    background: #fff;
    border-radius: 12px;
    padding: 14px 12px 12px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .18);
    border-top: 4px solid var(--navy, #1a3c6e);
}

    .pd-name h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: 1.1rem;
        color: var(--navy, #1a3c6e);
        margin: 0 0 6px;
    }

    .pd-name span {
        display: inline-block;
        background: var(--orange, #ff8a1f);
        color: #fff;
        font-size: .72rem;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 3px 14px;
        border-radius: 20px;
    }

/* ----- Message (left) ----- */
.pd-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--orange, #ff8a1f);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: .8rem;
    margin-bottom: 8px;
}

    .pd-label::before {
        content: "";
        width: 36px;
        height: 3px;
        background: var(--orange, #ff8a1f);
        border-radius: 2px;
    }

.pd-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--navy, #1a3c6e);
    font-size: clamp(2.2rem, 4.4vw, 3.3rem);
    margin: 0 0 24px;
}

.pd-msg p {
    font-size: .97rem;
    line-height: 1.7;
    color: var(--ink, #14213d);
    margin-bottom: 16px;
}
    /* Pehle paragraph me bada pehla akshar + left line */
    .pd-msg p.first {
        border-left: 4px solid var(--orange, #ff8a1f);
        padding-left: 18px;
        font-size: 1.05rem;
    }

        .pd-msg p.first::first-letter {
            float: left;
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 3.4rem;
            line-height: .9;
            margin: 4px 10px 0 0;
            color: var(--orange, #ff8a1f);
        }

.pd-sign {
    margin-top: 26px;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border-radius: 50px;
    padding: 10px 26px 10px 12px;
    box-shadow: 0 6px 18px rgba(26, 60, 110, .12);
}

    .pd-sign i {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: var(--navy, #1a3c6e);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .pd-sign b {
        display: block;
        font-family: 'Montserrat', sans-serif;
        color: var(--navy, #1a3c6e);
    }

    .pd-sign small {
        color: #6b7a90;
    }

/* ----- Quote band (sky blue, halka) ----- */
.pd-quote {
    position: relative;
    background: var(--sky, #bfe9f7);
    text-align: center;
    padding: 80px 0 70px;
}

    .pd-quote::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        right: 0;
        height: 46px;
        background: #fff;
        clip-path: polygon(100% 0, 0 0, 100% 100%); /* Director page ke ulte side ka slant */
    }

    .pd-quote .qi {
        width: 64px;
        height: 64px;
        margin: 0 auto 18px;
        border-radius: 50%;
        background: #fff;
        color: var(--orange, #ff8a1f);
        font-size: 1.6rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 6px 16px rgba(26, 60, 110, .18);
    }

    .pd-quote blockquote {
        max-width: 820px;
        margin: 0 auto;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: clamp(1.15rem, 2.3vw, 1.6rem);
        line-height: 1.55;
        color: var(--navy, #1a3c6e);
    }

    .pd-quote cite {
        display: block;
        margin-top: 16px;
        font-style: normal;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
        font-size: .85rem;
        color: var(--orange, #ff8a1f);
    }

/* ----- Numbered priority cards (hover par orange) ----- */
.pd-prio {
    padding: 80px 0;
    background: #fff;
}

    .pd-prio h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-align: center;
        color: var(--navy, #1a3c6e);
        text-transform: uppercase;
        font-size: clamp(1.8rem, 3.4vw, 2.5rem);
        margin-bottom: 44px;
    }

.pd-card {
    position: relative;
    height: 100%;
    padding: 56px 26px 30px;
    border-radius: 16px;
    background: #f4f8fc;
    border: 1px solid #e2eaf3;
    overflow: hidden;
    transition: background .35s, transform .35s, box-shadow .35s, border-color .35s;
}

    .pd-card .no {
        position: absolute;
        top: 6px;
        right: 18px;
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: 4.2rem;
        line-height: 1;
        color: transparent;
        -webkit-text-stroke: 2px #cfdbea; /* khali outline number */
        transition: -webkit-text-stroke-color .35s;
    }

    .pd-card h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1.2rem;
        color: var(--navy, #1a3c6e);
        margin-bottom: 10px;
        transition: color .35s;
    }

    .pd-card p {
        margin: 0;
        font-size: .92rem;
        line-height: 1.6;
        color: #5d6c82;
        transition: color .35s;
    }

    .pd-card::after { /* neeche badhti patti */
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        height: 5px;
        width: 40%;
        background: var(--orange, #ff8a1f);
        transition: width .4s;
    }

    .pd-card:hover {
        background: var(--orange, #ff8a1f);
        border-color: var(--orange, #ff8a1f);
        transform: translateY(-8px);
        box-shadow: 0 18px 36px rgba(255, 138, 31, .4);
    }

        .pd-card:hover h4, .pd-card:hover p {
            color: #fff;
        }

        .pd-card:hover .no {
            -webkit-text-stroke-color: rgba(255, 255, 255, .6);
        }

        .pd-card:hover::after {
            width: 100%;
            background: var(--navy, #1a3c6e);
        }

/* ----- Responsive ----- */
@media (max-width: 991px) {
    .pd-sec {
        padding: 60px 0 70px;
    }

    .pd-prio {
        padding: 60px 0;
    }
}

@media (max-width: 575px) {
    .pd-arch::before {
        transform: translate(-10px, 10px);
    }

    .pd-quote {
        padding: 66px 0 56px;
    }
}
/*========== Principal's Desk Style END =============*/

/* ===== General Instructions ===== */
.gi-sec {
    padding: 80px 0 90px;
    background: linear-gradient(180deg, #eef7fc, #ffffff);
}

/* Heading */
.gi-head {
    text-align: center;
    margin-bottom: 46px;
}

    .gi-head .gi-ico {
        width: 64px;
        height: 64px;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: var(--navy, #1a3c6e);
        color: #fff;
        font-size: 1.6rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(26, 60, 110, .3);
    }

    .gi-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.9rem, 4vw, 2.8rem);
        margin: 0 0 12px;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .gi-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

    .gi-head p {
        margin: 0;
        color: #6b7a90;
    }

/* ----- List ----- */
.gi-list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: gi;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

    .gi-list li {
        counter-increment: gi;
        position: relative;
        display: flex;
        align-items: flex-start;
        gap: 18px;
        padding: 26px 24px 26px 22px;
        background: #fff;
        border-radius: 14px;
        border-left: 6px solid var(--orange, #ff8a1f);
        box-shadow: 0 8px 22px rgba(26, 60, 110, .1);
        color: var(--ink, #14213d);
        font-size: .98rem;
        line-height: 1.65;
        transition: background .35s, color .35s, transform .35s, box-shadow .35s, border-color .35s;
    }

        /* Number badge (auto 1,2,3...) */
        .gi-list li::before {
            content: counter(gi);
            flex: 0 0 48px;
            height: 48px;
            border-radius: 50%;
            background: var(--navy, #1a3c6e);
            color: #fff;
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 1.2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background .35s, color .35s;
        }

        .gi-list li .gi-text {
            flex: 1;
            padding-top: 10px;
        }

        /* Peeche bada halka icon */
        .gi-list li i {
            position: absolute;
            right: 18px;
            bottom: 10px;
            font-size: 3.2rem;
            color: var(--navy, #1a3c6e);
            opacity: .07;
            transition: opacity .35s, color .35s;
        }

        /* Hover: card blue */
        .gi-list li:hover {
            background: var(--navy, #1a3c6e);
            color: #fff;
            border-left-color: #2f6bff;
            transform: translateY(-6px);
            box-shadow: 0 18px 36px rgba(26, 60, 110, .35);
        }

            .gi-list li:hover::before {
                background: var(--orange, #ff8a1f);
            }

            .gi-list li:hover i {
                color: #fff;
                opacity: .15;
            }

/* ----- Responsive ----- */
@media (max-width: 991px) {
    .gi-sec {
        padding: 60px 0 70px;
    }

    .gi-list {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media (max-width: 575px) {
    .gi-list li {
        padding: 20px 16px;
        gap: 14px;
    }

        .gi-list li::before {
            flex-basis: 40px;
            height: 40px;
            font-size: 1rem;
        }

        .gi-list li .gi-text {
            padding-top: 6px;
        }
}
/*============ General Instruction Style END ===============*/

/* ===== Special Features ===== */
.sf-sec {
    padding: 80px 0 90px;
    background: linear-gradient(180deg, #eef7fc, #fff 40%);
}

/* Heading */
.sf-head {
    text-align: center;
    margin-bottom: 40px;
}

    .sf-head .ic {
        width: 64px;
        height: 64px;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: linear-gradient(135deg, #ffd95a, #e0a800);
        color: #fff;
        font-size: 1.6rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(224, 168, 0, .4);
    }

    .sf-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.9rem, 4vw, 2.8rem);
        margin: 0 0 12px;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .sf-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

    .sf-head p {
        margin: 0;
        color: #6b7a90;
    }

/* Top highlights strip */
.sf-hl {
    margin-bottom: 60px;
}

    .sf-hl .item {
        background: var(--navy, #1a3c6e);
        color: #fff;
        border-radius: 14px;
        padding: 22px 16px;
        text-align: center;
        height: 100%;
        transition: background .3s, transform .3s;
    }

        .sf-hl .item:hover {
            background: var(--orange, #ff8a1f);
            transform: translateY(-6px);
        }

        .sf-hl .item b {
            display: block;
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 1.9rem;
            line-height: 1.1;
        }

        .sf-hl .item span {
            font-size: .85rem;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            opacity: .9;
        }

/* Group title */
.sf-group {
    margin-bottom: 54px;
}

    .sf-group:last-child {
        margin-bottom: 0;
    }

.sf-gt {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--navy, #1a3c6e);
    font-size: clamp(1.3rem, 2.4vw, 1.8rem);
    text-transform: uppercase;
}

    .sf-gt::before {
        content: "";
        width: 8px;
        height: 34px;
        border-radius: 4px;
        background: var(--orange, #ff8a1f);
    }

    .sf-gt::after {
        content: "";
        flex: 1;
        height: 2px;
        background: linear-gradient(to right, #cfdbea, transparent);
    }

/* Feature tile */
.sf-card {
    height: 100%;
    background: #fff;
    border-radius: 14px;
    padding: 28px 22px;
    display: flex;
    align-items: center;
    gap: 18px;
    border-bottom: 5px solid #dbe1ec;
    box-shadow: 0 8px 22px rgba(26, 60, 110, .1);
    color: var(--ink, #14213d);
    font-size: .97rem;
    line-height: 1.5;
    font-weight: 500;
    transition: background .35s, color .35s, transform .35s, border-color .35s, box-shadow .35s;
}

    .sf-card .ico {
        flex: 0 0 58px;
        height: 58px;
        border-radius: 50%;
        background: #f4f6fb;
        color: var(--navy, #1a3c6e);
        font-size: 1.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background .35s, color .35s;
    }

    .sf-card:hover {
        background: var(--navy, #1a3c6e);
        color: #fff;
        border-bottom-color: #2f6bff;
        transform: translateY(-8px);
        box-shadow: 0 18px 36px rgba(26, 60, 110, .35);
    }

        .sf-card:hover .ico {
            background: #fff;
            color: var(--orange, #ff8a1f);
        }

@media (max-width: 991px) {
    .sf-sec {
        padding: 60px 0 70px;
    }

    .sf-hl {
        margin-bottom: 44px;
    }
}

@media (max-width: 575px) {
    .sf-card {
        padding: 20px 16px;
        gap: 14px;
    }

        .sf-card .ico {
            flex-basis: 50px;
            height: 50px;
        }
}
/*======== Special Features Style END ==========*/

/* ===== Admission Procedure ===== */
.ap-sec {
    padding: 80px 0;
    overflow: hidden;
}

.ap-white {
    background: #fff;
}

.ap-sky {
    background: #eef7fc;
}

/* Section heading */
.ap-head {
    text-align: center;
    margin-bottom: 48px;
}

    .ap-head .ic {
        width: 62px;
        height: 62px;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: var(--navy, #1a3c6e);
        color: #fff;
        font-size: 1.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(26, 60, 110, .3);
    }

    .ap-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.8rem, 3.8vw, 2.6rem);
        margin: 0;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .ap-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

/* ----- 1. Registration: icon steps with dashed connector ----- */
.ap-step {
    position: relative;
    text-align: center;
    padding: 0 8px;
}

    .ap-step .circle {
        position: relative;
        z-index: 2;
        width: 92px;
        height: 92px;
        margin: 0 auto 18px;
        border-radius: 50%;
        background: var(--navy, #1a3c6e);
        color: #fff;
        font-size: 2.2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 10px 24px rgba(26, 60, 110, .3);
        transition: background .35s, transform .35s;
    }

    .ap-step .no {
        position: absolute;
        top: -4px;
        right: -4px;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: var(--orange, #ff8a1f);
        color: #fff;
        border: 3px solid #fff;
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: .85rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .ap-step p {
        margin: 0;
        font-size: .92rem;
        line-height: 1.55;
        color: var(--ink, #14213d);
    }

    .ap-step:hover .circle {
        background: var(--orange, #ff8a1f);
        transform: translateY(-6px) scale(1.05);
    }

@media (min-width: 992px) {
    .ap-step:not(:last-child)::after { /* dashed connector */
        content: "";
        position: absolute;
        z-index: 1;
        top: 46px;
        left: 50%;
        width: 100%;
        border-top: 3px dashed #b9c9e8;
    }
}

/* Note callout */
.ap-note {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 46px;
    background: #fff6d6;
    border-left: 6px solid #ffc233;
    border-radius: 12px;
    padding: 18px 24px;
    font-weight: 600;
    color: var(--navy, #1a3c6e);
}

    .ap-note i {
        font-size: 2rem;
        color: var(--orange, #ff8a1f);
    }

/* ----- 2. Admission process: photo + vertical flow ----- */
.ap-photo {
    position: relative;
    max-width: 460px;
    margin: 0 auto;
}

    .ap-photo::before {
        content: "";
        position: absolute;
        right: -26px;
        bottom: -26px;
        width: 58%;
        height: 52%;
        background: #ffc233;
        z-index: 0;
    }

    .ap-photo img {
        position: relative;
        z-index: 1;
        display: block;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 13 / 6;
        object-fit: cover;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
    }

.ap-flow {
    position: relative;
    padding-left: 4px;
}

    .ap-flow::before { /* vertical line */
        content: "";
        position: absolute;
        left: 34px;
        top: 30px;
        bottom: 30px;
        border-left: 3px dashed #b9c9e8;
    }

.ap-fi {
    position: relative;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 26px;
}

    .ap-fi:last-child {
        margin-bottom: 0;
    }

    .ap-fi .ico {
        position: relative;
        z-index: 1;
        flex: 0 0 62px;
        height: 62px;
        border-radius: 50%;
        background: var(--orange, #ff8a1f);
        color: #fff;
        font-size: 1.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 18px rgba(255, 138, 31, .4);
        border: 4px solid #eef7fc;
    }

    .ap-fi .box {
        flex: 1;
        background: #fff;
        border-radius: 14px;
        padding: 18px 22px;
        box-shadow: 0 8px 22px rgba(26, 60, 110, .1);
        border-bottom: 5px solid #dbe1ec;
        transition: background .35s, color .35s, transform .35s, border-color .35s;
    }

        .ap-fi .box h4 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 1.1rem;
            color: var(--navy, #1a3c6e);
            margin: 0 0 6px;
            transition: color .35s;
        }

        .ap-fi .box p {
            margin: 0;
            font-size: .93rem;
            line-height: 1.55;
            color: #5d6c82;
            transition: color .35s;
        }

    .ap-fi:hover .box {
        background: var(--navy, #1a3c6e);
        border-bottom-color: #2f6bff;
        transform: translateX(6px);
    }

        .ap-fi:hover .box h4, .ap-fi:hover .box p {
            color: #fff;
        }

/* ----- 3. Policy cards (hover blue) ----- */
.ap-pol {
    height: 100%;
    background: #fff;
    text-align: center;
    padding: 34px 20px;
    border-bottom: 5px solid #dbe1ec;
    box-shadow: 0 8px 22px rgba(26, 60, 110, .1);
    transition: background .35s, transform .35s, border-color .35s, box-shadow .35s;
}

    .ap-pol .ico {
        width: 80px;
        height: 80px;
        margin: 0 auto 16px;
        border-radius: 50%;
        background: #f4f6fb;
        color: var(--navy, #1a3c6e);
        font-size: 1.9rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background .35s, color .35s;
    }

    .ap-pol p {
        margin: 0;
        font-size: .95rem;
        line-height: 1.55;
        color: var(--ink, #14213d);
        transition: color .35s;
    }

    .ap-pol:hover {
        background: var(--navy, #1a3c6e);
        border-bottom-color: #2f6bff;
        transform: translateY(-8px);
        box-shadow: 0 18px 36px rgba(26, 60, 110, .3);
    }

        .ap-pol:hover .ico {
            background: #fff;
            color: var(--orange, #ff8a1f);
        }

        .ap-pol:hover p {
            color: #fff;
        }

/* Principal interaction band */
.ap-band {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 44px;
    color: #fff;
    background: linear-gradient(135deg, var(--navy, #1a3c6e), #0f2a52);
    border-radius: 16px;
    padding: 28px 32px;
    box-shadow: 0 12px 28px rgba(26, 60, 110, .3);
}

    .ap-band .ico {
        flex: 0 0 72px;
        height: 72px;
        border-radius: 50%;
        background: var(--orange, #ff8a1f);
        font-size: 1.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .ap-band p {
        margin: 0;
        line-height: 1.65;
    }

/* ----- 4. Documents ----- */
.ap-doc {
    height: 100%;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(26, 60, 110, .12);
}

    .ap-doc .hd {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 22px 26px;
        color: #fff;
        background: var(--navy, #1a3c6e);
    }

    .ap-doc.alt .hd {
        background: var(--orange, #ff8a1f);
    }

    .ap-doc .hd .ico {
        flex: 0 0 56px;
        height: 56px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .18);
        font-size: 1.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .ap-doc .hd h3 {
        margin: 0;
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: 1.15rem;
        text-transform: uppercase;
    }

    .ap-doc ul {
        list-style: none;
        margin: 0;
        padding: 10px 26px 18px;
    }

    .ap-doc li {
        display: flex;
        gap: 14px;
        align-items: flex-start;
        padding: 15px 0;
        border-bottom: 1px dashed #d3deeb;
        font-size: .95rem;
        line-height: 1.5;
        color: var(--ink, #14213d);
        transition: padding-left .25s, color .25s;
    }

        .ap-doc li:last-child {
            border-bottom: 0;
        }

        .ap-doc li i {
            flex: 0 0 26px;
            margin-top: 2px;
            font-size: 1.15rem;
            color: var(--orange, #ff8a1f);
            text-align: center;
        }

        .ap-doc li:hover {
            padding-left: 8px;
            color: var(--navy, #1a3c6e);
        }

.ap-stamp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 34px;
    background: #fff6d6;
    border: 2px dashed #ffc233;
    border-radius: 12px;
    padding: 16px 20px;
    font-weight: 700;
    color: var(--navy, #1a3c6e);
    text-align: center;
}

    .ap-stamp i {
        font-size: 1.6rem;
        color: var(--orange, #ff8a1f);
    }

/* ----- Responsive ----- */
@media (max-width: 991px) {
    .ap-sec {
        padding: 60px 0;
    }

    .ap-step {
        margin-bottom: 8px;
    }

    .ap-photo::before {
        right: -14px;
        bottom: -14px;
    }
}

@media (max-width: 575px) {
    .ap-note, .ap-band {
        flex-direction: column;
        text-align: center;
        padding: 22px 18px;
    }

    .ap-fi .ico {
        flex-basis: 52px;
        height: 52px;
        font-size: 1.2rem;
    }

    .ap-flow::before {
        left: 28px;
    }

    .ap-doc .hd, .ap-doc ul {
        padding-left: 18px;
        padding-right: 18px;
    }
}
/*======== Admission Procedure Style END ===========*/

/* ===== Academic System ===== */
.as-sec {
    padding: 80px 0 90px;
    background: linear-gradient(180deg, #eef7fc, #fff 35%);
}

/* Heading */
.as-head {
    text-align: center;
    margin-bottom: 40px;
}

    .as-head .ic {
        width: 64px;
        height: 64px;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: var(--navy, #1a3c6e);
        color: #fff;
        font-size: 1.6rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(26, 60, 110, .3);
    }

    .as-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.9rem, 4vw, 2.8rem);
        margin: 0 0 12px;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .as-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

    .as-head p {
        margin: 0;
        color: #6b7a90;
    }

/* Key numbers strip */
.as-stats {
    margin-bottom: 50px;
}

.as-stat {
    height: 100%;
    text-align: center;
    color: #fff;
    border-radius: 16px;
    padding: 24px 16px;
    background: var(--navy, #1a3c6e);
    box-shadow: 0 10px 24px rgba(26, 60, 110, .25);
    transition: transform .3s, background .3s;
}

    .as-stat:hover {
        transform: translateY(-6px);
        background: var(--orange, #ff8a1f);
    }

    .as-stat b {
        display: block;
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: 2.4rem;
        line-height: 1.05;
    }

    .as-stat span {
        font-size: .82rem;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        opacity: .92;
    }

    .as-stat.warn {
        background: #a32828;
    }

        .as-stat.warn:hover {
            background: var(--orange, #ff8a1f);
        }

/* ----- Listing ----- */
.as-list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 960px;
    counter-reset: as;
}

    .as-list li {
        counter-increment: as;
        position: relative;
        display: flex;
        align-items: flex-start;
        gap: 20px;
        margin-bottom: 18px;
        padding: 22px 80px 22px 22px;
        background: #fff;
        border-radius: 14px;
        border-left: 6px solid var(--orange, #ff8a1f);
        box-shadow: 0 8px 22px rgba(26, 60, 110, .1);
        transition: background .35s, color .35s, transform .35s, box-shadow .35s, border-color .35s;
    }

        .as-list li::after { /* bada outline number (right) */
            content: counter(as, decimal-leading-zero);
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 2.6rem;
            color: transparent;
            -webkit-text-stroke: 2px #d3deeb;
            transition: -webkit-text-stroke-color .35s;
        }

    .as-list .ico {
        flex: 0 0 56px;
        height: 56px;
        border-radius: 14px;
        background: #f4f6fb;
        color: var(--navy, #1a3c6e);
        font-size: 1.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background .35s, color .35s;
    }

    .as-list .tag {
        display: inline-block;
        margin-bottom: 6px;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
    }

    .as-list .txt {
        margin: 0;
        font-size: .98rem;
        line-height: 1.65;
        color: var(--ink, #14213d);
        transition: color .35s;
    }

        .as-list .txt strong {
            color: var(--navy, #1a3c6e);
            transition: color .35s;
        }

    .as-list li:hover {
        background: var(--navy, #1a3c6e);
        border-left-color: #2f6bff;
        transform: translateX(8px);
        box-shadow: 0 16px 34px rgba(26, 60, 110, .35);
    }

        .as-list li:hover .ico {
            background: #fff;
            color: var(--orange, #ff8a1f);
        }

        .as-list li:hover .txt, .as-list li:hover .txt strong {
            color: #fff;
        }

        .as-list li:hover::after {
            -webkit-text-stroke-color: rgba(255, 255, 255, .45);
        }

@media (max-width: 991px) {
    .as-sec {
        padding: 60px 0 70px;
    }
}

@media (max-width: 575px) {
    .as-list li {
        padding: 18px 16px;
        gap: 14px;
    }

        .as-list li::after {
            display: none;
        }

    .as-list .ico {
        flex-basis: 46px;
        height: 46px;
        font-size: 1.15rem;
    }

    .as-list li:hover {
        transform: none;
    }
}
/* ===== Academic System END ===== */

/* =========================================================
   STUDENT TC PAGE END
========================================================= */
.tc-section {
    padding: 60px 15px;
    min-height: 100vh;
}

.tc-wrapper {
    max-width: 950px;
    margin: 0 auto;
}


/* =========================================
           PAGE HEADER
        ========================================= */

.tc-heading {
    text-align: center;
    margin-bottom: 35px;
}

.tc-title {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

    .tc-title i {
        color: var(--navy);
        font-size: 28px;
    }

    .tc-title h2 {
        font-family: 'Anton', Impact, sans-serif;
        margin: 0;
        color: var(--ink);
        font-size: 2.6rem;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: .5px;
    }

    .tc-title .heading-line {
        width: 60px;
        height: 3px;
        background: var(--yellow);
        margin-left: 5px;
    }

.tc-heading p {
    max-width: 700px;
    margin: 15px auto 0;
    color: #666;
    font-size: 15px;
    line-height: 1.7;
}


/* =========================================
           MAIN CARD
        ========================================= */

.tc-card {
    background: #fff;
    border-radius: 18px;
    padding: 35px;
    border: 1px solid #e9e9e9;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .07);
}


/* =========================================
           SEARCH HEADER
        ========================================= */

.tc-form-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

    .tc-form-heading i {
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--navy);
        color: var(--yellow);
        border-radius: 12px;
        font-size: 21px;
    }

    .tc-form-heading h3 {
        margin: 0;
        color: var(--navy);
        font-size: 22px;
        font-weight: 800;
    }

    .tc-form-heading span {
        display: block;
        margin-top: 3px;
        color: #777;
        font-size: 13px;
    }


/* =========================================
           FORM
        ========================================= */

.tc-label {
    display: block;
    margin-bottom: 7px;
    color: #333;
    font-size: 14px;
    font-weight: 700;
}

.tc-input,
.tc-select {
    width: 100%;
    height: 45px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    color: #444;
    font-size: 14px;
    outline: none;
    transition: .3s;
}

    .tc-input:focus,
    .tc-select:focus {
        border-color: var(--navy);
        box-shadow: 0 0 0 3px rgba(23, 59, 130, .08);
    }


/* DATE */

.date-label {
    margin-bottom: 10px;
    color: #333;
    font-size: 14px;
    font-weight: 700;
}

.date-selects {
    display: grid;
    grid-template-columns: 1fr 1fr 1.4fr;
    gap: 10px;
}


/* SEARCH BUTTON */

.tc-search-btn {
    width: 100%;
    height: 45px;
    border: 0;
    border-radius: 8px;
    background: var(--navy);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    transition: .3s;
    cursor: pointer;
}

    .tc-search-btn:hover {
        background: #102d67;
        transform: translateY(-1px);
    }

    .tc-search-btn i {
        margin-right: 6px;
    }


/* =========================================
           MESSAGE
        ========================================= */

.tc-message {
    display: block;
    margin: 20px 0 0;
    padding: 12px 15px;
    border-radius: 8px;
    background: #fff4f4;
    border-left: 4px solid #dc3545;
    color: #c62828;
    font-size: 14px;
    font-weight: 600;
}


/* =========================================
           TC PREVIEW
        ========================================= */

.tc-preview {
    margin-top: 35px;
    padding-top: 30px;
    border-top: 1px solid #eee;
}

.preview-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

    .preview-heading h3 {
        margin: 0;
        color: var(--navy);
        font-size: 21px;
        font-weight: 800;
    }

    .preview-heading i {
        color: var(--yellow);
        margin-right: 6px;
    }


/* IMAGE BOX */

.tc-image-box {
    position: relative;
    padding: 18px;
    background: #f7f7f7;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    text-align: center;
}

    .tc-image-box::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 80px;
        height: 80px;
        border-top: 5px solid var(--yellow);
        border-left: 5px solid var(--yellow);
        border-radius: 12px 0 0 0;
    }

    .tc-image-box img {
        position: relative;
        z-index: 1;
        max-width: 100%;
        height: auto;
        display: block;
        margin: 0 auto;
        border-radius: 5px;
        box-shadow: 0 5px 20px rgba(0,0,0,.10);
    }


/* =========================================
           PRINT BUTTON
        ========================================= */

.print-area {
    text-align: center;
    margin-top: 25px;
}

.print-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border: 0;
    border-radius: 8px;
    background: var(--yellow);
    color: var(--navy);
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: .3s;
}

    .print-btn:hover {
        background: var(--navy);
        color: #fff;
        transform: translateY(-2px);
    }


/* =========================================
           INFORMATION NOTE
        ========================================= */

.tc-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 25px;
    padding: 18px;
    background: #fffbea;
    border-left: 4px solid var(--yellow);
    border-radius: 0 10px 10px 0;
}

    .tc-note i {
        color: var(--navy);
        font-size: 20px;
    }

    .tc-note p {
        margin: 0;
        color: #666;
        font-size: 13px;
        line-height: 1.6;
    }


/* =========================================
           TABLET
        ========================================= */

@media (max-width: 767px) {

    .tc-section {
        padding: 40px 15px;
    }

    .tc-card {
        padding: 25px 20px;
    }

    .tc-title h2 {
        font-size: 25px;
    }

    .tc-title i {
        font-size: 23px;
    }

    .date-selects {
        grid-template-columns: repeat(3, 1fr);
    }
}


/* =========================================
           MOBILE
        ========================================= */

@media (max-width: 480px) {

    .tc-section {
        padding: 30px 10px;
    }

    .tc-card {
        padding: 20px 15px;
        border-radius: 14px;
    }

    .tc-title h2 {
        font-size: 21px;
    }

    .tc-title .heading-line {
        width: 40px;
    }

    .tc-heading p {
        font-size: 13px;
    }

    .tc-form-heading h3 {
        font-size: 18px;
    }

    .date-selects {
        grid-template-columns: 1fr;
    }

    .tc-image-box {
        padding: 10px;
    }

    .preview-heading h3 {
        font-size: 18px;
    }
}


/* =========================================
           PRINT
        ========================================= */

@media print {

    body {
        background: #fff;
    }

        body * {
            visibility: hidden;
        }

    .tc-print-content,
    .tc-print-content * {
        visibility: visible;
    }

    .tc-print-content {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        margin: 0;
        padding: 0;
        background: #fff;
    }

    .tc-image-box {
        border: 0;
        padding: 0;
        background: #fff;
    }

        .tc-image-box::before {
            display: none;
        }

        .tc-image-box img {
            width: 100%;
            max-width: 100%;
            box-shadow: none;
        }
}
/* =========================================================
   STUDENT TC PAGE END
========================================================= */

/* ===== Curriculum ===== */
.cu-sec {
    padding: 80px 0;
    overflow: hidden;
}

.cu-white {
    background: #fff;
}

.cu-sky {
    background: #eef7fc;
}

/* ----- Intro: photo + text ----- */
.cu-photo {
    position: relative;
    max-width: 560px;
    margin: 0 auto;
}

    .cu-photo::before { /* peela block */
        content: "";
        position: absolute;
        right: -28px;
        bottom: -28px;
        width: 55%;
        height: 50%;
        background: #ffc233;
        z-index: 0;
    }

    .cu-photo::after { /* navy outline */
        content: "";
        position: absolute;
        left: -14px;
        top: -14px;
        width: 40%;
        height: 36%;
        border: 4px solid var(--navy, #1a3c6e);
        z-index: 0;
    }

    .cu-photo img {
        position: relative;
        z-index: 1;
        display: block;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 7 / 6;
        object-fit: cover;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
    }

.cu-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--orange, #ff8a1f);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: .8rem;
}

    .cu-label::before {
        content: "";
        width: 36px;
        height: 3px;
        border-radius: 2px;
        background: var(--orange, #ff8a1f);
    }

.cu-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--navy, #1a3c6e);
    font-size: clamp(2.2rem, 4.4vw, 3.2rem);
    margin: 0 0 22px;
}

.cu-text p {
    font-size: .98rem;
    line-height: 1.75;
    color: var(--ink, #14213d);
    margin-bottom: 16px;
}

    .cu-text p.lead {
        font-size: 1.08rem;
        font-weight: 500;
        color: var(--navy, #1a3c6e);
    }

/* ----- Section heading ----- */
.cu-head {
    text-align: center;
    margin-bottom: 44px;
}

    .cu-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.8rem, 3.8vw, 2.6rem);
        margin: 0;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .cu-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

/* ----- Photo cards ----- */
.cu-card {
    height: 100%;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    border-bottom: 5px solid #dbe1ec;
    box-shadow: 0 10px 26px rgba(26, 60, 110, .12);
    transition: background .35s, transform .35s, border-color .35s, box-shadow .35s;
}

    .cu-card .pic {
        position: relative;
        overflow: hidden;
    }

        .cu-card .pic img {
            display: block;
            width: 100%;
            aspect-ratio: 4 / 3;
            object-fit: cover;
            transition: transform .5s;
        }

    .cu-card:hover .pic img {
        transform: scale(1.08);
    }

    .cu-card .pic .badge-ico { /* photo par gol icon */
        position: absolute;
        left: 20px;
        bottom: -26px;
        z-index: 2;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: var(--orange, #ff8a1f);
        color: #fff;
        font-size: 1.3rem;
        border: 4px solid #fff;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .cu-card .pic {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .cu-card .body {
        padding: 40px 24px 28px;
    }

    .cu-card h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1.2rem;
        color: var(--navy, #1a3c6e);
        margin: 0 0 8px;
        transition: color .35s;
    }

    .cu-card p {
        margin: 0;
        font-size: .93rem;
        line-height: 1.6;
        color: #5d6c82;
        transition: color .35s;
    }

    .cu-card:hover {
        background: var(--navy, #1a3c6e);
        border-bottom-color: #2f6bff;
        transform: translateY(-8px);
        box-shadow: 0 18px 36px rgba(26, 60, 110, .3);
    }

        .cu-card:hover h4, .cu-card:hover p {
            color: #fff;
        }

    .cu-card .pic-wrap {
        overflow: visible;
        position: relative;
    }

/* ----- Admissions CTA band ----- */
.cu-cta {
    position: relative;
    text-align: center;
    color: #fff;
    padding: 90px 0;
    background: linear-gradient(rgba(26, 60, 110, .85), rgba(10, 25, 55, .9)), var(--cta) center / cover no-repeat;
}

    .cu-cta .ic {
        width: 70px;
        height: 70px;
        margin: 0 auto 16px;
        border-radius: 50%;
        background: var(--orange, #ff8a1f);
        font-size: 1.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(0, 0, 0, .35);
    }

    .cu-cta h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: clamp(1.5rem, 3.4vw, 2.4rem);
        max-width: 780px;
        margin: 0 auto 28px;
        line-height: 1.3;
    }

.cu-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 40px;
    border-radius: 50px;
    background: var(--orange, #ff8a1f);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: .9rem;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
    transition: background .3s, color .3s, transform .3s;
}

    .cu-btn i {
        transition: transform .3s;
    }

    .cu-btn:hover {
        background: #fff;
        color: var(--navy, #1a3c6e);
        transform: translateY(-4px);
    }

        .cu-btn:hover i {
            transform: translateX(6px);
        }

@media (max-width: 991px) {
    .cu-sec {
        padding: 60px 0;
    }

    .cu-photo::before {
        right: -14px;
        bottom: -14px;
    }

    .cu-cta {
        padding: 70px 0;
    }
}

@media (max-width: 575px) {
    .cu-photo::after {
        left: -8px;
        top: -8px;
    }

    .cu-btn {
        padding: 14px 30px;
    }
}

.cu-sec {
    padding: 80px 0;
    overflow: hidden;
}

.cu-white {
    background: #fff;
}

.cu-sky {
    background: #eef7fc;
}

/* ----- Intro: photo + text ----- */
.cu-photo {
    position: relative;
    max-width: 560px;
    margin: 0 auto;
}

    .cu-photo::before { /* peela block */
        content: "";
        position: absolute;
        right: -28px;
        bottom: -28px;
        width: 55%;
        height: 50%;
        background: #ffc233;
        z-index: 0;
    }

    .cu-photo::after { /* navy outline */
        content: "";
        position: absolute;
        left: -14px;
        top: -14px;
        width: 40%;
        height: 36%;
        border: 4px solid var(--navy, #1a3c6e);
        z-index: 0;
    }

    .cu-photo img {
        position: relative;
        z-index: 1;
        display: block;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 7 / 6;
        object-fit: cover;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
    }

.cu-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--orange, #ff8a1f);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: .8rem;
}

    .cu-label::before {
        content: "";
        width: 36px;
        height: 3px;
        border-radius: 2px;
        background: var(--orange, #ff8a1f);
    }

.cu-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--navy, #1a3c6e);
    font-size: clamp(2.2rem, 4.4vw, 3.2rem);
    margin: 0 0 22px;
}

.cu-text p {
    font-size: .98rem;
    line-height: 1.75;
    color: var(--ink, #14213d);
    margin-bottom: 16px;
}

    .cu-text p.lead {
        font-size: 1.08rem;
        font-weight: 500;
        color: var(--navy, #1a3c6e);
    }

/* ----- Section heading ----- */
.cu-head {
    text-align: center;
    margin-bottom: 44px;
}

    .cu-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.8rem, 3.8vw, 2.6rem);
        margin: 0;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .cu-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

/* ----- Photo cards ----- */
.cu-card {
    height: 100%;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    border-bottom: 5px solid #dbe1ec;
    box-shadow: 0 10px 26px rgba(26, 60, 110, .12);
    transition: background .35s, transform .35s, border-color .35s, box-shadow .35s;
}

    .cu-card .pic {
        position: relative;
        overflow: hidden;
    }

        .cu-card .pic img {
            display: block;
            width: 100%;
            aspect-ratio: 4 / 3;
            object-fit: cover;
            transition: transform .5s;
        }

    .cu-card:hover .pic img {
        transform: scale(1.08);
    }

    .cu-card .pic .badge-ico { /* photo par gol icon */
        position: absolute;
        left: 20px;
        bottom: -26px;
        z-index: 2;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: var(--orange, #ff8a1f);
        color: #fff;
        font-size: 1.3rem;
        border: 4px solid #fff;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .cu-card .pic {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .cu-card .body {
        padding: 40px 24px 28px;
    }

    .cu-card h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1.2rem;
        color: var(--navy, #1a3c6e);
        margin: 0 0 8px;
        transition: color .35s;
    }

    .cu-card p {
        margin: 0;
        font-size: .93rem;
        line-height: 1.6;
        color: #5d6c82;
        transition: color .35s;
    }

    .cu-card:hover {
        background: var(--navy, #1a3c6e);
        border-bottom-color: #2f6bff;
        transform: translateY(-8px);
        box-shadow: 0 18px 36px rgba(26, 60, 110, .3);
    }

        .cu-card:hover h4, .cu-card:hover p {
            color: #fff;
        }

    .cu-card .pic-wrap {
        overflow: visible;
        position: relative;
    }

/* ----- Admissions CTA band ----- */
.cu-cta {
    position: relative;
    text-align: center;
    color: #fff;
    padding: 90px 0;
    background: linear-gradient(rgba(26, 60, 110, .85), rgba(10, 25, 55, .9)), var(--cta) center / cover no-repeat;
}

    .cu-cta .ic {
        width: 70px;
        height: 70px;
        margin: 0 auto 16px;
        border-radius: 50%;
        background: var(--orange, #ff8a1f);
        font-size: 1.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(0, 0, 0, .35);
    }

    .cu-cta h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: clamp(1.5rem, 3.4vw, 2.4rem);
        max-width: 780px;
        margin: 0 auto 28px;
        line-height: 1.3;
    }

.cu-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 40px;
    border-radius: 50px;
    background: var(--orange, #ff8a1f);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: .9rem;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
    transition: background .3s, color .3s, transform .3s;
}

    .cu-btn i {
        transition: transform .3s;
    }

    .cu-btn:hover {
        background: #fff;
        color: var(--navy, #1a3c6e);
        transform: translateY(-4px);
    }

        .cu-btn:hover i {
            transform: translateX(6px);
        }

@media (max-width: 991px) {
    .cu-sec {
        padding: 60px 0;
    }

    .cu-photo::before {
        right: -14px;
        bottom: -14px;
    }

    .cu-cta {
        padding: 70px 0;
    }
}

@media (max-width: 575px) {
    .cu-photo::after {
        left: -8px;
        top: -8px;
    }

    .cu-btn {
        padding: 14px 30px;
    }
}
/* ===== Curriculum END ===== */

/* ===== Co-curricular ===== */
.cc-sec {
    padding: 80px 0;
    overflow: hidden;
}

.cc-white {
    background: #fff;
}

.cc-sky {
    background: #eef7fc;
}

/* ----- Intro ----- */
.cc-photo {
    position: relative;
    max-width: 560px;
    margin: 0 auto;
}

    .cc-photo::before {
        content: "";
        position: absolute;
        right: -28px;
        bottom: -28px;
        width: 55%;
        height: 50%;
        background: #ffc233;
        z-index: 0;
    }

    .cc-photo::after {
        content: "";
        position: absolute;
        left: -14px;
        top: -14px;
        width: 40%;
        height: 36%;
        border: 4px solid var(--navy, #1a3c6e);
        z-index: 0;
    }

    .cc-photo img {
        position: relative;
        z-index: 1;
        display: block;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 7 / 6;
        object-fit: cover;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
    }

.cc-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--orange, #ff8a1f);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: .8rem;
}

    .cc-label::before {
        content: "";
        width: 36px;
        height: 3px;
        border-radius: 2px;
        background: var(--orange, #ff8a1f);
    }

.cc-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--navy, #1a3c6e);
    font-size: clamp(2rem, 4vw, 3rem);
    margin: 0 0 22px;
    line-height: 1.1;
}

.cc-text p {
    font-size: .98rem;
    line-height: 1.75;
    color: var(--ink, #14213d);
    margin-bottom: 16px;
}

    .cc-text p.lead {
        font-size: 1.08rem;
        font-weight: 500;
        color: var(--navy, #1a3c6e);
    }

/* ----- Section heading ----- */
.cc-head {
    text-align: center;
    margin-bottom: 44px;
}

    .cc-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.8rem, 3.8vw, 2.6rem);
        margin: 0 0 10px;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .cc-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

    .cc-head p {
        margin: 0;
        color: #6b7a90;
    }

/* ----- Category photo cards ----- */
.cc-card {
    height: 100%;
    background: #fff;
    border-radius: 16px;
    border-bottom: 5px solid #dbe1ec;
    box-shadow: 0 10px 26px rgba(26, 60, 110, .12);
    transition: background .35s, transform .35s, border-color .35s, box-shadow .35s;
}

.cc-pic {
    position: relative;
}

.cc-img {
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}

    .cc-img img {
        display: block;
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        transition: transform .5s;
    }

.cc-card:hover .cc-img img {
    transform: scale(1.08);
}

.cc-ico {
    position: absolute;
    left: 22px;
    bottom: -28px;
    z-index: 2;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--orange, #ff8a1f);
    color: #fff;
    font-size: 1.3rem;
    border: 4px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .35s;
}

.cc-body {
    padding: 42px 24px 26px;
}

    .cc-body h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1.2rem;
        color: var(--navy, #1a3c6e);
        margin: 0 0 8px;
        transition: color .35s;
    }

    .cc-body p {
        margin: 0 0 14px;
        font-size: .92rem;
        line-height: 1.6;
        color: #5d6c82;
        transition: color .35s;
    }

.cc-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

    .cc-chips span {
        font-size: .74rem;
        font-weight: 600;
        padding: 4px 12px;
        border-radius: 20px;
        background: #eef3fa;
        color: var(--navy, #1a3c6e);
        transition: background .35s, color .35s;
    }

.cc-card:hover {
    background: var(--navy, #1a3c6e);
    border-bottom-color: #2f6bff;
    transform: translateY(-8px);
    box-shadow: 0 18px 36px rgba(26, 60, 110, .3);
}

    .cc-card:hover h4, .cc-card:hover p {
        color: #fff;
    }

    .cc-card:hover .cc-chips span {
        background: rgba(255, 255, 255, .15);
        color: #fff;
    }

/* ----- Events tiles ----- */
.cc-ev {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    background: #f4f8fc;
    border-radius: 14px;
    padding: 20px 22px;
    border-left: 6px solid var(--orange, #ff8a1f);
    transition: background .35s, color .35s, transform .35s, box-shadow .35s;
}

    .cc-ev .ico {
        flex: 0 0 54px;
        height: 54px;
        border-radius: 12px;
        background: #fff;
        color: var(--navy, #1a3c6e);
        font-size: 1.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 12px rgba(26, 60, 110, .12);
        transition: background .35s, color .35s;
    }

    .cc-ev b {
        display: block;
        font-family: 'Montserrat', sans-serif;
        font-size: 1rem;
        color: var(--navy, #1a3c6e);
        transition: color .35s;
    }

    .cc-ev span {
        font-size: .85rem;
        color: #6b7a90;
        transition: color .35s;
    }

    .cc-ev:hover {
        background: var(--navy, #1a3c6e);
        transform: translateY(-6px);
        box-shadow: 0 14px 30px rgba(26, 60, 110, .3);
    }

        .cc-ev:hover .ico {
            background: var(--orange, #ff8a1f);
            color: #fff;
        }

        .cc-ev:hover b, .cc-ev:hover span {
            color: #fff;
        }

/* ----- Benefits band ----- */
.cc-band {
    position: relative;
    color: #fff;
    padding: 80px 0 70px;
    text-align: center;
    background: linear-gradient(135deg, var(--navy, #1a3c6e), #0f2a52);
}

    .cc-band::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        right: 0;
        height: 46px;
        background: #fff;
        clip-path: polygon(0 0, 100% 0, 0 100%);
    }

    .cc-band h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        font-size: clamp(1.6rem, 3.4vw, 2.3rem);
        margin-bottom: 40px;
    }

.cc-ben .ring {
    width: 84px;
    height: 84px;
    margin: 0 auto 14px;
    border-radius: 50%;
    border: 3px solid var(--orange, #ff8a1f);
    color: var(--orange, #ff8a1f);
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .3s, color .3s, transform .3s;
}

.cc-ben:hover .ring {
    background: var(--orange, #ff8a1f);
    color: #fff;
    transform: translateY(-6px);
}

.cc-ben b {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 1.05rem;
    margin-bottom: 4px;
}

.cc-ben span {
    font-size: .88rem;
    opacity: .85;
}

@media (max-width: 991px) {
    .cc-sec {
        padding: 60px 0;
    }

    .cc-photo::before {
        right: -14px;
        bottom: -14px;
    }

    .cc-band {
        padding: 70px 0 56px;
    }
}

@media (max-width: 575px) {
    .cc-photo::after {
        left: -8px;
        top: -8px;
    }

    .cc-body {
        padding: 40px 18px 22px;
    }
}
/* ===== Co-curricular END ===== */

/* ===== Rules & Regulations ===== */
.rr-sec {
    padding: 80px 0;
    overflow: hidden;
}

.rr-white {
    background: #fff;
}

.rr-sky {
    background: #eef7fc;
}

/* Section heading */
.rr-head {
    text-align: center;
    margin-bottom: 44px;
}

    .rr-head .ic {
        width: 62px;
        height: 62px;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: var(--navy, #1a3c6e);
        color: #fff;
        font-size: 1.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(26, 60, 110, .3);
    }

    .rr-head.orange .ic {
        background: var(--orange, #ff8a1f);
        box-shadow: 0 8px 20px rgba(255, 138, 31, .4);
    }

    .rr-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.7rem, 3.6vw, 2.5rem);
        margin: 0;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .rr-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

    .rr-head.orange h2 {
        color: var(--navy, #1a3c6e);
    }

        .rr-head.orange h2::after {
            background: var(--orange, #ff8a1f);
        }

/* ----- 1. Parents Teacher Meeting ----- */
.rr-ptm {
    display: flex;
    gap: 30px;
    align-items: center;
    background: #fff;
    border-radius: 18px;
    padding: 34px 36px;
    box-shadow: 0 12px 30px rgba(26, 60, 110, .14);
    border-left: 8px solid var(--orange, #ff8a1f);
}

    .rr-ptm .cal {
        flex: 0 0 120px;
        text-align: center;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 8px 20px rgba(26, 60, 110, .25);
        background: #fff;
    }

        .rr-ptm .cal .top {
            background: var(--navy, #1a3c6e);
            color: #fff;
            font-size: .75rem;
            font-weight: 700;
            letter-spacing: 2px;
            padding: 8px 0;
            text-transform: uppercase;
        }

        .rr-ptm .cal .mid {
            padding: 14px 6px;
            color: var(--navy, #1a3c6e);
        }

            .rr-ptm .cal .mid i {
                font-size: 2.2rem;
                color: var(--orange, #ff8a1f);
            }

            .rr-ptm .cal .mid b {
                display: block;
                font-family: 'Montserrat', sans-serif;
                font-size: .95rem;
                line-height: 1.2;
                margin-top: 6px;
            }

    .rr-ptm h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        color: var(--navy, #1a3c6e);
        margin: 0 0 10px;
    }

    .rr-ptm p {
        margin: 0 0 12px;
        line-height: 1.7;
        color: var(--ink, #14213d);
    }

    .rr-ptm .welcome {
        background: #fff6d6;
        border-radius: 10px;
        padding: 12px 16px;
        font-weight: 600;
        color: var(--navy, #1a3c6e);
        margin: 0;
    }

        .rr-ptm .welcome i {
            color: var(--orange, #ff8a1f);
            margin-right: 8px;
        }

/* ----- 2. Leave rules (bullet cards) ----- */
.rr-leave {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 980px;
}

    .rr-leave li {
        display: flex;
        gap: 20px;
        align-items: flex-start;
        margin-bottom: 16px;
        padding: 22px 24px;
        background: #fff;
        border-radius: 14px;
        border-left: 6px solid var(--orange, #ff8a1f);
        box-shadow: 0 8px 22px rgba(26, 60, 110, .1);
        color: var(--ink, #14213d);
        line-height: 1.65;
        font-size: .97rem;
        transition: background .35s, color .35s, transform .35s, box-shadow .35s, border-color .35s;
    }

    .rr-leave .ico {
        flex: 0 0 52px;
        height: 52px;
        border-radius: 14px;
        background: #f4f6fb;
        color: var(--navy, #1a3c6e);
        font-size: 1.3rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background .35s, color .35s;
    }

    .rr-leave strong {
        color: var(--navy, #1a3c6e);
        transition: color .35s;
    }

    .rr-leave li:hover {
        background: var(--navy, #1a3c6e);
        color: #fff;
        border-left-color: #2f6bff;
        transform: translateX(8px);
        box-shadow: 0 16px 34px rgba(26, 60, 110, .35);
    }

        .rr-leave li:hover .ico {
            background: #fff;
            color: var(--orange, #ff8a1f);
        }

        .rr-leave li:hover strong {
            color: #ffd95a;
        }

/* ----- 3 & 4. Numbered lists ----- */
.rr-num {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: rr;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 22px;
}

    .rr-num li {
        counter-increment: rr;
        display: flex;
        align-items: flex-start;
        gap: 16px;
        background: #fff;
        border-radius: 14px;
        padding: 18px 20px;
        box-shadow: 0 6px 18px rgba(26, 60, 110, .1);
        line-height: 1.6;
        font-size: .95rem;
        color: var(--ink, #14213d);
        transition: background .35s, color .35s, transform .35s, box-shadow .35s;
    }

        .rr-num li::before {
            content: counter(rr);
            flex: 0 0 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--navy, #1a3c6e);
            color: #fff;
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background .35s;
        }

        .rr-num li span {
            padding-top: 9px;
        }

        .rr-num li:hover {
            background: var(--navy, #1a3c6e);
            color: #fff;
            transform: translateY(-5px);
            box-shadow: 0 14px 30px rgba(26, 60, 110, .3);
        }

            .rr-num li:hover::before {
                background: var(--orange, #ff8a1f);
            }

    .rr-num.orange li::before {
        background: var(--orange, #ff8a1f);
    }

    .rr-num.orange li:hover {
        background: var(--orange, #ff8a1f);
        box-shadow: 0 14px 30px rgba(255, 138, 31, .4);
    }

        .rr-num.orange li:hover::before {
            background: var(--navy, #1a3c6e);
        }

/* ----- Closing band ----- */
.rr-close {
    position: relative;
    text-align: center;
    color: #fff;
    padding: 84px 0 70px;
    background: linear-gradient(135deg, var(--navy, #1a3c6e), #0f2a52);
}

    .rr-close::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        right: 0;
        height: 46px;
        background: #fff;
        clip-path: polygon(0 0, 100% 0, 0 100%);
    }

    .rr-close .ic {
        width: 78px;
        height: 78px;
        margin: 0 auto 18px;
        border-radius: 50%;
        background: var(--orange, #ff8a1f);
        font-size: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 22px rgba(0, 0, 0, .35);
    }

    .rr-close h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        max-width: 820px;
        margin: 0 auto;
        font-size: clamp(1.4rem, 3.2vw, 2.3rem);
        line-height: 1.35;
    }

        .rr-close h3 em {
            font-style: normal;
            color: var(--orange, #ff8a1f);
        }

@media (max-width: 991px) {
    .rr-sec {
        padding: 60px 0;
    }

    .rr-num {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .rr-ptm {
        flex-direction: column;
        text-align: center;
        padding: 26px 20px;
        border-left-width: 6px;
    }

        .rr-ptm .cal {
            flex-basis: auto;
            width: 130px;
        }
}

@media (max-width: 575px) {
    .rr-leave li {
        padding: 18px 16px;
        gap: 14px;
    }

    .rr-leave .ico {
        flex-basis: 44px;
        height: 44px;
        font-size: 1.1rem;
    }

    .rr-leave li:hover {
        transform: none;
    }
}
/* ===== Rules & Regulations END ===== */

/* ===== Infrastructure ===== */
.inf-sec {
    padding: 80px 0;
    overflow: hidden;
}

.inf-white {
    background: #fff;
}

.inf-sky {
    background: #eef7fc;
}

/* Intro */
.inf-photo {
    position: relative;
    max-width: 560px;
    margin: 0 auto;
}

    .inf-photo::before {
        content: "";
        position: absolute;
        right: -28px;
        bottom: -28px;
        width: 55%;
        height: 50%;
        background: #ffc233;
        z-index: 0;
    }

    .inf-photo::after {
        content: "";
        position: absolute;
        left: -14px;
        top: -14px;
        width: 40%;
        height: 36%;
        border: 4px solid var(--navy, #1a3c6e);
        z-index: 0;
    }

    .inf-photo img {
        position: relative;
        z-index: 1;
        display: block;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 7 / 6;
        object-fit: cover;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
    }

.inf-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--orange, #ff8a1f);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: .8rem;
}

    .inf-label::before {
        content: "";
        width: 36px;
        height: 3px;
        border-radius: 2px;
        background: var(--orange, #ff8a1f);
    }

.inf-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--navy, #1a3c6e);
    font-size: clamp(2rem, 4vw, 3rem);
    margin: 0 0 22px;
    line-height: 1.1;
}

.inf-text p {
    font-size: .98rem;
    line-height: 1.75;
    color: var(--ink, #14213d);
    margin-bottom: 16px;
}

    .inf-text p.lead {
        font-size: 1.08rem;
        font-weight: 500;
        color: var(--navy, #1a3c6e);
    }

/* Section heading */
.inf-head {
    text-align: center;
    margin-bottom: 44px;
}

    .inf-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.8rem, 3.8vw, 2.6rem);
        margin: 0 0 10px;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .inf-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

    .inf-head p {
        margin: 0;
        color: #6b7a90;
    }

/* Facility photo cards */
.inf-card {
    height: 100%;
    background: #fff;
    border-radius: 16px;
    border-bottom: 5px solid #dbe1ec;
    box-shadow: 0 10px 26px rgba(26, 60, 110, .12);
    display: flex;
    flex-direction: column;
    transition: background .35s, transform .35s, border-color .35s, box-shadow .35s;
}

.inf-pic {
    position: relative;
}

.inf-img {
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}

    .inf-img img {
        display: block;
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        transition: transform .5s;
    }

.inf-card:hover .inf-img img {
    transform: scale(1.08);
}

.inf-ico {
    position: absolute;
    left: 22px;
    bottom: -28px;
    z-index: 2;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--orange, #ff8a1f);
    color: #fff;
    font-size: 1.3rem;
    border: 4px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.inf-body {
    padding: 42px 24px 26px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

    .inf-body h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1.2rem;
        color: var(--navy, #1a3c6e);
        margin: 0 0 8px;
        transition: color .35s;
    }

    .inf-body p {
        margin: 0 0 14px;
        font-size: .92rem;
        line-height: 1.6;
        color: #5d6c82;
        transition: color .35s;
    }

    .inf-body a {
        margin-top: auto;
        align-self: flex-start;
        font-weight: 700;
        font-size: .85rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        text-decoration: none;
        transition: color .35s;
    }

        .inf-body a i {
            margin-left: 6px;
            transition: transform .3s;
        }

        .inf-body a:hover i {
            transform: translateX(5px);
        }

.inf-card:hover {
    background: var(--navy, #1a3c6e);
    border-bottom-color: #2f6bff;
    transform: translateY(-8px);
    box-shadow: 0 18px 36px rgba(26, 60, 110, .3);
}

    .inf-card:hover h4, .inf-card:hover p {
        color: #fff;
    }

    .inf-card:hover .inf-body a {
        color: #ffd95a;
    }

/* At a glance tiles */
.inf-tile {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border-radius: 14px;
    padding: 20px 22px;
    border-left: 6px solid var(--orange, #ff8a1f);
    box-shadow: 0 8px 22px rgba(26, 60, 110, .1);
    font-weight: 600;
    color: var(--navy, #1a3c6e);
    line-height: 1.4;
    transition: background .35s, color .35s, transform .35s, box-shadow .35s;
}

    .inf-tile .ico {
        flex: 0 0 52px;
        height: 52px;
        border-radius: 12px;
        background: #f4f6fb;
        color: var(--navy, #1a3c6e);
        font-size: 1.35rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background .35s, color .35s;
    }

    .inf-tile:hover {
        background: var(--navy, #1a3c6e);
        color: #fff;
        transform: translateY(-6px);
        box-shadow: 0 14px 30px rgba(26, 60, 110, .3);
    }

        .inf-tile:hover .ico {
            background: var(--orange, #ff8a1f);
            color: #fff;
        }

/* Photo mosaic */
.inf-mos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 210px;
    gap: 14px;
}

    .inf-mos figure {
        position: relative;
        margin: 0;
        overflow: hidden;
        border-radius: 12px;
    }

        .inf-mos figure:first-child {
            grid-column: span 2;
            grid-row: span 2;
        }

    .inf-mos img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .5s;
    }

    .inf-mos figure:hover img {
        transform: scale(1.1);
    }

    .inf-mos figcaption {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 30px 16px 14px;
        color: #fff;
        font-weight: 700;
        font-family: 'Montserrat', sans-serif;
        background: linear-gradient(to top, rgba(26, 60, 110, .95), rgba(26, 60, 110, 0));
        transform: translateY(100%);
        transition: transform .35s;
    }

    .inf-mos figure:hover figcaption {
        transform: translateY(0);
    }

/* Visit CTA */
.inf-cta {
    position: relative;
    text-align: center;
    color: #fff;
    padding: 84px 0 76px;
    background: linear-gradient(rgba(26, 60, 110, .88), rgba(10, 25, 55, .92)), var(--cta) center / cover no-repeat;
}

    .inf-cta::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        right: 0;
        height: 46px;
        background: #fff;
        clip-path: polygon(0 0, 100% 0, 0 100%);
    }

    .inf-cta .ic {
        width: 72px;
        height: 72px;
        margin: 0 auto 16px;
        border-radius: 50%;
        background: var(--orange, #ff8a1f);
        font-size: 1.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(0, 0, 0, .35);
    }

    .inf-cta h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: clamp(1.5rem, 3.4vw, 2.3rem);
        margin: 0 auto 26px;
        max-width: 760px;
        line-height: 1.3;
    }

.inf-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 38px;
    border-radius: 50px;
    background: var(--orange, #ff8a1f);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: .88rem;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
    transition: background .3s, color .3s, transform .3s;
}

    .inf-btn:hover {
        background: #fff;
        color: var(--navy, #1a3c6e);
        transform: translateY(-4px);
    }

@media (max-width: 991px) {
    .inf-sec {
        padding: 60px 0;
    }

    .inf-photo::before {
        right: -14px;
        bottom: -14px;
    }

    .inf-cta {
        padding: 70px 0 60px;
    }

    .inf-mos {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 170px;
    }
}

@media (max-width: 575px) {
    .inf-photo::after {
        left: -8px;
        top: -8px;
    }

    .inf-body {
        padding: 40px 18px 22px;
    }

    .inf-mos figcaption {
        transform: none;
        padding-top: 22px;
    }
}
/* ===== Infrastructure END ===== */

/* ===== CLASS ROOM STYLE ===== */
.smart-class {
    --sc-sky: #bde5f6;
    --sc-navy: #1b2d6b;
    --sc-orange: #f26b1d;
    --sc-yellow: #f5c518;
    font-family: 'Inter',sans-serif;
    color: #2b3350;
    padding: 4rem 0;
    background: linear-gradient(105deg,var(--sc-sky) 0 45%,#fff 45% 100%);
}

    .smart-class .sc-title {
        color: var(--sc-orange);
        font-weight: 800;
        text-transform: uppercase;
        font-size: clamp(2rem,5vw,3rem);
        margin-bottom: 1.2rem
    }

    .smart-class p {
        font-size: .92rem;
        text-align: justify
    }

    .smart-class .sc-img {
        position: relative;
        min-height: 340px;
        border-radius: 12px;
        overflow: hidden;
        background: linear-gradient(135deg,#3a58c4,var(--sc-navy));
        box-shadow: 0 16px 36px rgba(27,45,107,.3)
    }

        .smart-class .sc-img img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .smart-class .sc-img .ph {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--sc-yellow);
            font-size: 5rem
        }

    .smart-class .sc-tags {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
        margin-top: 1.2rem
    }

        .smart-class .sc-tags span {
            background: var(--sc-navy);
            color: #fff;
            font-size: .72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .4px;
            padding: .5rem .9rem;
            border-radius: 50px
        }

        .smart-class .sc-tags i {
            color: var(--sc-yellow);
            margin-right: .35rem
        }

@media(max-width:767px) {
    .smart-class {
        background: var(--sc-sky);
        padding: 3rem 0
    }
}
/* ===== CLASS ROOM STYLE END ===== */

/* ===== LIBRARY STYLE END ===== */
.library-section {
    --ls-sky: #bde5f6;
    --ls-navy: #1b2d6b;
    --ls-orange: #f26b1d;
    --ls-yellow: #f5c518;
    font-family: 'Inter',sans-serif;
    color: #2b3350;
    padding: 4rem 0;
    background: linear-gradient(255deg,var(--ls-sky) 0 45%,#fff 45% 100%);
}

    .library-section .ls-title {
        color: var(--ls-orange);
        font-weight: 800;
        text-transform: uppercase;
        font-size: clamp(2rem,5vw,3rem);
        margin-bottom: 1.2rem
    }

    .library-section p {
        font-size: .92rem;
        text-align: justify
    }

    .library-section .ls-lead {
        font-weight: 700;
        color: var(--ls-navy);
        margin-bottom: .6rem
    }

    .library-section ul.ls-list {
        padding-left: 1.3rem;
        margin-bottom: 1.2rem
    }

        .library-section ul.ls-list li {
            font-size: .92rem;
            margin-bottom: .6rem;
            padding-left: .2rem;
            text-align: justify
        }

            .library-section ul.ls-list li::marker {
                color: var(--ls-orange);
                font-size: 1.2em
            }

    .library-section .ls-img {
        position: relative;
        min-height: 380px;
        border-radius: 12px;
        overflow: hidden;
        background: linear-gradient(135deg,#3a58c4,var(--ls-navy));
        box-shadow: 0 16px 36px rgba(27,45,107,.3)
    }

        .library-section .ls-img img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .library-section .ls-img .ph {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--ls-yellow);
            font-size: 5rem
        }

    .library-section .ls-tags {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
        margin-top: 1.2rem
    }

        .library-section .ls-tags span {
            background: var(--ls-navy);
            color: #fff;
            font-size: .72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .4px;
            padding: .5rem .9rem;
            border-radius: 50px
        }

        .library-section .ls-tags i {
            color: var(--ls-yellow);
            margin-right: .35rem
        }

@media(max-width:767px) {
    .library-section {
        background: var(--ls-sky);
        padding: 3rem 0
    }
}
/* ===== LIBRARY STYLE END ===== */

/* ===== LAB STYLE END ===== */
.lab-wide {
    max-width: 860px;
    margin: 0 auto 44px;
    text-align: center;
    font-size: .98rem;
    line-height: 1.75;
    color: var(--ink, #14213d);
}

/* icon-only card header (no photo) */
.lab-card .inf-pic {
    height: 92px;
    border-radius: 16px 16px 0 0;
    background: linear-gradient(135deg, var(--navy, #1a3c6e), #3a6bc4);
}

.lab-card .inf-body {
    padding-top: 40px;
}

/* dotted list */
.lab-list {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
}

    .lab-list li {
        position: relative;
        padding: 0 0 12px 28px;
        font-size: .96rem;
        line-height: 1.6;
        color: var(--ink, #14213d);
    }

        .lab-list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: .5em;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--orange, #ff8a1f);
            box-shadow: 0 0 0 4px rgba(255, 138, 31, .2);
        }

/* software chips */
.lab-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 6px 0 18px;
}

    .lab-chips span {
        background: var(--navy, #1a3c6e);
        color: #fff;
        font-size: .76rem;
        font-weight: 700;
        letter-spacing: .5px;
        padding: 7px 14px;
        border-radius: 50px;
        transition: background .3s, color .3s;
    }

        .lab-chips span:hover {
            background: var(--orange, #ff8a1f);
        }

.lab-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--navy, #1a3c6e);
    margin: 18px 0 8px;
}
/* ===== LAB STYLE END ===== */

/* ===== Career page ===== */
.career-sec {
    padding: 80px 0;
    background: #eef7fc;
    overflow: hidden
}

/* Heading */
.career-head {
    text-align: center;
    margin-bottom: 44px
}

.career-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--orange,#ff8a1f);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: .8rem
}

    .career-label::before {
        content: "";
        width: 36px;
        height: 3px;
        border-radius: 2px;
        background: var(--orange,#ff8a1f)
    }

.career-head h2 {
    font-family: 'Montserrat',sans-serif;
    font-weight: 800;
    color: var(--navy,#1a3c6e);
    font-size: clamp(1.8rem,4vw,2.8rem);
    margin: 0 0 10px;
    line-height: 1.15
}

    .career-head h2 span {
        color: var(--orange,#ff8a1f)
    }

.career-head p {
    margin: 0;
    color: #6b7a90
}

.career-col-title {
    font-family: 'Montserrat',sans-serif;
    font-weight: 800;
    color: var(--navy,#1a3c6e);
    font-size: 1.3rem;
    margin: 0 0 18px;
    display: flex;
    align-items: center;
    gap: 10px
}

    .career-col-title i {
        color: var(--orange,#ff8a1f)
    }

/* Job cards */
.job-card {
    background: #fff;
    border-radius: 16px;
    border-left: 6px solid var(--orange,#ff8a1f);
    box-shadow: 0 8px 22px rgba(26,60,110,.12);
    padding: 22px 24px;
    margin-bottom: 20px;
    transition: transform .3s,box-shadow .3s,background .3s
}

    .job-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 16px 32px rgba(26,60,110,.22)
    }

    .job-card h4 {
        font-family: 'Montserrat',sans-serif;
        font-weight: 700;
        font-size: 1.15rem;
        color: var(--navy,#1a3c6e);
        margin: 0 0 14px
    }

.job-row {
    display: flex;
    gap: 12px;
    margin-bottom: 10px;
    font-size: .9rem;
    line-height: 1.5;
    color: #33415c
}

    .job-row i {
        flex: 0 0 32px;
        height: 32px;
        border-radius: 8px;
        background: #f4f6fb;
        color: var(--navy,#1a3c6e);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: .9rem
    }

    .job-row b {
        display: block;
        font-size: .72rem;
        text-transform: uppercase;
        letter-spacing: .08em;
        color: #6b7a90
    }

.job-apply {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--orange,#ff8a1f);
    text-decoration: none
}

    .job-apply:hover {
        color: var(--navy,#1a3c6e)
    }

    .job-apply i {
        transition: transform .3s
    }

    .job-apply:hover i {
        transform: translateX(5px)
    }

.job-empty {
    display: none;
    background: #fff;
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    color: #6b7a90;
    box-shadow: 0 8px 22px rgba(26,60,110,.1)
}

    .job-empty i {
        font-size: 2rem;
        color: var(--orange,#ff8a1f);
        display: block;
        margin-bottom: 8px
    }

/* Form card */
.career-form-card {
    background: #fff;
    border-radius: 18px;
    border-bottom: 5px solid var(--orange,#ff8a1f);
    box-shadow: 0 14px 34px rgba(26,60,110,.16);
    padding: 34px 32px
}

    .career-form-card .form-title {
        font-family: 'Montserrat',sans-serif;
        font-weight: 800;
        color: var(--navy,#1a3c6e);
        font-size: 1.5rem;
        margin: 0
    }

    .career-form-card .title-line {
        width: 56px;
        height: 4px;
        border-radius: 4px;
        background: var(--orange,#ff8a1f);
        margin: 10px 0 22px
    }

.career-lbl {
    display: block;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--navy,#1a3c6e);
    margin-bottom: 6px
}

.career-input {
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    border: 2px solid #dbe1ec;
    border-radius: 10px;
    background: #f7fafd;
    font-size: .93rem;
    font-family: inherit;
    color: #14213d;
    outline: none;
    transition: border-color .25s,box-shadow .25s,background .25s
}

    .career-input:focus {
        border-color: var(--navy,#1a3c6e);
        background: #fff;
        box-shadow: 0 0 0 4px rgba(26,60,110,.12)
    }

textarea.career-input {
    min-height: 100px;
    resize: vertical
}

input[type=file].career-input {
    padding: 9px 12px;
    background: #fff
}

.career-err {
    display: block;
    color: #d62828;
    font-size: .78rem;
    font-weight: 600;
    margin-top: 4px
}

.career-msg {
    display: block;
    margin-bottom: 18px;
    padding: .75rem 1rem;
    border-radius: 8px;
    font-size: .88rem;
    font-weight: 600;
    background: #e6f6ec;
    color: #0f7a3e;
    border-left: 4px solid #0f8a4b
}

.career-btn {
    display: inline-block;
    border: 0;
    border-radius: 50px;
    padding: 14px 44px;
    cursor: pointer;
    background: var(--navy,#1a3c6e);
    color: #fff;
    font-weight: 800;
    font-size: .85rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(26,60,110,.3);
    transition: background .3s,transform .3s
}

    .career-btn:hover {
        background: var(--orange,#ff8a1f);
        transform: translateY(-3px)
    }

@media(max-width:991px) {
    .career-sec {
        padding: 60px 0
    }
}

@media(max-width:575px) {
    .career-form-card {
        padding: 26px 18px
    }

    .career-btn {
        width: 100%
    }
}
/* ===== Career END ===== */

/* =========================================
   CAREER APPLY (CONTACT_US) PAGE 
========================================= */
.application-section {
    padding: 70px 0;
    background: #fff;
}

.application-wrapper {
    max-width: 1160px;
    margin: auto;
}


/* ================= PAGE HEADING ================= */

.application-heading {
    text-align: center;
    margin-bottom: 45px;
}

.application-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

    .application-title i {
        color: var(--navy);
        font-size: 27px;
    }

    .application-title h2 {
        font-family: 'Anton', Impact, sans-serif;
        margin: 0;
        color: var(--ink);
        font-size: 2.6rem;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: .5px;
    }

.application-line {
    width: 60px;
    height: 3px;
    background: var(--yellow);
    margin-left: 5px;
}

.application-heading p {
    max-width: 750px;
    margin: 18px auto 0;
    color: #666;
    font-size: 16px;
    line-height: 1.8;
}


/* ================= INTRO ================= */

.application-intro {
    color: var(--navy);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 15px;
}

.application-description {
    color: #666;
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 30px;
}


/* ================= APPLICATION CARD ================= */

.application-card {
    position: relative;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(0,0,0,.09);
}

    .application-card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 6px;
        height: 100%;
        background: var(--yellow);
    }


/* ================= CARD HEADER ================= */

.application-header {
    background: var(--navy);
    padding: 30px 40px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

    /*.application-header::after {
        content: "";
        position: absolute;
        width: 180px;
        height: 180px;
        border: 30px solid rgba(245,208,0,.10);
        border-radius: 50%;
        right: -70px;
        top: -100px;
    }*/

    .application-header h2 {
        position: relative;
        z-index: 2;
        margin: 0 0 7px;
        font-size: 27px;
        font-weight: 800;
    }

    .application-header p {
        position: relative;
        z-index: 2;
        margin: 0;
        color: rgba(255,255,255,.82);
        font-size: 14px;
    }


/* ================= BODY ================= */

.application-body {
    padding: 40px;
}


/* ================= SUCCESS MESSAGE ================= */

.success-msg {
    display: block;
    margin-bottom: 25px;
    padding: 15px 18px;
    background: #eef9f1;
    border-left: 5px solid #28a745;
    border-radius: 7px;
    color: #237a38;
    font-size: 15px;
    font-weight: 600;
}


/* ================= VALIDATION ================= */

.validation-summary {
    margin-bottom: 25px;
}

.validation-error {
    display: block;
    margin-top: 6px;
    color: #dc3545;
    font-size: 13px;
}

.required {
    color: #dc3545;
    font-weight: bold;
}


/* ================= FORM ROW ================= */

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-bottom: 22px;
}

.form-group {
    margin-bottom: 22px;
}


    /* ================= LABEL ================= */

    .form-group label {
        display: block;
        margin-bottom: 8px;
        color: #333;
        font-size: 14px;
        font-weight: 700;
    }


/* ================= INPUT ================= */

.form-control {
    width: 100%;
    min-height: 48px;
    border: 1px solid #ddd;
    border-radius: 9px;
    padding: 10px 14px;
    color: #333;
    font-size: 14px;
    outline: none;
    box-shadow: none;
    transition: all .25s ease;
}

    .form-control:focus {
        border-color: var(--navy);
        box-shadow: 0 0 0 3px rgba(23,59,130,.10);
    }


/* ================= RESUME ================= */

.upload-box {
    padding: 14px;
    background: #f8f9fb;
    border: 1px dashed #cfcfcf;
    border-radius: 10px;
}

    .upload-box input[type="file"] {
        width: 100%;
        font-size: 14px;
        color: #555;
    }


/* ================= FILE NOTE ================= */

.resume-note {
    margin-top: 8px;
    color: #777;
    font-size: 12px;
}


/* ================= SUBMIT ================= */

.submit-area {
    text-align: center;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid #eee;
}

.btn-submit {
    min-width: 220px;
    padding: 13px 25px;
    border: none;
    border-radius: 9px;
    background: var(--navy);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all .3s ease;
}

    .btn-submit:hover {
        background: #102e69;
        transform: translateY(-2px);
    }

    .btn-submit::before {
        content: "\F2A7";
        font-family: "bootstrap-icons";
        color: var(--yellow);
        margin-right: 8px;
    }


/* ================= BOTTOM INFO ================= */

.application-note {
    margin-top: 30px;
    padding: 20px 25px;
    background: #fafafa;
    border-left: 5px solid var(--yellow);
    border-radius: 0 12px 12px 0;
}

    .application-note i {
        color: var(--navy);
        margin-right: 8px;
    }

    .application-note p {
        margin: 0;
        color: #666;
        font-size: 14px;
        line-height: 1.8;
    }


/* ================= FOOTER ================= */

.application-footer {
    text-align: center;
    margin-top: 40px;
    padding-top: 25px;
    border-top: 1px solid #eee;
}

    .application-footer strong {
        display: block;
        color: var(--navy);
        font-size: 20px;
        font-weight: 800;
    }

    .application-footer span {
        color: #777;
        font-size: 14px;
    }


/* ================= RESPONSIVE ================= */

@media (max-width: 991px) {

    .application-section {
        padding: 55px 25px;
    }

    .application-title h2 {
        font-size: 28px;
    }

    .application-body {
        padding: 32px;
    }
}


@media (max-width: 767px) {

    .application-section {
        padding: 45px 15px;
    }

    .application-title {
        flex-wrap: wrap;
    }

        .application-title h2 {
            font-size: 23px;
        }

    .application-heading p {
        font-size: 15px;
    }

    .application-header {
        padding: 25px;
    }

        .application-header h2 {
            font-size: 23px;
        }

    .application-body {
        padding: 25px;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 0;
    }
}


@media (max-width: 480px) {

    .application-title h2 {
        font-size: 21px;
    }

    .application-body {
        padding: 20px;
    }

    .application-header {
        padding: 22px 20px;
    }

        .application-header h2 {
            font-size: 21px;
        }

    .application-heading {
        margin-bottom: 30px;
    }

    .btn-submit {
        width: 100%;
    }
}
/* =========================================
   CAREER APPLY (CONTACT_US) PAGE END
========================================= */

/* ===== Staff Detail ===== */
.st-sec {
    padding: 80px 0 90px;
    background: linear-gradient(180deg, #eef7fc, #fff 40%);
}

.st-head {
    text-align: center;
    margin-bottom: 36px;
}

    .st-head .ic {
        width: 64px;
        height: 64px;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: var(--navy, #1a3c6e);
        color: #fff;
        font-size: 1.6rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(26, 60, 110, .3);
    }

    .st-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.9rem, 4vw, 2.8rem);
        margin: 0 0 12px;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .st-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

    .st-head p {
        margin: 0;
        color: #6b7a90;
    }

/* Search + count */
.st-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.st-search {
    position: relative;
    flex: 1 1 320px;
    max-width: 460px;
}

    .st-search i {
        position: absolute;
        left: 18px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--navy, #1a3c6e);
    }

    .st-search input {
        width: 100%;
        padding: 14px 20px 14px 48px;
        border: 2px solid #d3deeb;
        border-radius: 50px;
        font-size: .95rem;
        outline: 0;
        background: #fff;
        transition: border-color .3s, box-shadow .3s;
    }

        .st-search input:focus {
            border-color: var(--navy, #1a3c6e);
            box-shadow: 0 0 0 4px rgba(26, 60, 110, .12);
        }

.st-count {
    background: var(--navy, #1a3c6e);
    color: #fff;
    border-radius: 50px;
    padding: 10px 22px;
    font-weight: 700;
    font-size: .85rem;
    letter-spacing: 1px;
}

    .st-count b {
        color: #ffd95a;
    }

/* Table */
.st-wrap {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(26, 60, 110, .14);
    overflow-x: auto;
}

.st-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .92rem;
}

    .st-table thead th {
        background: var(--navy, #1a3c6e);
        color: #fff;
        padding: 16px 18px;
        text-align: left;
        white-space: nowrap;
        font-size: .75rem;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        border: 0;
    }

        .st-table thead th:first-child {
            border-top-left-radius: 16px;
        }

        .st-table thead th:last-child {
            border-top-right-radius: 16px;
        }

    .st-table tbody td {
        padding: 15px 18px;
        border-bottom: 1px solid #e6edf5;
        color: var(--ink, #14213d);
        vertical-align: middle;
    }

    .st-table tbody tr:nth-child(even) td {
        background: #f7fafd;
    }

    .st-table tbody tr {
        transition: background .25s, box-shadow .25s;
    }

        .st-table tbody tr:hover td {
            background: #eef7fc;
        }

            .st-table tbody tr:hover td:first-child {
                box-shadow: inset 5px 0 0 var(--orange, #ff8a1f);
            }

    .st-table tbody td:nth-child(2) {
        font-weight: 700;
        color: var(--navy, #1a3c6e);
    }
    /* naam */
    .st-table tbody td:nth-child(5) {
        font-weight: 600;
    }
/* designation */
.st-empty {
    text-align: center;
    padding: 40px 10px;
    color: #6b7a90;
    font-style: italic;
}

.st-none {
    display: none;
    text-align: center;
    padding: 30px;
    color: #6b7a90;
    font-style: italic;
}

/* Mobile: har row ek card */
@media (max-width: 767px) {
    .st-sec {
        padding: 60px 0 70px;
    }

    .st-wrap {
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }

    .st-table, .st-table tbody, .st-table tr, .st-table td {
        display: block;
        width: 100%;
    }

        .st-table thead {
            display: none;
        }

        .st-table tbody tr {
            margin-bottom: 16px;
            background: #fff;
            border-radius: 14px;
            overflow: hidden;
            border-left: 6px solid var(--orange, #ff8a1f);
            box-shadow: 0 8px 22px rgba(26, 60, 110, .12);
        }

            .st-table tbody tr:nth-child(even) td {
                background: #fff;
            }

        .st-table tbody td {
            display: flex;
            justify-content: space-between;
            gap: 14px;
            text-align: right;
            padding: 11px 16px;
        }

            .st-table tbody td::before {
                content: attr(data-label);
                flex: 0 0 42%;
                text-align: left;
                font-size: .72rem;
                font-weight: 700;
                letter-spacing: 1px;
                text-transform: uppercase;
                color: var(--orange, #ff8a1f);
            }

        .st-table tbody tr:hover td:first-child {
            box-shadow: none;
        }
}
/* ===== Staff Detail END ===== */

/* ===== Contact ===== */
.ct-sec {
    padding: 80px 0;
    overflow: hidden;
}

.ct-white {
    background: #fff;
}

.ct-sky {
    background: linear-gradient(180deg, #eef7fc, #fff);
}

.ct-head {
    text-align: center;
    margin-bottom: 44px;
}

    .ct-head .ic {
        width: 64px;
        height: 64px;
        margin: 0 auto 12px;
        border-radius: 50%;
        background: var(--navy, #1a3c6e);
        color: #fff;
        font-size: 1.6rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 8px 20px rgba(26, 60, 110, .3);
    }

    .ct-head h2 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        color: var(--orange, #ff8a1f);
        font-size: clamp(1.8rem, 3.8vw, 2.6rem);
        margin: 0 0 12px;
        position: relative;
        display: inline-block;
        padding-bottom: 14px;
    }

        .ct-head h2::after {
            content: "";
            position: absolute;
            left: 25%;
            right: 25%;
            bottom: 0;
            height: 3px;
            border-radius: 3px;
            background: var(--navy, #1a3c6e);
        }

    .ct-head p {
        margin: 0;
        color: #6b7a90;
    }

/* Info cards */
.ct-card {
    height: 100%;
    text-align: center;
    background: #fff;
    border-radius: 16px;
    padding: 34px 22px;
    border-bottom: 5px solid #dbe1ec;
    box-shadow: 0 10px 26px rgba(26, 60, 110, .12);
    transition: background .35s, transform .35s, border-color .35s, box-shadow .35s;
}

    .ct-card .ico {
        width: 84px;
        height: 84px;
        margin: 0 auto 16px;
        border-radius: 50%;
        background: #f4f6fb;
        color: var(--navy, #1a3c6e);
        font-size: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background .35s, color .35s;
    }

    .ct-card h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: 1.15rem;
        color: var(--navy, #1a3c6e);
        margin: 0 0 10px;
        transition: color .35s;
    }

    .ct-card p, .ct-card a {
        display: block;
        margin: 0;
        color: #5d6c82;
        text-decoration: none;
        line-height: 1.6;
        word-break: break-word;
        transition: color .35s;
    }

        .ct-card a:hover {
            color: var(--orange, #ff8a1f);
        }

    .ct-card:hover {
        background: var(--navy, #1a3c6e);
        border-bottom-color: #2f6bff;
        transform: translateY(-8px);
        box-shadow: 0 18px 36px rgba(26, 60, 110, .3);
    }

        .ct-card:hover .ico {
            background: #fff;
            color: var(--orange, #ff8a1f);
        }

        .ct-card:hover h4, .ct-card:hover p, .ct-card:hover a {
            color: #fff;
        }

            .ct-card:hover a:hover {
                color: #ffd95a;
            }

/* Form + map */
.ct-form-box, .ct-map-box {
    height: 100%;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(26, 60, 110, .14);
    background: #fff;
}

.ct-form-box {
    padding: 36px 34px;
    border-top: 6px solid var(--orange, #ff8a1f);
}

    .ct-form-box h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        color: var(--navy, #1a3c6e);
        margin: 0 0 6px;
    }

    .ct-form-box > p {
        color: #6b7a90;
        margin: 0 0 22px;
    }

.ct-field {
    position: relative;
    margin-bottom: 16px;
}

    .ct-field i {
        position: absolute;
        left: 16px;
        top: 17px;
        color: var(--navy, #1a3c6e);
    }

.ct-input {
    width: 100%;
    padding: 14px 16px 14px 44px;
    border: 2px solid #d9e3ef;
    border-radius: 12px;
    font-size: .95rem;
    background: #f9fbfd;
    outline: 0;
    transition: border-color .3s, box-shadow .3s, background .3s;
    font-family: inherit;
}

    .ct-input:focus {
        border-color: var(--navy, #1a3c6e);
        background: #fff;
        box-shadow: 0 0 0 4px rgba(26, 60, 110, .12);
    }

textarea.ct-input {
    min-height: 130px;
    resize: vertical;
}

.ct-err {
    display: block;
    color: #c62828;
    font-size: .78rem;
    margin-top: 4px;
}

.ct-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 38px;
    border: 0;
    border-radius: 50px;
    cursor: pointer;
    background: var(--orange, #ff8a1f);
    color: #fff;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: .88rem;
    box-shadow: 0 8px 20px rgba(255, 138, 31, .4);
    transition: background .3s, transform .3s;
}

    .ct-btn:hover {
        background: var(--navy, #1a3c6e);
        transform: translateY(-3px);
    }

.ct-msg {
    margin-top: 14px;
    font-weight: 700;
}

    .ct-msg.ok {
        color: #2e7d32;
    }

    .ct-msg.bad {
        color: #c62828;
    }

.ct-map-box iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 440px;
    border: 0;
}

@media (max-width: 991px) {
    .ct-sec {
        padding: 60px 0;
    }

    .ct-map-box iframe {
        min-height: 340px;
    }
}

@media (max-width: 575px) {
    .ct-form-box {
        padding: 26px 20px;
    }
}
/* ===== Contact END ===== */

/* ===== Enquiry ===== */
.enq-page {
    padding: 80px 0 90px;
    background: linear-gradient(180deg, #eef7fc, #ffffff 40%);
    overflow: hidden;
}

/* ===== Heading ===== */
.enq-heading {
    text-align: center;
    margin-bottom: 46px;
}

.enq-small {
    display: inline-block;
    padding: 6px 20px;
    margin-bottom: 12px;
    border-radius: 50px;
    background: var(--navy, #1a3c6e);
    color: #fff;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.enq-heading h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--orange, #ff8a1f);
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    margin: 0;
}

.enq-line {
    width: 90px;
    height: 4px;
    margin: 14px auto 0;
    border-radius: 3px;
    background: var(--navy, #1a3c6e);
}

.enq-heading p {
    max-width: 680px;
    margin: 18px auto 0;
    color: #6b7a90;
    line-height: 1.7;
}

/* ===== Main box (info + form ek card) ===== */
.enq-box {
    display: grid;
    grid-template-columns: 5fr 7fr;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 44px rgba(26, 60, 110, .2);
}

/* ===== Left info panel ===== */
.enq-info {
    position: relative;
    padding: 44px 38px;
    color: #fff;
    background: linear-gradient(160deg, var(--navy, #1a3c6e), #0f2a52);
    overflow: hidden;
}

    .enq-info::before,
    .enq-info::after { /* peeche gol decoration */
        content: "";
        position: absolute;
        border-radius: 50%;
        background: rgba(255, 255, 255, .06);
    }

    .enq-info::before {
        width: 240px;
        height: 240px;
        right: -90px;
        top: -80px;
    }

    .enq-info::after {
        width: 180px;
        height: 180px;
        left: -70px;
        bottom: -60px;
        background: rgba(255, 138, 31, .18);
    }

    .enq-info > * {
        position: relative;
        z-index: 1;
    }

.enq-info-icon {
    width: 72px;
    height: 72px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: var(--orange, #ff8a1f);
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
}

.enq-info h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 1.6rem;
    margin: 0 0 12px;
}

.enq-info > p {
    opacity: .9;
    line-height: 1.7;
    margin-bottom: 22px;
}

.enq-benefits {
    list-style: none;
    margin: 0 0 26px;
    padding: 0;
}

    .enq-benefits li {
        display: flex;
        gap: 14px;
        align-items: flex-start;
        padding: 12px 0;
        border-bottom: 1px dashed rgba(255, 255, 255, .22);
        line-height: 1.55;
        font-size: .93rem;
        transition: padding-left .25s;
    }

        .enq-benefits li:last-child {
            border-bottom: 0;
        }

        .enq-benefits li:hover {
            padding-left: 8px;
        }

    .enq-benefits i {
        margin-top: 3px;
        color: var(--orange, #ff8a1f);
        font-size: 1.05rem;
    }

.enq-note {
    background: rgba(255, 255, 255, .1);
    border-left: 5px solid var(--orange, #ff8a1f);
    border-radius: 10px;
    padding: 14px 18px;
    font-size: .88rem;
    line-height: 1.6;
}

    .enq-note strong {
        color: #ffd95a;
    }

/* ===== Right form ===== */
.enq-form {
    padding: 44px 42px;
    border-top: 6px solid var(--orange, #ff8a1f);
}

.enq-form-top h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--navy, #1a3c6e);
    margin: 0 0 6px;
}

.enq-form-top p {
    color: #6b7a90;
    margin: 0 0 24px;
}

.req {
    color: #d32f2f;
    font-weight: 700;
}

/* Success / error message (asp:Label ko CssClass="enq-message") */
.enq-message {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 20px;
    padding: 14px 18px;
    border-radius: 12px;
    background: #e8f5e9;
    border-left: 5px solid #2e7d32;
    color: #1b5e20;
    font-weight: 600;
    line-height: 1.5;
}

    .enq-message i {
        margin-top: 3px;
    }

span.enq-message {
    display: block;
}
/* asp:Label span banta hai */

/* Fields */
.enq-field label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    font-size: .85rem;
    color: var(--navy, #1a3c6e);
}

.enq-wrap {
    position: relative;
}

    .enq-wrap > i {
        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--navy, #1a3c6e);
        opacity: .75;
        pointer-events: none;
    }

    .enq-wrap.enq-area > i {
        top: 20px;
        transform: none;
    }

.enq-input {
    width: 100%;
    padding: 14px 16px 14px 46px;
    border: 2px solid #d9e3ef;
    border-radius: 12px;
    background: #f9fbfd;
    font-size: .95rem;
    font-family: inherit;
    color: var(--ink, #14213d);
    outline: 0;
    transition: border-color .3s, box-shadow .3s, background .3s;
}

    .enq-input::placeholder {
        color: #9aa8bb;
    }

    .enq-input:focus {
        border-color: var(--navy, #1a3c6e);
        background: #fff;
        box-shadow: 0 0 0 4px rgba(26, 60, 110, .12);
    }

textarea.enq-input {
    min-height: 140px;
    resize: vertical;
}

/* Validation text (asp validators ko CssClass="validation-message") */
.validation-message {
    display: block;
    margin-top: 5px;
    color: #d32f2f;
    font-size: .78rem;
    font-weight: 600;
}

/* Submit */
.enq-submit {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 42px;
    border: 0;
    border-radius: 50px;
    cursor: pointer;
    background: var(--orange, #ff8a1f);
    color: #fff;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: .88rem;
    box-shadow: 0 10px 24px rgba(255, 138, 31, .4);
    transition: background .3s, transform .3s;
}

    .enq-submit:hover {
        background: var(--navy, #1a3c6e);
        transform: translateY(-3px);
    }

    .enq-submit i {
        transition: transform .3s;
    }

    .enq-submit:hover i {
        transform: translateX(5px);
    }

.enq-bottom-note {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px dashed #d3deeb;
    font-size: .85rem;
    color: #6b7a90;
}

    .enq-bottom-note i {
        margin-right: 8px;
        color: #2e7d32;
    }

/* ===== Responsive ===== */
@media (max-width: 991px) {
    .enq-page {
        padding: 60px 0 70px;
    }

    .enq-box {
        grid-template-columns: 1fr;
    }

    .enq-info {
        padding: 36px 28px;
    }

    .enq-form {
        padding: 34px 28px;
        border-top: 0;
        border-left: 0;
    }
}

@media (max-width: 575px) {
    .enq-info {
        padding: 30px 20px;
    }

    .enq-form {
        padding: 28px 18px;
    }

    .enq-submit {
        width: 100%;
        justify-content: center;
    }
}
/* ===== Enquiry END ===== */

/* ===== Calendar page ===== */
.cal {
    background: #eef7fc;
    overflow: hidden
}

.cal-sec-white {
    background: #fff;
    padding: 80px 0
}

@media(max-width:991px) {
    .cal-sec-white {
        padding: 60px 0
    }
}

/* Headings */
.cal-head {
    text-align: center;
    margin-bottom: 44px
}

.cal-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--orange,#ff8a1f);
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: .8rem
}

    .cal-label::before {
        content: "";
        width: 36px;
        height: 3px;
        border-radius: 2px;
        background: var(--orange,#ff8a1f)
    }

.cal-head h2 {
    font-family: 'Montserrat',sans-serif;
    font-weight: 800;
    color: var(--navy,#1a3c6e);
    font-size: clamp(1.8rem,4vw,2.8rem);
    margin: 0 0 10px;
    line-height: 1.15
}

    .cal-head h2 span {
        color: var(--orange,#ff8a1f)
    }

.cal-head p {
    margin: 0;
    color: #6b7a90
}

/* Calendar card */
.cal-card {
    background: #fff;
    border-radius: 18px;
    padding: 20px;
    border-bottom: 5px solid var(--orange,#ff8a1f);
    box-shadow: 0 14px 34px rgba(26,60,110,.16)
}

.cal-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--navy,#1a3c6e);
    color: #fff;
    border-radius: 12px;
    padding: 10px 14px;
    margin-bottom: 14px
}

.cal-title {
    font-family: 'Montserrat',sans-serif;
    font-weight: 800;
    color: #fff;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 1rem
}

.cal-nav {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.15);
    color: #fff;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background .25s
}

    .cal-nav:hover {
        background: var(--orange,#ff8a1f)
    }

.cal-days {
    display: grid;
    grid-template-columns: repeat(7,1fr);
    gap: 6px;
    text-align: center
}

.cal-dow {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    color: var(--navy,#1a3c6e);
    padding: 8px 0;
    text-transform: uppercase
}

.cal-cell {
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 600;
    font-size: .95rem;
    color: #33415c;
    border: 0;
    background: transparent;
    padding: 0
}

    .cal-cell.off {
        visibility: hidden
    }

    .cal-cell.today {
        background: #ffd400;
        color: #14213d;
        font-weight: 800
    }

    .cal-cell.has-ev {
        background: #e53935;
        color: #fff;
        font-weight: 800;
        cursor: pointer;
        box-shadow: 0 6px 14px rgba(229,57,53,.35);
        transition: transform .25s
    }

        .cal-cell.has-ev:hover {
            transform: scale(1.12)
        }

    .cal-cell.today.has-ev {
        background: #e53935;
        color: #fff;
        outline: 3px solid #ffd400
    }

.cal-legend {
    display: flex;
    gap: 18px;
    justify-content: center;
    margin-top: 14px;
    font-size: .78rem;
    color: #6b7a90
}

    .cal-legend i {
        display: inline-block;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        margin-right: 6px;
        vertical-align: -1px
    }

/* Month events (right) */
.ev-heading {
    font-family: 'Montserrat',sans-serif;
    font-weight: 800;
    color: var(--navy,#1a3c6e);
    font-size: 1.5rem;
    text-transform: uppercase;
    margin: 4px 0 18px
}

.ev-list {
    max-height: 430px;
    overflow-y: auto;
    padding: 4px 8px 10px 2px
}

.ev-empty {
    background: #fff;
    border-radius: 14px;
    padding: 26px;
    text-align: center;
    color: #6b7a90;
    box-shadow: 0 8px 22px rgba(26,60,110,.1)
}

/* Event item (used by month list and DataList) */
.ev-item {
    display: flex;
    gap: 16px;
    align-items: center;
    background: #fff;
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 14px;
    border-left: 6px solid var(--orange,#ff8a1f);
    box-shadow: 0 8px 22px rgba(26,60,110,.1);
    transition: transform .3s,box-shadow .3s,background .3s
}

    .ev-item:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 30px rgba(26,60,110,.2)
    }

    .ev-item.ev-active {
        background: #fff6e0;
        border-left-color: #e53935
    }

.ev-date {
    flex: 0 0 66px;
    text-align: center;
    background: var(--navy,#1a3c6e);
    color: #fff;
    border-radius: 12px;
    padding: 8px 4px;
    line-height: 1.1
}

    .ev-date b {
        display: block;
        font-family: 'Montserrat',sans-serif;
        font-size: 1.6rem;
        font-weight: 800
    }

    .ev-date span {
        display: block;
        font-size: .7rem;
        font-weight: 700;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: #ffd95a
    }

    .ev-date small {
        display: block;
        font-size: .62rem;
        opacity: .8;
        margin-top: 2px
    }

.ev-info h4 {
    font-family: 'Montserrat',sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--navy,#1a3c6e);
    margin: 0 0 4px
}

    .ev-info h4:hover{
        color:#fff;
    }

    .ev-info p {
        margin: 0;
        font-size: .86rem;
        line-height: 1.5;
        color: #5d6c82
    }

    .ev-info p:empty {
        display: none
    }

.ev-info .ev-day {
    display: block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--orange,#ff8a1f);
    margin-bottom: 2px
}

/* DataList (all events) */
.ev-all {
    display: block
}

    .ev-all br {
        display: none
    }

.ev-all-wrap {
    max-width: 860px;
    margin: 0 auto
}

@media(max-width:575px) {
    .cal-card {
        padding: 14px
    }

    .cal-cell {
        font-size: .82rem
    }

    .ev-item {
        padding: 12px
    }

    .ev-date {
        flex-basis: 58px
    }
}
/* ===== Calendar END ===== */

/* =========================================================
   DOWNLOADS PAGE
========================================================= */
.downloads-page {
    padding: 70px 0;
    background: #f8f9fc;
}

.downloads-wrapper {
    max-width: 1050px;
}


/* =========================================================
   HEADING
========================================================= */

.downloads-heading {
    text-align: center;
    margin-bottom: 45px;
}

.downloads-title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

    .downloads-title i {
        color: #173b82;
        font-size: 28px;
    }

    .downloads-title h2 {
        font-family: 'Montserrat', sans-serif;
        margin: 0;
        color: var(--ink);
        font-size: 2rem;
        font-weight: 600;
        text-transform: uppercase;
    }

.downloads-line {
    width: 65px;
    height: 3px;
    background: #f5d000;
    margin-left: 5px;
}

.downloads-heading p {
    max-width: 720px;
    margin: 18px auto 0;
    color: #777;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   DOWNLOAD LIST
========================================================= */

.downloads-list {
    width: 100%;
}


/* =========================================================
   DOWNLOAD CARD
========================================================= */

.download-card {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 18px;
    padding: 20px 22px;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0,0,0,.06);
    transition: all .3s ease;
}

    .download-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 28px rgba(0,0,0,.11);
        border-color: #d9d9d9;
    }


/* =========================================================
   ICON
========================================================= */

.download-icon {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #173b82;
    color: #f5d000;
    border-radius: 13px;
    font-size: 27px;
    margin-right: 20px;
}


/* =========================================================
   CONTENT
========================================================= */

.download-content {
    flex: 1;
    min-width: 0;
}

    .download-content h3 {
        margin: 0 0 7px;
        color: #173b82;
        font-size: 18px;
        font-weight: 750;
        line-height: 1.5;
    }

.download-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #888;
    font-size: 12px;
    font-weight: 600;
}

    .download-meta i {
        color: #f5d000;
        font-size: 14px;
    }


/* =========================================================
   DOWNLOAD BUTTON
========================================================= */

.download-action {
    margin-left: 20px;
}

.download-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 125px;
    padding: 11px 18px;
    background: #173b82;
    color: #ffffff !important;
    border-radius: 8px;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 700;
    transition: all .3s ease;
}

    .download-btn:hover {
        background: #f5d000;
        color: #173b82 !important;
    }

    .download-btn i {
        font-size: 15px;
    }


/* =========================================================
   INFORMATION BOX
========================================================= */

.download-info {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 40px;
    padding: 22px 25px;
    background: #173b82;
    color: #ffffff;
    border-radius: 14px;
}

.download-info-icon {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5d000;
    color: #173b82;
    border-radius: 50%;
    font-size: 22px;
}

.download-info h3 {
    margin: 0 0 5px;
    font-size: 18px;
    font-weight: 800;
}

.download-info p {
    margin: 0;
    color: rgba(255,255,255,.85);
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   FOOTER
========================================================= */

.downloads-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 35px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}

    .downloads-footer strong {
        color: #173b82;
        font-size: 16px;
    }

    .downloads-footer span {
        color: #888;
        font-size: 13px;
    }


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .downloads-page {
        padding: 55px 15px;
    }

    .downloads-title h2 {
        font-size: 30px;
    }

    .download-card {
        padding: 18px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .downloads-page {
        padding: 45px 15px;
    }

    .downloads-title {
        flex-wrap: wrap;
    }

        .downloads-title h2 {
            font-size: 25px;
        }

    .downloads-line {
        display: none;
    }

    .downloads-heading p {
        font-size: 14px;
    }


    .download-card {
        align-items: flex-start;
        flex-wrap: wrap;
        padding: 18px;
    }

    .download-icon {
        flex: 0 0 50px;
        width: 50px;
        height: 50px;
        font-size: 23px;
        margin-right: 15px;
    }

    .download-content {
        width: calc(100% - 65px);
    }

        .download-content h3 {
            font-size: 16px;
        }

    .download-action {
        width: 100%;
        margin: 18px 0 0;
    }

    .download-btn {
        width: 100%;
    }


    .download-info {
        align-items: flex-start;
        padding: 20px;
    }


    .downloads-footer {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .downloads-title h2 {
        font-size: 22px;
    }

    .download-info {
        gap: 12px;
    }

    .download-info-icon {
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
        font-size: 18px;
    }

    .download-info h3 {
        font-size: 16px;
    }

    .download-info p {
        font-size: 13px;
    }
}
/* =========================================================
   DOWNLOADS PAGE END
========================================================= */

/* =========================================================
   GLORY OF ACADEMY PAGE
========================================================= */
.glory-page {
    padding: 70px 0;
    background: #f8f9fc;
}

.glory-wrapper {
    max-width: 1180px;
}


/* =========================================================
   HEADING
========================================================= */

.glory-heading {
    text-align: center;
    margin-bottom: 50px;
}

.glory-title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

    .glory-title i {
        color: #173b82;
        font-size: 28px;
    }

    .glory-title h2 {
        font-family: 'Montserrat', sans-serif;
        margin: 0;
        color: var(--ink);
        font-size: 2rem;
        font-weight: 600;
        text-transform: uppercase;
    }

.glory-line {
    width: 65px;
    height: 3px;
    background: #f5d000;
    margin-left: 5px;
}

.glory-heading p {
    max-width: 780px;
    margin: 18px auto 0;
    color: #777;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   GRID
========================================================= */

.glory-list {
    width: 100%;
}

.glory-datalist {
    width: 100%;
}


/* =========================================================
   CARD
========================================================= */

.glory-card {
    position: relative;
    margin: 12px;
    background: #ffffff;
    border: 1px solid #e4e4e4;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,.07);
    transition: all .3s ease;
    height: calc(100% - 24px);
}

    .glory-card:hover {
        transform: translateY(-7px);
        box-shadow: 0 16px 38px rgba(0,0,0,.14);
    }


/* =========================================================
   IMAGE
========================================================= */

.glory-image-box {
    position: relative;
    padding: 18px;
    background: #173b82;
}

    .glory-image-box::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 55%;
        height: 55%;
        border-left: 5px solid #f5d000;
        border-top: 5px solid #f5d000;
        border-radius: 18px 0 0 0;
    }

.glory-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 230px;
    object-fit: cover;
    border: 4px solid #ffffff;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 7px 18px rgba(0,0,0,.20);
}


/* =========================================================
   STAR BADGE
========================================================= */

.glory-star {
    position: absolute;
    z-index: 3;
    right: 28px;
    top: 28px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5d000;
    color: #173b82;
    border: 3px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0,0,0,.2);
    font-size: 14px;
}


/* =========================================================
   CONTENT
========================================================= */

.glory-content {
    padding: 22px 22px 26px;
    text-align: center;
}

.glory-achievement {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 13px;
    margin-bottom: 12px;
    background: #fff8cc;
    color: #173b82;
    border-radius: 30px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
}

    .glory-achievement i {
        color: #173b82;
    }

.glory-content h3 {
    margin: 0 0 10px;
    color: #173b82;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.4;
}

.glory-content p {
    margin: 0;
    color: #666;
    font-size: 14px;
    line-height: 1.75;
}


/* =========================================================
   HIGHLIGHT
========================================================= */

.glory-highlight {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 50px;
    padding: 25px 28px;
    background: #173b82;
    color: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(23,59,130,.15);
}

.glory-highlight-icon {
    flex: 0 0 55px;
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5d000;
    color: #173b82;
    border-radius: 50%;
    font-size: 24px;
}

.glory-highlight-content h3 {
    margin: 0 0 5px;
    font-size: 20px;
    font-weight: 800;
}

.glory-highlight-content p {
    margin: 0;
    color: rgba(255,255,255,.85);
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   QUOTE
========================================================= */

.glory-quote {
    position: relative;
    margin: 35px 0;
    padding: 25px 30px 25px 65px;
    background: #ffffff;
    border-left: 5px solid #f5d000;
    border-radius: 0 14px 14px 0;
    box-shadow: 0 5px 18px rgba(0,0,0,.05);
}

    .glory-quote > i {
        position: absolute;
        left: 20px;
        top: 22px;
        color: #f5d000;
        font-size: 30px;
    }

    .glory-quote p {
        margin: 0;
        color: #173b82;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.8;
    }


/* =========================================================
   FOOTER
========================================================= */

.glory-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}

    .glory-footer strong {
        color: #173b82;
        font-size: 16px;
    }

    .glory-footer span {
        color: #888;
        font-size: 13px;
    }


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .glory-page {
        padding: 55px 15px;
    }

    .glory-title h2 {
        font-size: 30px;
    }

    .glory-card {
        margin: 10px;
    }

    .glory-image {
        height: 220px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .glory-page {
        padding: 45px 15px;
    }

    .glory-title {
        flex-wrap: wrap;
    }

        .glory-title h2 {
            font-size: 25px;
        }

    .glory-line {
        display: none;
    }

    .glory-heading p {
        font-size: 14px;
    }

    .glory-card {
        margin: 10px 5px;
    }

    .glory-image {
        height: 280px;
    }

    .glory-highlight {
        align-items: flex-start;
        padding: 20px;
    }

    .glory-quote {
        padding: 22px 20px 22px 55px;
    }

    .glory-footer {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .glory-title h2 {
        font-size: 22px;
    }

    .glory-image {
        height: 250px;
    }

    .glory-highlight-icon {
        flex: 0 0 45px;
        width: 45px;
        height: 45px;
        font-size: 19px;
    }

    .glory-highlight-content h3 {
        font-size: 17px;
    }

    .glory-highlight-content p {
        font-size: 13px;
    }

    .glory-content h3 {
        font-size: 18px;
    }

    .glory-content p {
        font-size: 13px;
    }
}
/* =========================================================
   GLORY OF ACADEMY PAGE END
========================================================= */

/* =========================================================
   ALUMNI REGISTRATION PAGE
========================================================= */
.alumni-registration-page {
    padding: 70px 0;
    background: #f7f8fb;
}

.alumni-wrapper {
    max-width: 1050px;
}


/* =========================================================
   HEADING
========================================================= */

.alumni-heading {
    text-align: center;
    margin-bottom: 45px;
}

.alumni-title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

    .alumni-title i {
        color: #173b82;
        font-size: 28px;
    }

    .alumni-title h2 {
        font-family: 'Montserrat', sans-serif;
        margin: 0;
        color: var(--ink);
        font-size: 2rem;
        font-weight: 600;
        text-transform: uppercase;
    }

.alumni-line {
    width: 65px;
    height: 3px;
    background: #f5d000;
    margin-left: 5px;
}

.alumni-heading > p {
    max-width: 780px;
    margin: 18px auto 0;
    color: #777;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   FORM CARD
========================================================= */

.alumni-form-card {
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(0,0,0,.08);
    border: 1px solid #e7e7e7;
}


/* =========================================================
   HEADER
========================================================= */

.alumni-form-header {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 28px 35px;
    background: #173b82;
    color: #ffffff;
}

.alumni-header-icon {
    flex: 0 0 55px;
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5d000;
    color: #173b82;
    border-radius: 50%;
    font-size: 23px;
}

.alumni-form-header h3 {
    margin: 0 0 5px;
    font-size: 22px;
    font-weight: 800;
}

.alumni-form-header p {
    margin: 0;
    color: rgba(255,255,255,.85);
    font-size: 14px;
}


/* =========================================================
   MESSAGE
========================================================= */

.alumni-message {
    padding: 0 35px;
}

.alumni-message-text {
    display: block;
    margin-top: 20px;
    padding: 12px 15px;
    border-radius: 8px;
    background: #f5f7fa;
    color: #173b82;
    font-size: 14px;
    font-weight: 600;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.alumni-section-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 35px 35px 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eeeeee;
}

.alumni-section-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff8cc;
    color: #173b82;
    border-radius: 10px;
    font-size: 18px;
}

.alumni-section-heading h3 {
    margin: 0 0 2px;
    color: #173b82;
    font-size: 18px;
    font-weight: 800;
}

.alumni-section-heading p {
    margin: 0;
    color: #888;
    font-size: 12px;
}


/* =========================================================
   FORM GRID
========================================================= */

.alumni-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    padding: 0 35px;
}

.alumni-field-full {
    grid-column: 1 / -1;
}


/* =========================================================
   FIELD
========================================================= */

.alumni-field label {
    display: block;
    margin-bottom: 8px;
    color: #444;
    font-size: 13px;
    font-weight: 700;
}

    .alumni-field label span {
        color: #e53935;
    }


/* =========================================================
   INPUT
========================================================= */

.alumni-input-box {
    display: flex;
    align-items: center;
    min-height: 48px;
    border: 1px solid #dddddd;
    border-radius: 9px;
    background: #ffffff;
    transition: all .25s ease;
}

    .alumni-input-box:focus-within {
        border-color: #173b82;
        box-shadow: 0 0 0 3px rgba(23,59,130,.08);
    }

    .alumni-input-box > i {
        flex: 0 0 45px;
        text-align: center;
        color: #173b82;
        font-size: 16px;
    }

.alumni-input {
    width: 100% !important;
    min-height: 46px;
    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    color: #444;
    font-size: 14px;
    padding: 10px 12px 10px 0 !important;
    box-shadow: none !important;
}

    .alumni-input::placeholder {
        color: #aaa;
    }


/* =========================================================
   TEXTAREA
========================================================= */

.alumni-textarea-box {
    align-items: flex-start;
}

    .alumni-textarea-box > i {
        padding-top: 14px;
    }

    .alumni-textarea-box .alumni-input {
        padding-top: 13px !important;
    }


/* =========================================================
   UPLOAD
========================================================= */

.alumni-upload {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0 35px;
    padding: 20px;
    border: 1px dashed #cfcfcf;
    border-radius: 12px;
    background: #fafbfc;
}

.alumni-upload-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #173b82;
    color: #f5d000;
    border-radius: 12px;
    font-size: 22px;
}

.alumni-upload-content {
    flex: 1;
}

.alumni-file {
    width: 100%;
    color: #555;
    font-size: 13px;
}

.alumni-upload-content p {
    margin: 8px 0 0;
    color: #888;
    font-size: 12px;
}

.alumni-upload-content strong {
    color: #173b82;
}


/* =========================================================
   SUBMIT
========================================================= */

.alumni-submit {
    text-align: center;
    padding: 35px;
}

.alumni-submit-btn {
    min-width: 220px;
    padding: 13px 25px;
    border: 0;
    border-radius: 8px;
    background: #173b82;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all .3s ease;
}

    .alumni-submit-btn:hover {
        background: #f5d000;
        color: #173b82;
    }


/* =========================================================
   NOTE
========================================================= */

.alumni-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 35px 30px;
    padding: 15px 18px;
    background: #fffbea;
    border-left: 4px solid #f5d000;
    border-radius: 0 8px 8px 0;
}

    .alumni-note > i {
        color: #173b82;
        font-size: 16px;
        margin-top: 2px;
    }

    .alumni-note p {
        margin: 0;
        color: #666;
        font-size: 12px;
        line-height: 1.7;
    }


/* =========================================================
   FOOTER MESSAGE
========================================================= */

.alumni-footer-message {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
    padding: 20px 25px;
    background: #173b82;
    color: #ffffff;
    border-radius: 13px;
}

    .alumni-footer-message > i {
        color: #f5d000;
        font-size: 22px;
    }

    .alumni-footer-message strong {
        display: block;
        font-size: 15px;
        margin-bottom: 3px;
    }

    .alumni-footer-message span {
        color: rgba(255,255,255,.8);
        font-size: 12px;
    }


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .alumni-registration-page {
        padding: 55px 15px;
    }

    .alumni-title h2 {
        font-size: 30px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .alumni-registration-page {
        padding: 45px 15px;
    }

    .alumni-title {
        flex-wrap: wrap;
    }

        .alumni-title h2 {
            font-size: 25px;
        }

    .alumni-line {
        display: none;
    }

    .alumni-heading > p {
        font-size: 14px;
    }

    .alumni-form-header {
        padding: 22px;
    }

        .alumni-form-header h3 {
            font-size: 18px;
        }

        .alumni-form-header p {
            font-size: 12px;
        }

    .alumni-message {
        padding: 0 22px;
    }

    .alumni-section-heading {
        margin-left: 22px;
        margin-right: 22px;
    }

    .alumni-form-grid {
        grid-template-columns: 1fr;
        padding: 0 22px;
    }

    .alumni-field-full {
        grid-column: auto;
    }

    .alumni-upload {
        margin: 0 22px;
        align-items: flex-start;
        padding: 15px;
    }

    .alumni-submit {
        padding: 28px 22px;
    }

    .alumni-submit-btn {
        width: 100%;
    }

    .alumni-note {
        margin-left: 22px;
        margin-right: 22px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .alumni-title h2 {
        font-size: 22px;
    }

    .alumni-form-header {
        align-items: flex-start;
    }

    .alumni-header-icon {
        flex: 0 0 45px;
        width: 45px;
        height: 45px;
        font-size: 19px;
    }

    .alumni-section-heading {
        gap: 10px;
    }

    .alumni-section-icon {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
        font-size: 15px;
    }

    .alumni-footer-message {
        align-items: flex-start;
        padding: 17px;
    }
}
/* =========================================================
   ALUMNI REGISTRATION PAGE END
========================================================= */

/*======= Alumni Detail Style ======*/
/* MAIN */
.alumni-detail-page {
    padding: 65px 15px;
    background: #ffffff;
}

.alumni-detail-wrapper {
    max-width: 1150px;
    margin: auto;
}


/* HEADER */
.alumni-page-header {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 35px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e5e7eb;
}

.alumni-header-icon {
    width: 65px;
    height: 65px;
    min-width: 65px;
    background: var(--alumni-navy);
    color: var(--alumni-yellow);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    box-shadow: 0 8px 20px rgba(23,59,130,.18);
}

.alumni-small-title {
    display: block;
    color: var(--alumni-yellow);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.8px;
    margin-bottom: 4px;
}

.alumni-page-header h1 {
    color: var(--alumni-navy);
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    font-size: 34px;
    font-weight:600;
    text-transform: uppercase;
}

.alumni-page-header p {
    margin: 5px 0 0;
    color: #777;
    font-size: 15px;
}


/* INTRO */
.alumni-intro {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 28px 30px;
    margin-bottom: 40px;
    background: #f8faff;
    border-radius: 18px;
    border-left: 5px solid var(--alumni-yellow);
}

.alumni-intro-icon {
    width: 50px;
    height: 50px;
    min-width: 50px;
    border-radius: 50%;
    background: var(--alumni-yellow);
    color: var(--alumni-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.alumni-intro h2 {
    margin: 0 0 8px;
    color: var(--alumni-navy);
    font-size: 24px;
    font-weight: 800;
}

.alumni-intro p {
    margin: 0;
    color: var(--alumni-text);
    line-height: 1.8;
    font-size: 15px;
}


/* LIST HEADER */
.alumni-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

    .alumni-list-header h3 {
        font-family: 'Montserrat', sans-serif;
        margin: 0 0 4px;
        color: var(--alumni-dark);
        font-size: 22px;
        font-weight: 600;
    }

    .alumni-list-header span {
        color: #777;
        font-size: 14px;
    }

.alumni-count-icon {
    width: 48px;
    height: 48px;
    background: var(--alumni-navy);
    color: var(--alumni-yellow);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
}


/* TABLE */
.alumni-table-box {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e4e8ef;
    box-shadow: 0 10px 30px rgba(0,0,0,.07);
}


/* GRIDVIEW */
.alumni-table {
    width: 100%;
    border-collapse: collapse;
}


    /* HEADER */
    .alumni-table th {
        background: var(--alumni-navy) !important;
        color: #fff !important;
        padding: 17px 18px !important;
        font-size: 14px;
        font-weight: 700;
        text-align: left;
        border: none !important;
    }


    /* ROW */
    .alumni-table td {
        padding: 17px 18px !important;
        color: #444;
        font-size: 15px;
        border-bottom: 1px solid #edf0f4 !important;
        vertical-align: middle;
    }


    /* ALTERNATE ROW */
    .alumni-table tr:nth-child(even) td {
        background: #f9fbff;
    }


    /* HOVER */
    .alumni-table tr:hover td {
        background: #fffbea;
    }


    /* VIEW PROFILE BUTTON */
    .alumni-table a {
        display: inline-block;
        padding: 9px 17px;
        background: var(--alumni-navy);
        color: #fff !important;
        text-decoration: none;
        border-radius: 8px;
        font-size: 13px;
        font-weight: 700;
        transition: .25s ease;
    }

        .alumni-table a:hover {
            background: #0f2c65;
            color: var(--alumni-yellow) !important;
            transform: translateY(-1px);
        }


/* BOTTOM BOX */
.alumni-bottom-box {
    margin-top: 40px;
    padding: 27px 30px;
    display: flex;
    align-items: center;
    gap: 20px;
    background: var(--alumni-navy);
    border-radius: 18px;
    position: relative;
    overflow: hidden;
}

    .alumni-bottom-box::after {
        content: "";
        position: absolute;
        width: 180px;
        height: 180px;
        right: -70px;
        top: -80px;
        border: 25px solid rgba(245,208,0,.12);
        border-radius: 50%;
    }

.alumni-bottom-icon {
    width: 55px;
    height: 55px;
    min-width: 55px;
    border-radius: 50%;
    background: var(--alumni-yellow);
    color: var(--alumni-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 23px;
}

.alumni-bottom-box h3 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
}

.alumni-bottom-box p {
    margin: 0;
    color: rgba(255,255,255,.85);
    line-height: 1.7;
    font-size: 14px;
}


/* MOBILE */
@media (max-width: 767px) {

    .alumni-detail-page {
        padding: 45px 15px;
    }

    .alumni-page-header {
        align-items: flex-start;
    }

    .alumni-header-icon {
        width: 55px;
        height: 55px;
        min-width: 55px;
        font-size: 23px;
    }

    .alumni-page-header h1 {
        font-size: 27px;
    }

    .alumni-page-header p {
        font-size: 14px;
    }

    .alumni-intro {
        padding: 22px;
        gap: 15px;
    }

        .alumni-intro h2 {
            font-size: 21px;
        }

        .alumni-intro p {
            font-size: 14px;
        }

    .alumni-list-header h3 {
        font-size: 19px;
    }

    .alumni-list-header span {
        font-size: 12px;
    }

    .alumni-count-icon {
        display: none;
    }

    .alumni-table-box {
        overflow-x: auto;
    }

    .alumni-table {
        min-width: 650px;
    }

    .alumni-bottom-box {
        padding: 22px;
        align-items: flex-start;
    }

        .alumni-bottom-box h3 {
            font-size: 18px;
        }

        .alumni-bottom-box p {
            font-size: 13px;
        }
}
/*============= Alumni Detail Style END ============*/

/* =========================================
   ALUMNI PROFILE PAGE
========================================= */
.alumni-profile-page {
    padding: 65px 15px;
    background: #ffffff;
}

.alumni-profile-wrapper {
    max-width: 1100px;
    margin: auto;
}


/* =========================================
   PROFILE HEADER
========================================= */

.alumni-profile-header {
    display: flex;
    align-items: center;
    gap: 55px;
    padding: 35px;
    margin-bottom: 50px;
    background: #f7f9fd;
    border-radius: 24px;
    position: relative;
    overflow: hidden;
}

    .alumni-profile-header::after {
        content: "";
        position: absolute;
        width: 230px;
        height: 230px;
        right: -100px;
        top: -100px;
        border: 35px solid rgba(245,208,0,.14);
        border-radius: 50%;
    }


/* PHOTO */
.alumni-profile-photo {
    width: 260px;
    min-width: 260px;
    position: relative;
    padding: 14px 0 0 14px;
}

.photo-decoration {
    position: absolute;
    left: 0;
    top: 0;
    width: 70%;
    height: 70%;
    border: 6px solid var(--alumni-yellow);
    border-right: 0;
    border-bottom: 0;
    border-radius: 25px 0 0 0;
}

.alumni-photo {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
}


/* INTRO */
.alumni-profile-intro {
    position: relative;
    z-index: 2;
}

.alumni-label {
    display: block;
    color: var(--alumni-yellow);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 8px;
}

.alumni-profile-intro h1 {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    color: var(--alumni-navy);
    font-size: 38px;
    font-weight: 600;
}

.yellow-line {
    width: 65px;
    height: 4px;
    background: var(--alumni-yellow);
    margin: 13px 0 15px;
}

.alumni-profile-intro p {
    color: #666;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 20px;
}

.alumni-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 17px;
    border-radius: 30px;
    background: var(--alumni-navy);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

    .alumni-badge i {
        color: var(--alumni-yellow);
    }


/* =========================================
   SECTION TITLE
========================================= */

.profile-section-title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.title-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--alumni-navy);
    color: var(--alumni-yellow);
    border-radius: 13px;
    font-size: 22px;
}

.profile-section-title h2 {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    color: var(--alumni-dark);
    font-size: 25px;
    font-weight: 600;
}

.profile-section-title p {
    margin: 3px 0 0;
    color: #777;
    font-size: 14px;
}


/* =========================================
   DETAILS CARD
========================================= */

.alumni-details-card {
    background: #fff;
    border: 1px solid #e5e9f0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(0,0,0,.06);
    margin-bottom: 40px;
}


/* DETAILS VIEW */
.alumni-details {
    width: 100%;
}


    /* ROW */
    .alumni-details tr {
        border-bottom: 1px solid #edf0f4;
    }


        /* LAST ROW */
        .alumni-details tr:last-child {
            border-bottom: 0;
        }


    /* HEADER/COLUMN */
    .alumni-details th {
        width: 34%;
        padding: 18px 22px;
        background: #f7f9fd;
        color: var(--alumni-navy);
        font-size: 13px;
        font-weight: 800;
        letter-spacing: .3px;
        text-align: left;
        vertical-align: middle;
    }


    /* VALUE */
    .alumni-details td {
        padding: 18px 22px;
        color: #444;
        font-size: 15px;
        line-height: 1.6;
        background: #fff;
        vertical-align: middle;
    }


    /* HOVER */
    .alumni-details tr:hover th {
        background: #fffbea;
    }

    .alumni-details tr:hover td {
        background: #fffdf4;
    }


/* =========================================
   HIGHLIGHT
========================================= */

.alumni-highlight {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 28px 30px;
    background: var(--alumni-navy);
    border-radius: 18px;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
}

    .alumni-highlight::after {
        content: "";
        position: absolute;
        width: 180px;
        height: 180px;
        right: -75px;
        top: -75px;
        border: 25px solid rgba(245,208,0,.12);
        border-radius: 50%;
    }

.highlight-icon {
    width: 58px;
    height: 58px;
    min-width: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--alumni-yellow);
    color: var(--alumni-navy);
    border-radius: 50%;
    font-size: 24px;
}

.highlight-content {
    position: relative;
    z-index: 2;
}

    .highlight-content span {
        color: var(--alumni-yellow);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 1.5px;
    }

    .highlight-content h3 {
        margin: 4px 0 6px;
        color: #fff;
        font-size: 21px;
        font-weight: 800;
    }

    .highlight-content p {
        margin: 0;
        color: rgba(255,255,255,.82);
        font-size: 14px;
        line-height: 1.7;
    }


/* =========================================
   FOOTER
========================================= */

.alumni-profile-footer {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px 25px;
    background: #fffbea;
    border-left: 5px solid var(--alumni-yellow);
    border-radius: 0 12px 12px 0;
}

    .alumni-profile-footer > i {
        font-size: 25px;
        color: var(--alumni-yellow);
    }

    .alumni-profile-footer strong {
        color: var(--alumni-navy);
        font-size: 15px;
    }

    .alumni-profile-footer p {
        margin: 3px 0 0;
        color: #777;
        font-size: 13px;
    }


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 767px) {

    .alumni-profile-page {
        padding: 45px 15px;
    }

    .alumni-profile-header {
        display: block;
        padding: 25px;
        text-align: center;
    }

    .alumni-profile-photo {
        width: 220px;
        min-width: 220px;
        margin: 0 auto 30px;
    }

    .alumni-photo {
        height: 260px;
    }

    .alumni-profile-intro h1 {
        font-size: 29px;
    }

    .yellow-line {
        margin: 12px auto;
    }

    .alumni-profile-intro p {
        font-size: 14px;
    }

    .profile-section-title h2 {
        font-size: 21px;
    }

    .profile-section-title p {
        font-size: 13px;
    }

    .alumni-details {
        min-width: 600px;
    }

    .alumni-details-card {
        overflow-x: auto;
    }

    .alumni-details th,
    .alumni-details td {
        padding: 15px;
    }

    .alumni-highlight {
        align-items: flex-start;
        padding: 23px;
    }

    .highlight-content h3 {
        font-size: 18px;
    }

    .alumni-profile-footer {
        align-items: flex-start;
    }
}
/* =========================================
   ALUMNI PROFILE PAGE END
========================================= */

/* =====================================================
   MANDATORY DISCLOSURE PAGE
===================================================== */
.mandatory-disclosure-page {
    padding: 65px 15px 80px;
    background: #ffffff;
}

    .mandatory-disclosure-page .container {
        max-width: 1180px;
    }


/* =====================================================
   PAGE HEADER
===================================================== */

.disclosure-heading {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 25px;
    margin-bottom: 30px;
    border-bottom: 1px solid #e5e8ee;
}

.disclosure-icon {
    width: 65px;
    height: 65px;
    min-width: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--md-navy);
    color: var(--md-yellow);
    border-radius: 16px;
    font-size: 28px;
    box-shadow: 0 8px 20px rgba(23,59,130,.18);
}

.disclosure-heading span {
    display: block;
    color: #e39d00;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.disclosure-heading h1 {
    color: var(--orange, #ff8a1f);
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    font-size: clamp(1.9rem, 4vw, 2rem);
    font-weight: 800;
    text-transform: uppercase;
}

.disclosure-heading p {
    margin: 5px 0 0;
    color: #777;
    font-size: 14px;
}


/* =====================================================
   INTRO
===================================================== */

.disclosure-intro {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 25px 28px;
    margin-bottom: 35px;
    background: #f8faff;
    border-left: 5px solid var(--md-yellow);
    border-radius: 0 15px 15px 0;
}

.intro-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--md-yellow);
    color: var(--md-navy);
    border-radius: 50%;
    font-size: 21px;
}

.disclosure-intro h3 {
    margin: 0 0 5px;
    color: var(--md-navy);
    font-size: 20px;
    font-weight: 800;
}

.disclosure-intro p {
    margin: 0;
    color: var(--md-text);
    font-size: 14px;
    line-height: 1.8;
}


/* =====================================================
   MAIN CARDS
===================================================== */

.disclosure-card {
    margin-bottom: 35px;
    background: #fff;
    border: 1px solid var(--md-border);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(0,0,0,.055);
}


/* =====================================================
   SECTION HEADER
===================================================== */

.section-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 19px 25px;
    background: var(--md-navy);
    color: #fff;
}

.section-number {
    width: 45px;
    height: 45px;
    min-width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--md-yellow);
    color: var(--md-navy);
    border-radius: 12px;
    font-size: 20px;
    font-weight: 900;
}

.section-header h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .5px;
}

.section-header span {
    display: block;
    margin-top: 3px;
    color: rgba(255,255,255,.72);
    font-size: 12px;
}


/* BODY */
.section-body {
    padding: 25px;
}


/* =====================================================
   DETAILS VIEW
===================================================== */

.responsive-details {
    width: 100%;
    overflow-x: auto;
}

.disclosure-details {
    width: 100% !important;
    border: 1px solid var(--md-border);
    border-radius: 10px;
    overflow: hidden;
}

    .disclosure-details tr {
        border-bottom: 1px solid #e9edf2;
    }

        .disclosure-details tr:last-child {
            border-bottom: 0;
        }

    .disclosure-details th {
        width: 35%;
        padding: 15px 18px;
        background: #f5f7fb;
        color: var(--md-navy);
        font-size: 13px;
        font-weight: 800;
        text-align: left;
        vertical-align: middle;
    }

    .disclosure-details td {
        padding: 15px 18px;
        color: #444;
        font-size: 14px;
        background: #fff;
        line-height: 1.6;
        vertical-align: middle;
    }

    .disclosure-details tr:hover th {
        background: #fffbea;
    }

    .disclosure-details tr:hover td {
        background: #fffdf5;
    }


/* =====================================================
   DOCUMENT LIST
===================================================== */

.document-list {
    width: 100%;
}

.document-row {
    display: grid;
    grid-template-columns: 55px 1fr 170px;
    align-items: center;
    min-height: 65px;
    border: 1px solid #e5e9ef;
    border-bottom: 0;
    background: #fff;
    transition: .2s ease;
}

    .document-row:first-child {
        border-radius: 12px 12px 0 0;
    }

    .document-row:last-child {
        border-bottom: 1px solid #e5e9ef;
        border-radius: 0 0 12px 12px;
    }

    .document-row:hover {
        background: #f9fbff;
        transform: translateX(2px);
    }


/* NUMBER */
.document-number {
    text-align: center;
    color: var(--md-navy);
    font-weight: 800;
    font-size: 14px;
}


/* DOCUMENT NAME */
.document-name {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 15px;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
}

    .document-name i {
        color: var(--md-navy);
        font-size: 19px;
        min-width: 19px;
    }


/* ACTION */
.document-action {
    text-align: center;
    padding: 10px;
}

    .document-action a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 9px 14px;
        background: var(--md-navy);
        color: #fff !important;
        border-radius: 7px;
        font-size: 11px;
        font-weight: 700;
        text-decoration: none;
        transition: .25s ease;
    }

        .document-action a:hover {
            background: #0e2c65;
            color: var(--md-yellow) !important;
        }


/* =====================================================
   RESULT BLOCK
===================================================== */

.result-block {
    margin-top: 30px;
}

.result-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

    .result-title i {
        color: var(--md-yellow);
        background: var(--md-navy);
        width: 35px;
        height: 35px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .result-title h3 {
        margin: 0;
        color: var(--md-navy);
        font-size: 18px;
        font-weight: 800;
    }


/* =====================================================
   RESULT TABLE
===================================================== */

.responsive-table {
    width: 100%;
    overflow-x: auto;
}

.result-table {
    width: 100% !important;
    min-width: 650px;
    border: 1px solid var(--md-border);
    border-radius: 10px;
    overflow: hidden;
}

    .result-table th {
        padding: 14px 12px !important;
        background: var(--md-navy) !important;
        color: #fff !important;
        font-size: 12px;
        font-weight: 700;
        text-align: left;
        white-space: nowrap;
    }

    .result-table td {
        padding: 13px 12px !important;
        color: #444;
        font-size: 13px;
        border-bottom: 1px solid #edf0f3 !important;
    }

    .result-table tr:nth-child(even) td {
        background: #f8faff;
    }

    .result-table tr:hover td {
        background: #fffbea;
    }


/* =====================================================
   STAFF TABLE
===================================================== */

.staff-disclosure-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid var(--md-border);
    border-radius: 12px;
}

    .staff-disclosure-table th {
        padding: 14px;
        background: var(--md-navy);
        color: #fff;
        text-align: left;
        font-size: 12px;
        font-weight: 700;
    }

    .staff-disclosure-table td {
        padding: 14px;
        border-bottom: 1px solid #e8ecf1;
        color: #444;
        font-size: 13px;
        vertical-align: middle;
    }

    .staff-disclosure-table tbody tr:nth-child(even) td {
        background: #f8faff;
    }

    .staff-disclosure-table tbody tr:hover td {
        background: #fffbea;
    }

.staff-view-link {
    display: inline-block;
    padding: 7px 11px;
    background: var(--md-navy);
    color: #fff !important;
    text-decoration: none;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

    .staff-view-link:hover {
        background: #0d2b63;
        color: var(--md-yellow) !important;
    }


/* VIDEO */
.video-link {
    display: inline-block;
    padding: 9px 14px;
    background: var(--md-navy);
    color: #fff !important;
    border-radius: 7px;
    font-weight: 700;
    text-decoration: none;
}

    .video-link:hover {
        background: #0d2b63;
        color: var(--md-yellow) !important;
    }


/* =====================================================
   NOTE
===================================================== */

.disclosure-note {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 23px 27px;
    margin-top: 10px;
    background: #fffbea;
    border-left: 5px solid var(--md-yellow);
    border-radius: 0 14px 14px 0;
}

.note-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--md-navy);
    color: var(--md-yellow);
    border-radius: 50%;
    font-size: 20px;
}

.disclosure-note strong {
    color: var(--md-navy);
    font-size: 15px;
}

.disclosure-note p {
    margin: 4px 0 0;
    color: #666;
    font-size: 13px;
    line-height: 1.6;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .mandatory-disclosure-page {
        padding: 45px 15px 60px;
    }

    .disclosure-heading {
        align-items: flex-start;
    }

    .disclosure-icon {
        width: 55px;
        height: 55px;
        min-width: 55px;
        font-size: 23px;
    }

    .disclosure-heading h1 {
        font-size: 20px;
    }

    .disclosure-heading p {
        font-size: 6px;
    }

    .disclosure-intro {
        padding: 20px;
    }

        .disclosure-intro h3 {
            font-size: 18px;
        }

        .disclosure-intro p {
            font-size: 13px;
        }

    .disclosure-card {
        border-radius: 14px;
        margin-bottom: 25px;
    }

    .section-header {
        padding: 16px 18px;
    }

    .section-number {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 17px;
    }

    .section-header h2 {
        font-size: 15px;
    }

    .section-header span {
        font-size: 10px;
    }

    .section-body {
        padding: 15px;
    }

    .disclosure-details {
        min-width: 650px;
    }

        .disclosure-details th,
        .disclosure-details td {
            padding: 13px;
        }

    .document-row {
        grid-template-columns: 42px 1fr;
        padding: 5px 0;
    }

    .document-action {
        grid-column: 2;
        text-align: left;
        padding: 0 15px 10px;
    }

    .document-name {
        padding-right: 10px;
    }

    .document-action a {
        font-size: 10px;
    }

    .staff-disclosure-table {
        min-width: 750px;
    }

    .disclosure-note {
        align-items: flex-start;
        padding: 20px;
    }
}
/* =====================================================
   MANDATORY DISCLOSURE PAGE END
===================================================== */