/*
Theme Name: BITS Gwalior
Theme URI: 
Author: Badabiz Technologies (unit of Swastik Innovation & Digital Services Pvt. Ltd.)
Author URI: https://www.badabiz.com
Description: WordPress theme created for BITS Gwalior
Version: 1.0
*/


h1, h2, h3, h4, h5, h6 {
    font-family: poppins,sans-serif;
}
.top-header-area {
    background-color: #de0404;
}
.top-header-area.marquee {
    background-color: #082779;
}
.desktop-nav .navbar .navbar-nav .nav-item a,
.desktop-nav .navbar .navbar-nav .nav-item .dropdown-menu li a,
.header-right-content .list ul li a {
    font-weight: 500;
    font-size: 14px;
}
.marquee a {
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    padding-right: 50px;
}
.marquee a:hover {
    color: #a8c0ff;
    text-decoration: underline;
}
.admission-box {
    display: flex;
    padding: 10px;
    width: 200px;
    background: #4c6094;
    border-radius: 10px;
    margin: 0 10px 0 20px;
}
.call-icon-box {
    border: 2px solid #fff;
    border-radius: 100%;
    padding: 10px;
    display: flex;
    width: 40px;
    height: 40px;
}
.call-icon-box svg {
    color: #fff;
}
.admission-box a {
    color: #fff;
    margin-left: 10px;
    font-size: 12px;
    text-transform: uppercase;
    font-family: poppins,sans-serif;
    font-weight: 600;
}

.slider-content h1 {
    font-family: poppins,sans-serif;
    font-size: 40px;
    font-weight: 600;
}

.section-title {
    max-width: 80%;
}
.section-title h1 {
    font-family: poppins,sans-serif;
    font-size: 30px;
    font-weight: 600;
}
.section-title p {
    text-align: justify;
}
.title-line-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-inline: auto;
    padding-bottom: 20px;
}
.title-line {
    max-width: 170px;
    border: 1px solid #111d5e;
    flex: 1;
    margin: 0 20px;
}
.single-academics-card .academic-top-content h3 {
    font-size: 20px;
    font-weight: 600;
}
.counter-card {
    text-align: center;
}
.card-home h3 {
    font-size: 16px;
    font-weight: 600;
}
.card-home p {
    font-size: 14px;
    line-height: 20px;
}
.single-campus-card .campus-content h3 {
    font-size: 16px;
    font-weight: 600;
}
.single-news-card .news-content h3 {
    font-size: 18px;
    font-weight: 600;
}
@media only screen and (max-width: 767px) {
    .section-title {
        max-width: 80%
    }
}










/* =========================================================
   BITS ABOUT US PAGE
   Additional CSS
   ========================================================= */


/* ---------- Common ---------- */

.section-subtitle {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.section-heading h2,
.about-content h2,
.values-content h2,
.facility-content h2,
.message-content h2 {
    font-size: 40px;
    line-height: 1.25;
    font-weight: 700;
    margin-bottom: 20px;
}

.section-title {
    max-width: 760px;
    margin: 0 auto;
}

.section-title h2 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 15px;
}

.section-title p {
    max-width: 650px;
    margin: auto;
}


/* ---------- Page Banner ---------- */

.about-page-banner {
    position: relative;
    overflow: hidden;
}

.about-banner-subtitle {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.about-page-banner .page-banner-content h1 {
    max-width: 850px;
}


/* ---------- Introduction ---------- */

.about-intro-section {
    overflow: hidden;
}

.about-image-wrapper {
    position: relative;
    padding-right: 35px;
    padding-bottom: 35px;
}

.about-image-wrapper img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.about-image-wrapper::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 80%;
    height: 80%;
    border: 2px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    z-index: -1;
}

.about-image-badge {
    position: absolute;
    left: -20px;
    bottom: 35px;
    padding: 18px 28px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
}

.about-image-badge strong {
    font-size: 20px;
    font-weight: 700;
}

.about-image-badge span {
    font-size: 14px;
    margin-top: 2px;
}

.about-content h2 span {
    display: inline;
}

.about-content p {
    margin-bottom: 15px;
    line-height: 1.8;
}

.about-check-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 25px 0;
}

.about-check-list div {
    font-weight: 600;
    font-size: 14px;
}

.about-check-list i {
    margin-right: 7px;
    font-size: 18px;
    vertical-align: middle;
}

.about-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}


/* ---------- Overview ---------- */

.college-overview-section {
    overflow: hidden;
}

.overview-text {
    padding-left: 25px;
    border-left: 3px solid rgba(0, 0, 0, 0.08);
}

.overview-text p {
    line-height: 1.85;
    margin-bottom: 15px;
}


/* ---------- Statistics ---------- */

.about-stats-section {
    padding: 70px 0;
    position: relative;
}

.about-stat-box {
    text-align: center;
    padding: 25px 15px;
    height: 100%;
}

.stat-icon {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    font-size: 28px;
}

.about-stat-box h3 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 5px;
}

.about-stat-box p {
    margin: 0;
    font-size: 14px;
}


/* ---------- Vision Mission ---------- */

.vision-mission-section {
    overflow: hidden;
}

.vm-card {
    height: 100%;
    padding: 35px 30px;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 35px rgba(0, 0, 0, 0.07);
    transition: all 0.3s ease;
}

.vm-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.12);
}

.vm-icon {
    width: 65px;
    height: 65px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 22px;
}

.vm-card h3 {
    font-size: 23px;
    margin-bottom: 12px;
}

.vm-card p {
    line-height: 1.8;
    margin: 0;
}


/* ---------- Core Values ---------- */

.core-values-section {
    overflow: hidden;
}

.values-image {
    position: relative;
    padding-right: 30px;
}

.values-image img {
    width: 100%;
    height: 540px;
    object-fit: cover;
    border-radius: 8px;
}

.values-content {
    padding-left: 25px;
}

.values-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-top: 30px;
}

.value-item {
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.value-icon {
    min-width: 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 21px;
}

.value-item h4 {
    font-size: 17px;
    margin: 0 0 5px;
}

.value-item p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
}


/* ---------- Why Choose Us ---------- */

.why-bits-section {
    overflow: hidden;
}

.why-card {
    height: 100%;
    position: relative;
    padding: 35px 30px;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 35px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    overflow: hidden;
}

.why-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.12);
}

.why-card > i {
    display: block;
    font-size: 42px;
    margin-bottom: 20px;
}

.why-card h3 {
    font-size: 21px;
    margin-bottom: 12px;
}

.why-card p {
    line-height: 1.75;
    margin: 0;
}

.why-number {
    position: absolute;
    right: 20px;
    top: 10px;
    font-size: 55px;
    font-weight: 800;
    opacity: 0.05;
}


/* ---------- Facilities ---------- */

.about-facilities-section {
    overflow: hidden;
}

.facility-content p {
    line-height: 1.8;
}

.facility-list {
    list-style: none;
    margin: 25px 0;
    padding: 0;
}

.facility-list li {
    margin-bottom: 12px;
    font-weight: 500;
}

.facility-list i {
    margin-right: 8px;
    font-size: 18px;
    vertical-align: middle;
}

.facility-image-grid {
    position: relative;
    min-height: 520px;
}

.facility-img-large {
    width: 82%;
    height: 410px;
}

.facility-img-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.facility-img-small {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 48%;
    height: 240px;
    border: 10px solid #ffffff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}

.facility-img-small img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ---------- Principal Message ---------- */

.principal-message-section {
    overflow: hidden;
}

.principal-message-box {
    padding: 55px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}

.principal-photo img {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
}

.principal-photo h4 {
    margin-bottom: 5px;
}

.principal-photo span {
    font-size: 14px;
}

.message-content {
    padding-left: 20px;
}

.message-content blockquote {
    margin: 25px 0;
    padding: 20px 25px;
    border-left: 4px solid rgba(0, 0, 0, 0.15);
    font-size: 20px;
    font-style: italic;
    line-height: 1.7;
}

.message-content p {
    line-height: 1.8;
}


/* ---------- CTA ---------- */

.about-cta-section {
    padding: 90px 0;
    position: relative;
    overflow: hidden;
}

.about-cta-content {
    max-width: 850px;
    margin: auto;
}

.about-cta-content > span {
    display: inline-block;
    margin-bottom: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.about-cta-content h2 {
    font-size: 42px;
    line-height: 1.25;
    margin-bottom: 15px;
}

.about-cta-content p {
    max-width: 650px;
    margin: 0 auto 30px;
    line-height: 1.8;
}

.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.outline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 28px;
    border: 1px solid currentColor;
    border-radius: 5px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.outline-btn:hover {
    transform: translateY(-2px);
}


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

@media only screen and (max-width: 991px) {

    .section-heading h2,
    .about-content h2,
    .values-content h2,
    .facility-content h2,
    .message-content h2,
    .section-title h2 {
        font-size: 32px;
    }

    .about-image-wrapper {
        padding-right: 20px;
        padding-bottom: 20px;
    }

    .about-image-wrapper img {
        height: 420px;
    }

    .overview-text {
        padding-left: 0;
        border-left: 0;
    }

    .values-content,
    .message-content {
        padding-left: 0;
    }

    .values-image {
        padding-right: 0;
    }

    .values-image img {
        height: 450px;
    }

    .facility-image-grid {
        margin-top: 30px;
    }

    .principal-message-box {
        padding: 40px 30px;
    }

}


@media only screen and (max-width: 767px) {

    .section-heading h2,
    .about-content h2,
    .values-content h2,
    .facility-content h2,
    .message-content h2,
    .section-title h2 {
        font-size: 28px;
    }

    .about-image-wrapper img {
        height: 330px;
    }

    .about-image-badge {
        left: 10px;
        bottom: 20px;
        padding: 14px 20px;
    }

    .about-check-list {
        grid-template-columns: 1fr;
    }

    .about-stat-box {
        margin-bottom: 20px;
    }

    .about-stat-box h3 {
        font-size: 34px;
    }

    .values-grid {
        grid-template-columns: 1fr;
    }

    .values-image img {
        height: 350px;
    }

    .facility-image-grid {
        min-height: 390px;
    }

    .facility-img-large {
        height: 300px;
    }

    .facility-img-small {
        height: 180px;
        width: 52%;
        border-width: 6px;
    }

    .principal-message-box {
        padding: 35px 20px;
    }

    .message-content blockquote {
        font-size: 17px;
        padding: 15px 18px;
    }

    .about-cta-content h2 {
        font-size: 30px;
    }

}


@media only screen and (max-width: 575px) {

    .about-image-wrapper img {
        height: 280px;
    }

    .about-image-badge {
        position: relative;
        left: 0;
        bottom: auto;
        margin-top: -20px;
        width: max-content;
    }

    .facility-image-grid {
        min-height: 330px;
    }

    .facility-img-large {
        width: 90%;
        height: 260px;
    }

    .facility-img-small {
        width: 55%;
        height: 150px;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }

}


/* ---------- Dark Mode Compatibility ---------- */

.dark-mode .vm-card,
.dark-mode .why-card,
.dark-mode .about-image-badge,
.dark-mode .principal-message-box {
    background: #171717;
}

.dark-mode .about-image-wrapper::after {
    border-color: rgba(255, 255, 255, 0.12);
}

.dark-mode .outline-btn {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.4);
}

.dark-mode .facility-img-small {
    border-color: #171717;
}





/* =========================================================
   BITS GWALIOR - ADMISSION PAGE
   Additional Page Specific CSS
========================================================= */


/* ================= PAGE BANNER ================= */

.admission-page-banner {
    position: relative;
    overflow: hidden;
}

.admission-page-banner::before {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    border: 60px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    right: -100px;
    top: -120px;
}

.admission-page-banner .container {
    position: relative;
    z-index: 2;
}

.banner-small-title {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 8px;
    opacity: 0.9;
}

.admission-page-banner p {
    max-width: 600px;
    margin: 12px auto 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 17px;
}


/* ================= COMMON ================= */

.section-subtitle,
.top-title {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.admission-intro-content h2,
.eligibility-content h2,
.documents-heading h2 {
    font-size: 42px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.admission-intro-content h2 span,
.eligibility-content h2 span,
.documents-heading h2 span {
    display: inline;
}

.admission-intro-content p,
.eligibility-content > p,
.documents-heading > p {
    color: #666;
    line-height: 1.8;
    margin-bottom: 18px;
}


/* ================= INTRO ================= */

.admission-intro-area {
    background: #fff;
}

.admission-intro-image {
    position: relative;
    margin-left: 30px;
}

.admission-intro-image img {
    width: 100%;
    height: 470px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

.image-badge {
    position: absolute;
    left: -25px;
    bottom: 30px;
    background: #fff;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    gap: 13px;
    border-radius: 6px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.image-badge i {
    font-size: 30px;
}

.image-badge strong,
.image-badge span {
    display: block;
}

.image-badge strong {
    font-size: 16px;
    margin-bottom: 4px;
}

.image-badge span {
    color: #777;
    font-size: 13px;
}

.admission-highlight-box {
    display: flex;
    gap: 18px;
    align-items: center;
    padding: 22px;
    margin-top: 28px;
    border-radius: 8px;
    background: #f7f8fc;
    border-left: 4px solid;
}

.highlight-icon {
    min-width: 58px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.highlight-icon i {
    font-size: 27px;
}

.admission-highlight-box h4 {
    margin-bottom: 5px;
    font-size: 19px;
}

.admission-highlight-box p {
    margin: 0;
    font-size: 14px;
}


/* ================= COURSES ================= */

.admission-courses-area {
    background: #f7f8fc;
}

.section-title p {
    max-width: 650px;
    margin: 0 auto;
    color: #666;
    line-height: 1.8;
}

.course-admission-card {
    height: 100%;
    background: #fff;
    padding: 35px 30px 30px;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid #eee;
}

.course-admission-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.10);
}

.course-number {
    position: absolute;
    top: 18px;
    right: 22px;
    font-size: 42px;
    font-weight: 800;
    opacity: 0.07;
}

.course-icon {
    width: 65px;
    height: 65px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    background: #f1f2f7;
}

.course-icon i {
    font-size: 31px;
}

.course-admission-card h3 {
    font-size: 21px;
    line-height: 1.35;
    margin-bottom: 13px;
}

.course-admission-card p {
    color: #707070;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.course-admission-card a {
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.course-admission-card a i {
    transition: all 0.2s ease;
}

.course-admission-card a:hover i {
    transform: translateX(4px);
}


/* ================= ELIGIBILITY ================= */

.eligibility-area {
    background: #fff;
}

.eligibility-image {
    position: relative;
    padding-right: 25px;
}

.eligibility-image img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 8px;
}

.eligibility-stamp {
    position: absolute;
    right: 0;
    bottom: 40px;
    background: #fff;
    padding: 18px 22px;
    border-radius: 6px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.14);
    display: flex;
    align-items: center;
    gap: 12px;
}

.eligibility-stamp i {
    font-size: 34px;
}

.eligibility-stamp span {
    font-size: 12px;
    color: #777;
}

.eligibility-stamp strong {
    display: block;
    font-size: 15px;
}

.eligibility-content {
    padding-left: 30px;
}

.eligibility-main-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px;
    background: #f7f8fc;
    border-radius: 8px;
    margin: 28px 0 20px;
}

.eligibility-icon {
    min-width: 58px;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
}

.eligibility-icon i {
    font-size: 29px;
}

.eligibility-main-card h4 {
    font-size: 18px;
    margin-bottom: 5px;
}

.eligibility-main-card p {
    margin: 0;
    font-size: 14px;
}

.eligibility-point {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}

.eligibility-point i {
    font-size: 20px;
    margin-top: 2px;
}

.eligibility-point p {
    margin: 0;
    color: #555;
    line-height: 1.6;
}


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

.admission-procedure-area {
    background: #f7f8fc;
}

.admission-step {
    background: #fff;
    padding: 30px 25px;
    text-align: center;
    height: 100%;
    border-radius: 8px;
    position: relative;
    border: 1px solid #eee;
    transition: all 0.3s ease;
}

.admission-step:hover {
    transform: translateY(-7px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

.step-number {
    position: absolute;
    right: 18px;
    top: 15px;
    font-size: 32px;
    font-weight: 800;
    opacity: 0.08;
}

.step-icon {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f2f7;
}

.step-icon i {
    font-size: 29px;
}

.admission-step h3 {
    font-size: 20px;
    margin-bottom: 12px;
}

.admission-step p {
    color: #777;
    font-size: 14px;
    line-height: 1.75;
    margin: 0;
}


/* ================= PROCEDURE INFO ================= */

.procedure-information {
    margin-top: 55px;
    background: #fff;
    padding: 32px;
    border-radius: 8px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    border-left: 4px solid;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.05);
}

.procedure-info-icon {
    min-width: 52px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f4f4f7;
}

.procedure-info-icon i {
    font-size: 27px;
}

.procedure-information h4 {
    font-size: 21px;
    margin-bottom: 10px;
}

.procedure-information p {
    color: #666;
    line-height: 1.8;
    font-size: 14px;
}

.procedure-information p:last-child {
    margin-bottom: 0;
}


/* ================= DOCUMENTS ================= */

.documents-area {
    background: #fff;
}

.documents-heading {
    padding-right: 40px;
}

.documents-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 28px;
    padding: 18px;
    border-radius: 6px;
    background: #f7f8fc;
}

.documents-note i {
    font-size: 23px;
}

.documents-note p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
}

.documents-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.document-item {
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: #f7f8fc;
    border-radius: 7px;
    padding: 14px 18px;
    transition: all 0.25s ease;
}

.document-item:hover {
    background: #fff;
    transform: translateX(5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.07);
}

.document-item > i {
    font-size: 24px;
}

.document-item > span:last-child {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

.document-number {
    font-size: 12px;
    font-weight: 700;
    opacity: 0.5;
}


/* ================= IMPORTANT INFORMATION ================= */

.important-admission-area {
    background: #f7f8fc;
}

.important-admission-box {
    background: #fff;
    border-radius: 10px;
    padding: 50px;
    display: flex;
    gap: 25px;
    align-items: flex-start;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.06);
}

.important-icon {
    min-width: 70px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f2f3f8;
}

.important-icon i {
    font-size: 33px;
}

.important-content > span {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.important-content h2 {
    font-size: 32px;
    margin: 8px 0 15px;
}

.important-content p {
    color: #666;
    line-height: 1.8;
    font-size: 14px;
    margin-bottom: 12px;
}

.important-buttons {
    margin-top: 25px;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.outline-admission-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 22px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-weight: 600;
    font-size: 14px;
}

.outline-admission-btn:hover {
    border-color: transparent;
}


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

.admission-cta-area {
    padding: 70px 0;
    position: relative;
    overflow: hidden;
}

.admission-cta-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.admission-cta-content > div:first-child span {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.admission-cta-content h2 {
    font-size: 34px;
    margin: 8px 0 10px;
}

.admission-cta-content p {
    max-width: 650px;
    margin: 0;
    line-height: 1.7;
}

.cta-contact {
    min-width: 260px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.cta-phone-icon {
    width: 58px;
    height: 58px;
    min-width: 58px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    display: flex;
    justify-content: center;
    align-items: center;
}

.cta-phone-icon i {
    font-size: 24px;
}

.cta-contact small {
    display: block;
    margin-bottom: 4px;
    opacity: 0.8;
}

.cta-contact a {
    font-size: 20px;
    font-weight: 700;
}


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

@media only screen and (max-width: 991px) {

    .admission-intro-content {
        margin-bottom: 45px;
    }

    .admission-intro-image {
        margin-left: 0;
    }

    .eligibility-image {
        margin-bottom: 45px;
        padding-right: 0;
    }

    .eligibility-content {
        padding-left: 0;
    }

    .documents-heading {
        padding-right: 0;
        margin-bottom: 40px;
    }

    .admission-cta-content {
        flex-direction: column;
        align-items: flex-start;
    }

}


@media only screen and (max-width: 767px) {

    .admission-intro-content h2,
    .eligibility-content h2,
    .documents-heading h2 {
        font-size: 32px;
    }

    .admission-page-banner p {
        font-size: 15px;
    }

    .admission-intro-image img {
        height: 350px;
    }

    .eligibility-image img {
        height: 380px;
    }

    .image-badge {
        left: 15px;
        bottom: 15px;
    }

    .documents-list {
        grid-template-columns: 1fr;
    }

    .important-admission-box {
        padding: 30px 22px;
        flex-direction: column;
    }

    .important-content h2 {
        font-size: 27px;
    }

    .procedure-information {
        padding: 25px 20px;
        flex-direction: column;
    }

    .admission-cta-content h2 {
        font-size: 28px;
    }

}


@media only screen and (max-width: 480px) {

    .admission-highlight-box {
        align-items: flex-start;
    }

    .course-admission-card {
        padding: 28px 22px;
    }

    .eligibility-main-card {
        align-items: flex-start;
    }

    .important-buttons {
        flex-direction: column;
    }

    .important-buttons a {
        justify-content: center;
        text-align: center;
    }

    .cta-contact {
        min-width: auto;
    }

}








/* =========================================================
   BITS - Founder-Chairman Message Page
   Page-specific styles
   ========================================================= */

.leadership-page-banner {
    position: relative;
    overflow: hidden;
}

.leadership-page-banner::after {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    border: 70px solid rgba(255,255,255,.08);
    border-radius: 50%;
    right: -100px;
    bottom: -170px;
}

.banner-eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: rgba(255,255,255,.85);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.leadership-message-area {
    padding: 95px 0 100px;
    background: #fff;
    position: relative;
}

.leadership-intro {
    max-width: 780px;
    margin: 0 auto 48px;
}

.section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #9c4c77;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.leadership-intro h2 {
    margin: 0 0 15px;
    color: #252525;
    font-size: 42px;
    line-height: 1.18;
    font-weight: 700;
}

.leadership-intro p {
    margin: 0;
    color: #6f6f6f;
    font-size: 17px;
    line-height: 1.8;
}

/* Main message card */
.founder-message-card {
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #eee6ec;
    border-radius: 18px;
    box-shadow: 0 18px 55px rgba(60, 30, 50, .10);
}

/* Left profile */
.founder-profile {
    height: 100%;
    min-height: 690px;
    padding: 45px 38px;
    background: linear-gradient(145deg, #f4edf4 0%, #eee3ed 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.founder-profile::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border: 55px solid rgba(156,76,119,.07);
    border-radius: 50%;
    top: -140px;
    left: -130px;
}

.founder-profile::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    border: 45px solid rgba(156,76,119,.06);
    border-radius: 50%;
    right: -150px;
    bottom: -110px;
}

.founder-image-wrap {
    width: 220px;
    height: 270px;
    margin: 0 auto 30px;
    padding: 8px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 35px rgba(50,25,45,.16);
    position: relative;
    z-index: 1;
}

.founder-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
    border-radius: 5px;
}

.image-accent {
    position: absolute;
    width: 48px;
    height: 48px;
    right: -18px;
    bottom: -18px;
    border-radius: 50%;
    background: #9c4c77;
    border: 7px solid #f0e7ef;
}

.founder-profile-content {
    position: relative;
    z-index: 1;
}

.profile-label {
    display: block;
    margin-bottom: 7px;
    color: #9c4c77;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.founder-profile-content h3 {
    margin: 0 0 6px;
    color: #242424;
    font-size: 27px;
    font-weight: 700;
}

.founder-profile-content p {
    margin: 0;
    color: #777;
    font-size: 15px;
}

.profile-highlight {
    max-width: 260px;
    margin: 32px auto 0;
    padding: 18px 20px;
    border-radius: 10px;
    background: rgba(255,255,255,.70);
    color: #555;
    font-size: 14px;
    line-height: 1.65;
    position: relative;
    z-index: 1;
}

.profile-highlight i {
    display: block;
    margin-bottom: 5px;
    color: #9c4c77;
    font-size: 25px;
}

/* Message */
.message-content {
    height: 100%;
    padding: 55px 62px 55px;
}

.message-heading {
    padding-bottom: 25px;
    margin-bottom: 28px;
    border-bottom: 1px solid #ece6eb;
}

.message-heading .small-title {
    display: block;
    margin-bottom: 8px;
    color: #9c4c77;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.message-heading h2 {
    margin: 0;
    color: #292929;
    font-size: 34px;
    line-height: 1.25;
    font-weight: 700;
}

.message-body {
    color: #555;
    font-size: 16px;
    line-height: 1.85;
}

.message-body p {
    margin-bottom: 19px;
}

.message-body .dear-friends {
    margin-bottom: 15px;
    color: #2b2b2b;
    font-size: 18px;
    font-weight: 600;
}

.message-signature {
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid #ece6eb;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.message-signature span {
    color: #555;
    font-size: 15px;
}

.message-signature strong {
    color: #9c4c77;
    font-size: 19px;
}

.message-signature em {
    color: #333;
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
}

.message-signature small {
    color: #777;
    font-size: 14px;
}

/* Values */
.leadership-values {
    padding-top: 55px;
}

.value-card {
    height: 100%;
    padding: 32px 28px;
    background: #faf8fa;
    border: 1px solid #eee7ed;
    border-radius: 12px;
    transition: all .3s ease;
}

.value-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(50,30,45,.08);
    background: #fff;
}

.value-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eee2eb;
    color: #9c4c77;
    font-size: 25px;
}

.value-card h3 {
    margin: 0 0 10px;
    color: #2d2d2d;
    font-size: 21px;
    font-weight: 700;
}

.value-card p {
    margin: 0;
    color: #707070;
    font-size: 14px;
    line-height: 1.75;
}

/* CTA */
.leadership-cta {
    margin-top: 65px;
    padding: 60px 70px;
    border-radius: 18px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(120deg, #743956 0%, #9c4c77 55%, #b66a92 100%);
    color: #fff;
}

.leadership-cta::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border: 60px solid rgba(255,255,255,.08);
    border-radius: 50%;
    right: -100px;
    top: -160px;
}

.leadership-cta::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border: 35px solid rgba(255,255,255,.07);
    border-radius: 50%;
    left: -80px;
    bottom: -100px;
}

.cta-content {
    max-width: 720px;
    position: relative;
    z-index: 1;
}

.cta-content > span {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,.82);
}

.cta-content h2 {
    margin: 0 0 13px;
    color: #fff;
    font-size: 34px;
    line-height: 1.25;
}

.cta-content p {
    max-width: 650px;
    margin: 0 0 25px;
    color: rgba(255,255,255,.88);
    line-height: 1.75;
}

.cta-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.cta-buttons a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 23px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all .3s ease;
}

.cta-buttons .default-btn {
    background: #fff;
    color: #743956;
}

.cta-buttons .default-btn:hover {
    background: #f7edf3;
    color: #743956;
}

.cta-buttons .outline-btn {
    border: 1px solid rgba(255,255,255,.55);
    color: #fff;
    background: transparent;
}

.cta-buttons .outline-btn:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
}

/* Tablet */
@media only screen and (max-width: 991px) {
    .leadership-message-area {
        padding: 70px 0 75px;
    }

    .leadership-intro h2 {
        font-size: 35px;
    }

    .founder-profile {
        min-height: auto;
        padding: 45px 30px;
    }

    .message-content {
        padding: 45px 35px;
    }

    .message-heading h2 {
        font-size: 30px;
    }

    .leadership-values .col-md-6 {
        margin-bottom: 20px;
    }

    .leadership-cta {
        padding: 50px 40px;
    }
}

/* Mobile */
@media only screen and (max-width: 767px) {
    .leadership-message-area {
        padding: 55px 0 60px;
    }

    .leadership-intro {
        margin-bottom: 32px;
    }

    .leadership-intro h2 {
        font-size: 29px;
    }

    .leadership-intro p {
        font-size: 15px;
    }

    .founder-profile {
        padding: 38px 22px;
    }

    .founder-image-wrap {
        width: 190px;
        height: 235px;
    }

    .message-content {
        padding: 35px 23px 38px;
    }

    .message-heading {
        padding-bottom: 20px;
        margin-bottom: 22px;
    }

    .message-heading h2 {
        font-size: 26px;
    }

    .message-body {
        font-size: 15px;
        line-height: 1.8;
    }

    .leadership-values {
        padding-top: 35px;
    }

    .value-card {
        margin-bottom: 15px;
    }

    .leadership-cta {
        margin-top: 45px;
        padding: 38px 25px;
        border-radius: 12px;
    }

    .cta-content h2 {
        font-size: 27px;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .cta-buttons a {
        justify-content: center;
    }
}


/* =========================================================
   Vice Chairman Message Section
   ========================================================= */

.vice-chairman-message-section {
    margin-top: 75px;
}

/* Intro */
.vice-chairman-intro {
    max-width: 780px;
    margin: 0 auto 45px;
}

.vice-chairman-intro h2 {
    margin: 0 0 15px;
    color: #252525;
    font-size: 42px;
    line-height: 1.18;
    font-weight: 700;
}

.vice-chairman-intro p {
    margin: 0;
    color: #6f6f6f;
    font-size: 17px;
    line-height: 1.8;
}


/* Main Card */
.vice-chairman-message-card {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background: #fff;
    border: 1px solid #eee6ec;
    border-radius: 18px;
    box-shadow: 0 18px 55px rgba(60, 30, 50, .10);
}


/* Profile */
.vice-chairman-profile {
    width: 35%;
    min-height: 650px;
    padding: 45px 38px;
    background: linear-gradient(
        145deg,
        #f8f1f6 0%,
        #eee3ed 100%
    );
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.vice-chairman-profile::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border: 55px solid rgba(156, 76, 119, .07);
    border-radius: 50%;
    top: -145px;
    right: -130px;
}

.vice-chairman-profile::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    border: 45px solid rgba(156, 76, 119, .06);
    border-radius: 50%;
    left: -150px;
    bottom: -120px;
}


/* Image */
.vice-chairman-image-wrap {
    width: 220px;
    height: 270px;
    margin: 0 auto 30px;
    padding: 8px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 35px rgba(50, 25, 45, .16);
    position: relative;
    z-index: 1;
}

.vice-chairman-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
    border-radius: 5px;
}

.vice-chairman-image-accent {
    position: absolute;
    width: 48px;
    height: 48px;
    left: -18px;
    bottom: -18px;
    border-radius: 50%;
    background: #9c4c77;
    border: 7px solid #f0e7ef;
}


/* Profile Details */
.vice-chairman-profile-content {
    position: relative;
    z-index: 1;
}

.vice-profile-label {
    display: block;
    margin-bottom: 7px;
    color: #9c4c77;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.vice-chairman-profile-content h3 {
    margin: 0 0 6px;
    color: #242424;
    font-size: 27px;
    font-weight: 700;
}

.vice-chairman-profile-content p {
    margin: 0;
    color: #777;
    font-size: 15px;
}


/* Highlight Quote */
.vice-profile-highlight {
    max-width: 270px;
    margin: 32px auto 0;
    padding: 18px 20px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .70);
    color: #555;
    font-size: 14px;
    line-height: 1.65;
    position: relative;
    z-index: 1;
}

.vice-profile-highlight i {
    display: block;
    margin-bottom: 5px;
    color: #9c4c77;
    font-size: 25px;
}


/* Message Content */
.vice-chairman-content {
    width: 65%;
    padding: 55px 62px;
}


/* Message Heading */
.vice-message-heading {
    padding-bottom: 25px;
    margin-bottom: 28px;
    border-bottom: 1px solid #ece6eb;
}

.vice-small-title {
    display: block;
    margin-bottom: 8px;
    color: #9c4c77;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.vice-message-heading h2 {
    margin: 0;
    color: #292929;
    font-size: 34px;
    line-height: 1.25;
    font-weight: 700;
}


/* Message Body */
.vice-message-body {
    color: #555;
    font-size: 16px;
    line-height: 1.85;
}

.vice-message-body p {
    margin-bottom: 19px;
}

.vice-message-body .vice-dear-friends {
    margin-bottom: 15px;
    color: #2b2b2b;
    font-size: 18px;
    font-weight: 600;
}


/* Signature */
.vice-message-signature {
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid #ece6eb;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.vice-message-signature span {
    color: #555;
    font-size: 15px;
}

.vice-message-signature strong {
    color: #9c4c77;
    font-size: 19px;
}

.vice-message-signature em {
    color: #333;
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
}

.vice-message-signature small {
    color: #777;
    font-size: 14px;
}


/* =========================================================
   Tablet
   ========================================================= */

@media only screen and (max-width: 991px) {

    .vice-chairman-message-section {
        margin-top: 60px;
    }

    .vice-chairman-intro h2 {
        font-size: 35px;
    }

    .vice-chairman-message-card {
        display: block;
    }

    .vice-chairman-profile {
        width: 100%;
        min-height: auto;
        padding: 45px 30px;
    }

    .vice-chairman-content {
        width: 100%;
        padding: 45px 35px;
    }

    .vice-message-heading h2 {
        font-size: 30px;
    }
}


/* =========================================================
   Mobile
   ========================================================= */

@media only screen and (max-width: 767px) {

    .vice-chairman-message-section {
        margin-top: 50px;
    }

    .vice-chairman-intro {
        margin-bottom: 32px;
    }

    .vice-chairman-intro h2 {
        font-size: 29px;
    }

    .vice-chairman-intro p {
        font-size: 15px;
    }

    .vice-chairman-profile {
        padding: 38px 22px;
    }

    .vice-chairman-image-wrap {
        width: 190px;
        height: 235px;
    }

    .vice-chairman-content {
        padding: 35px 23px 38px;
    }

    .vice-message-heading {
        padding-bottom: 20px;
        margin-bottom: 22px;
    }

    .vice-message-heading h2 {
        font-size: 26px;
    }

    .vice-message-body {
        font-size: 15px;
        line-height: 1.8;
    }
}






/* ==========================================================
   BITS Gwalior - Office Staff Page
   Page-specific CSS
   ========================================================== */

.office-staff-banner {
    position: relative;
    overflow: hidden;
}

.office-staff-banner::after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    border: 70px solid rgba(255,255,255,.08);
    border-radius: 50%;
    right: -115px;
    bottom: -175px;
}

.staff-banner-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: rgba(255,255,255,.84);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* ================= INTRO ================= */

.office-staff-area {
    padding: 95px 0 100px;
    background: #fff;
}

.staff-page-intro {
    max-width: 780px;
    margin: 0 auto 40px;
}

.staff-section-kicker {
    display: inline-block;
    margin-bottom: 9px;
    color: #9c4c77;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.staff-page-intro h2 {
    margin: 0 0 14px;
    color: #282828;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
}

.staff-page-intro p {
    margin: 0;
    color: #707070;
    font-size: 16px;
    line-height: 1.8;
}

/* ================= FILTER ================= */

.staff-filter-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 42px;
}

.staff-filter {
    padding: 10px 20px;
    border: 1px solid #e3d7e0;
    border-radius: 30px;
    background: #fff;
    color: #666;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .25s ease;
}

.staff-filter:hover,
.staff-filter.active {
    border-color: #9c4c77;
    background: #9c4c77;
    color: #fff;
}

/* ================= STAFF CARDS ================= */

.staff-grid {
    row-gap: 28px;
}

.staff-item {
    transition: opacity .25s ease, transform .25s ease;
}

.staff-item.staff-hidden {
    display: none;
}

.staff-card {
    height: 100%;
    min-height: 370px;
    position: relative;
    overflow: hidden;
    border: 1px solid #eee5eb;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 30px rgba(58, 32, 48, .07);
    transition: all .3s ease;
}

.staff-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(58, 32, 48, .13);
}

.staff-card::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    right: -65px;
    bottom: -65px;
    border: 22px solid rgba(156,76,119,.055);
    border-radius: 50%;
    pointer-events: none;
}

.staff-card-top {
    min-height: 92px;
    padding: 22px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #f5edf3, #eee2eb);
}

.staff-number {
    color: rgba(115, 57, 86, .35);
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
}

.staff-icon {
    width: 49px;
    height: 49px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fff;
    color: #9c4c77;
    font-size: 23px;
    box-shadow: 0 5px 15px rgba(80, 40, 65, .08);
}

.staff-card-content {
    padding: 27px 28px 30px;
}

.staff-department {
    display: inline-block;
    margin-bottom: 8px;
    color: #9c4c77;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.staff-card-content h3 {
    margin: 0 0 24px;
    color: #292929;
    font-size: 23px;
    line-height: 1.3;
    font-weight: 700;
}

/* Individual staff information */

.staff-detail {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 17px;
}

.staff-detail:last-child {
    margin-bottom: 0;
}

.detail-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #f5edf3;
    color: #9c4c77;
    font-size: 17px;
}

.staff-detail div {
    min-width: 0;
}

.staff-detail small {
    display: block;
    margin-bottom: 2px;
    color: #999;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.staff-detail strong {
    display: block;
    color: #505050;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
}

/* ================= INFORMATION NOTE ================= */

.staff-information-note {
    margin-top: 55px;
    padding: 25px 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    border: 1px solid #eadfe7;
    border-radius: 12px;
    background: #faf7f9;
}

.note-icon {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eee2eb;
    color: #9c4c77;
    font-size: 23px;
}

.staff-information-note > div:nth-child(2) {
    flex: 1;
}

.staff-information-note h3 {
    margin: 0 0 5px;
    color: #333;
    font-size: 19px;
    font-weight: 700;
}

.staff-information-note p {
    margin: 0;
    color: #777;
    font-size: 14px;
    line-height: 1.65;
}

.staff-contact-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 5px;
    background: #9c4c77;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all .25s ease;
}

.staff-contact-btn:hover {
    background: #743956;
    color: #fff;
    transform: translateY(-2px);
}

/* ================= TABLET ================= */

@media only screen and (max-width: 991px) {

    .office-staff-area {
        padding: 70px 0 75px;
    }

    .staff-page-intro h2 {
        font-size: 35px;
    }

    .staff-card {
        min-height: 360px;
    }

    .staff-information-note {
        align-items: flex-start;
    }
}

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

@media only screen and (max-width: 767px) {

    .office-staff-area {
        padding: 55px 0 60px;
    }

    .staff-page-intro {
        margin-bottom: 30px;
    }

    .staff-page-intro h2 {
        font-size: 30px;
    }

    .staff-page-intro p {
        font-size: 15px;
    }

    .staff-filter-wrap {
        margin-bottom: 30px;
        gap: 7px;
    }

    .staff-filter {
        padding: 9px 14px;
        font-size: 12px;
    }

    .staff-card-content {
        padding: 25px 22px 27px;
    }

    .staff-card-content h3 {
        font-size: 21px;
    }

    .staff-information-note {
        flex-direction: column;
        padding: 25px 22px;
    }

    .staff-information-note > div:nth-child(2) {
        width: 100%;
    }

    .staff-contact-btn {
        width: 100%;
        justify-content: center;
    }
}





/* =========================================================
   BITS PROGRAMME DETAILS PAGE
   ========================================================= */


/* ---------------------------------------------------------
   PAGE BANNER
--------------------------------------------------------- */

.programme-page-banner {
    position: relative;
    overflow: hidden;
}

.programme-page-banner::after {
    content: "";
    position: absolute;
    right: 5%;
    bottom: -100px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    border: 45px solid rgba(255,255,255,0.08);
}

.programme-breadcrumb-label {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 12px;
    opacity: .9;
}

.programme-page-banner h1 {
    max-width: 850px;
}


/* ---------------------------------------------------------
   INTRO SECTION
--------------------------------------------------------- */

.programme-intro-section {
    padding: 100px 0 80px;
    background: #fff;
}

.programme-intro-content {
    padding-right: 40px;
}

.section-small-title {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #a34873;
    margin-bottom: 12px;
}

.programme-intro-content h2 {
    font-size: 44px;
    line-height: 1.2;
    margin-bottom: 22px;
    color: #202020;
}

.programme-intro-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 15px;
}


/* ---------------------------------------------------------
   BUTTONS
--------------------------------------------------------- */

.programme-action-buttons {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
}

.programme-outline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 26px;
    border: 1px solid #a34873;
    color: #a34873;
    border-radius: 5px;
    font-weight: 600;
    transition: all .3s ease;
}

.programme-outline-btn:hover {
    background: #a34873;
    color: #fff;
}


/* ---------------------------------------------------------
   COURSE SUMMARY CARD
--------------------------------------------------------- */

.course-summary-card {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 10px 45px rgba(0,0,0,.10);
    border: 1px solid #eee;
}

.course-summary-header {
    display: flex;
    align-items: center;
    gap: 18px;
    padding-bottom: 25px;
    margin-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.course-icon {
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f4e8ef;
    color: #a34873;
    font-size: 30px;
}

.course-summary-header span {
    display: block;
    color: #777;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.course-summary-header h3 {
    margin: 4px 0 0;
    font-size: 23px;
}


/* ---------------------------------------------------------
   SUMMARY LIST
--------------------------------------------------------- */

.summary-item {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 17px 0;
    border-bottom: 1px solid #eee;
}

.summary-item:last-child {
    border-bottom: none;
}

.summary-item span {
    color: #666;
    font-size: 14px;
}

.summary-item span i {
    color: #a34873;
    margin-right: 7px;
}

.summary-item strong {
    text-align: right;
    color: #252525;
    font-size: 14px;
}

.summary-item.seats-highlight strong {
    color: #a34873;
    font-size: 18px;
}


/* ---------------------------------------------------------
   QUICK INFORMATION STRIP
--------------------------------------------------------- */

.course-info-strip {
    background: #f7f4f6;
    padding: 0;
}

.quick-info-box {
    min-height: 120px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 25px 30px;
    border-right: 1px solid #e4dfe2;
}

.quick-info-box i {
    font-size: 32px;
    color: #a34873;
}

.quick-info-box span {
    display: block;
    font-size: 13px;
    color: #777;
    margin-bottom: 4px;
}

.quick-info-box strong {
    display: block;
    font-size: 17px;
    color: #222;
}


/* ---------------------------------------------------------
   MAIN DETAILS SECTION
--------------------------------------------------------- */

.programme-details-section {
    padding: 100px 0 80px;
    background: #fff;
}

.programme-content-card {
    padding: 35px;
    margin-bottom: 30px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 5px 25px rgba(0,0,0,.04);
}

.programme-content-card h2 {
    font-size: 30px;
    margin-bottom: 20px;
    color: #242424;
}

.programme-content-card p {
    color: #666;
    line-height: 1.8;
    margin-bottom: 15px;
}


/* ---------------------------------------------------------
   LEARNING LIST
--------------------------------------------------------- */

.learning-list {
    margin-top: 25px;
}

.learning-item {
    display: flex;
    gap: 18px;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}

.learning-item:last-child {
    border-bottom: none;
}

.learning-icon {
    min-width: 52px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #f5eaf0;
    color: #a34873;
    font-size: 24px;
}

.learning-item h4 {
    font-size: 17px;
    margin: 0 0 6px;
}

.learning-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   ELIGIBILITY
--------------------------------------------------------- */

.eligibility-box {
    display: flex;
    gap: 15px;
    padding: 20px;
    margin-top: 15px;
    background: #faf7f9;
    border-left: 3px solid #a34873;
    border-radius: 5px;
}

.eligibility-box > i {
    color: #a34873;
    font-size: 22px;
}

.eligibility-box strong {
    display: block;
    margin-bottom: 5px;
}

.eligibility-box p {
    margin: 0;
    font-size: 14px;
}


/* ---------------------------------------------------------
   CAREER GRID
--------------------------------------------------------- */

.career-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 25px;
}

.career-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px;
    border: 1px solid #eee;
    border-radius: 7px;
    background: #fff;
    transition: all .3s ease;
}

.career-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,.07);
}

.career-item i {
    color: #a34873;
    font-size: 23px;
}

.career-item span {
    font-size: 14px;
    font-weight: 600;
}


/* ---------------------------------------------------------
   SIDEBAR
--------------------------------------------------------- */

.programme-sidebar {
    position: sticky;
    top: 25px;
}


/* ---------------------------------------------------------
   SEATS CARD
--------------------------------------------------------- */

.seats-card {
    padding: 30px;
    border-radius: 10px;
    background: #a34873;
    color: #fff;
    text-align: center;
    margin-bottom: 25px;
    box-shadow: 0 10px 35px rgba(163,72,115,.20);
}

.seats-card-icon {
    width: 55px;
    height: 55px;
    margin: 0 auto 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.15);
    font-size: 26px;
}

.seats-card > span {
    font-size: 12px;
    letter-spacing: 1.5px;
    font-weight: 600;
}

.seats-card h3 {
    font-size: 55px;
    line-height: 1;
    margin: 12px 0 5px;
    color: #fff;
}

.seats-card p {
    margin-bottom: 20px;
    color: rgba(255,255,255,.9);
}

.seats-progress {
    height: 7px;
    background: rgba(255,255,255,.2);
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 15px;
}

.seats-progress-bar {
    height: 100%;
    background: #fff;
    border-radius: 20px;
}

.seats-card small {
    display: block;
    color: rgba(255,255,255,.75);
    line-height: 1.5;
    font-size: 11px;
}


/* ---------------------------------------------------------
   SIDEBAR DETAILS
--------------------------------------------------------- */

.sidebar-info-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 25px;
}

.sidebar-info-card h3 {
    font-size: 21px;
    margin-bottom: 15px;
}

.sidebar-info-card ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.sidebar-info-card li {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 14px 0;
    border-bottom: 1px solid #eee;
}

.sidebar-info-card li:last-child {
    border-bottom: none;
}

.sidebar-info-card li span {
    color: #777;
    font-size: 13px;
}

.sidebar-info-card li strong {
    color: #333;
    font-size: 13px;
    text-align: right;
}


/* ---------------------------------------------------------
   APPLY CARD
--------------------------------------------------------- */

.sidebar-apply-card {
    padding: 30px;
    border-radius: 10px;
    background: #f7f4f6;
    text-align: center;
}

.sidebar-apply-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 50%;
    color: #a34873;
    font-size: 27px;
}

.sidebar-apply-card h3 {
    font-size: 21px;
    line-height: 1.4;
}

.sidebar-apply-card p {
    font-size: 14px;
    line-height: 1.7;
    color: #666;
}

.sidebar-apply-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 15px;
    background: #a34873;
    color: #fff;
    border-radius: 5px;
    font-weight: 600;
    margin-top: 20px;
    transition: .3s;
}

.sidebar-apply-btn:hover {
    background: #7d3457;
    color: #fff;
}

.sidebar-enquiry-btn {
    display: block;
    margin-top: 10px;
    color: #a34873;
    font-size: 14px;
    font-weight: 600;
}


/* ---------------------------------------------------------
   HIGHLIGHTS
--------------------------------------------------------- */

.programme-highlights-section {
    padding: 90px 0;
    background: #f7f4f6;
}

.programme-section-title {
    max-width: 720px;
    margin: 0 auto 45px;
    text-align: center;
}

.programme-section-title > span {
    display: block;
    color: #a34873;
    font-size: 13px;
    letter-spacing: 2px;
    font-weight: 700;
    margin-bottom: 10px;
}

.programme-section-title h2 {
    font-size: 36px;
    margin-bottom: 15px;
}

.programme-section-title p {
    color: #666;
    line-height: 1.7;
}

.highlight-card {
    height: 100%;
    padding: 35px 30px;
    background: #fff;
    border-radius: 10px;
    text-align: center;
    border: 1px solid #eee;
    transition: all .3s ease;
}

.highlight-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 15px 40px rgba(0,0,0,.08);
}

.highlight-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5e8ef;
    color: #a34873;
    border-radius: 50%;
    font-size: 30px;
}

.highlight-card h3 {
    font-size: 21px;
    margin-bottom: 12px;
}

.highlight-card p {
    color: #666;
    line-height: 1.7;
    font-size: 14px;
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   CTA
--------------------------------------------------------- */

.programme-cta-section {
    padding: 80px 0;
    background: #fff;
}

.programme-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 55px 60px;
    border-radius: 12px;
    background: #a34873;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.programme-cta::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    right: -80px;
    top: -100px;
    border-radius: 50%;
    border: 45px solid rgba(255,255,255,.08);
}

.programme-cta > div {
    position: relative;
    z-index: 2;
}

.programme-cta span {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}

.programme-cta h2 {
    color: #fff;
    font-size: 35px;
    margin: 8px 0 10px;
}

.programme-cta p {
    margin: 0;
    color: rgba(255,255,255,.85);
}

.cta-buttons {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.cta-white-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 25px;
    background: #fff;
    color: #a34873;
    border-radius: 5px;
    font-weight: 700;
}

.cta-white-btn:hover {
    color: #7d3457;
}

.cta-outline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 25px;
    border: 1px solid rgba(255,255,255,.6);
    color: #fff;
    border-radius: 5px;
    font-weight: 600;
}

.cta-outline-btn:hover {
    background: #fff;
    color: #a34873;
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media only screen and (max-width: 991px) {

    .programme-intro-section {
        padding: 70px 0 50px;
    }

    .programme-intro-content {
        padding-right: 0;
        margin-bottom: 40px;
    }

    .programme-intro-content h2 {
        font-size: 36px;
    }

    .course-info-strip {
        padding: 0 15px;
    }

    .quick-info-box {
        border-bottom: 1px solid #e4dfe2;
    }

    .programme-details-section {
        padding: 70px 0 50px;
    }

    .programme-sidebar {
        position: static;
        margin-top: 20px;
    }

    .programme-cta {
        padding: 40px;
        flex-direction: column;
        align-items: flex-start;
    }

}


@media only screen and (max-width: 767px) {

    .programme-page-banner h1 {
        font-size: 30px;
    }

    .programme-intro-content h2 {
        font-size: 30px;
    }

    .programme-action-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .programme-action-buttons a {
        text-align: center;
    }

    .course-summary-card {
        padding: 22px;
    }

    .summary-item {
        flex-direction: column;
        gap: 5px;
    }

    .summary-item strong {
        text-align: left;
    }

    .programme-content-card {
        padding: 25px 20px;
    }

    .programme-content-card h2 {
        font-size: 25px;
    }

    .career-grid {
        grid-template-columns: 1fr;
    }

    .quick-info-box {
        min-height: auto;
        padding: 20px;
    }

    .programme-highlights-section {
        padding: 60px 0;
    }

    .programme-section-title h2 {
        font-size: 28px;
    }

    .programme-cta {
        padding: 35px 25px;
    }

    .programme-cta h2 {
        font-size: 28px;
    }

    .cta-buttons {
        width: 100%;
        flex-direction: column;
    }

    .cta-white-btn,
    .cta-outline-btn {
        width: 100%;
        justify-content: center;
    }

}



/* =========================================================
   BITS - ALL PROGRAMMES / COURSE LIST
   Page-specific CSS
   ========================================================= */

.course-list-section {
    background: #f7f8fc;
}

.course-list-subtitle {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.course-list-row {
    row-gap: 30px;
    margin-top: 45px;
}

.course-list-card {
    height: 100%;
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.course-list-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.10);
}

.course-list-icon {
    min-width: 65px;
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #f1f2f7;
}

.course-list-icon i {
    font-size: 31px;
}

.course-list-content {
    flex: 1;
}

.course-list-degree {
    display: block;
    margin-bottom: 7px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.course-list-content h3 {
    font-size: 21px;
    line-height: 1.35;
    margin-bottom: 12px;
}

.course-list-content p {
    color: #707070;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 18px;
}

.course-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    padding: 12px 0;
    margin-bottom: 15px;
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
}

.course-list-meta span {
    font-size: 13px;
    font-weight: 600;
}

.course-list-meta i {
    margin-right: 5px;
}

.course-list-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 600;
}

.course-list-link i {
    transition: all 0.2s ease;
}

.course-list-link:hover i {
    transform: translateX(4px);
}

@media only screen and (max-width: 767px) {
    .course-list-row {
        margin-top: 30px;
    }

    .course-list-card {
        padding: 25px 22px;
    }
}

@media only screen and (max-width: 480px) {
    .course-list-card {
        flex-direction: column;
    }

    .course-list-icon {
        margin-bottom: 2px;
    }

    .course-list-meta {
        gap: 14px;
    }
}


/* =========================================================
   BITS - HOSTEL FACILITY PAGE
   Page-specific CSS only
   ========================================================= */

.hostel-page-banner {
    position: relative;
    overflow: hidden;
}

.hostel-page-banner::after {
    content: "";
    position: absolute;
    right: 6%;
    bottom: -115px;
    width: 290px;
    height: 290px;
    border: 45px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}

.hostel-banner-label {
    display: inline-block;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.hostel-details {
    background: #f8f7fa;
}

.hostel-intro {
    max-width: 850px;
    margin: 0 auto 55px;
}

.hostel-section-label {
    display: inline-block;
    margin-bottom: 10px;
    color: #a34873;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.hostel-intro h2 {
    margin-bottom: 18px;
    color: #202020;
    font-size: 42px;
    line-height: 1.2;
}

.hostel-intro p {
    max-width: 780px;
    margin: 0 auto;
    color: #666;
    font-size: 17px;
    line-height: 1.8;
}

.hostel-facility-card {
    position: relative;
    margin-bottom: 40px;
    padding: 48px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    box-shadow: 0 12px 45px rgba(0, 0, 0, 0.07);
}

.hostel-facility-content {
    padding-right: 25px;
}

.hostel-facility-content h2,
.hostel-offcampus-visual h2 {
    margin-bottom: 18px;
    color: #202020;
    font-size: 32px;
    line-height: 1.25;
}

.hostel-facility-content p {
    margin-bottom: 12px;
    color: #666;
    font-size: 15px;
    line-height: 1.85;
}

.hostel-feature-list {
    margin: 22px 0 25px;
    padding: 0;
    list-style: none;
}

.hostel-feature-list li {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 11px;
    color: #555;
    font-size: 14px;
    line-height: 1.65;
}

.hostel-feature-list li i {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    color: #a34873;
    background: #f6eaf0;
    border-radius: 50%;
    text-align: center;
    line-height: 22px;
    font-size: 13px;
}

.hostel-note {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    margin-top: 25px;
    padding: 17px 18px;
    background: #faf5f8;
    border-left: 3px solid #a34873;
    border-radius: 5px;
}

.hostel-note > i {
    color: #a34873;
    font-size: 22px;
    line-height: 1.2;
}

.hostel-note p {
    margin: 0 0 5px;
    color: #555;
    font-size: 13px;
    line-height: 1.7;
}

.hostel-note strong {
    color: #202020;
    font-size: 14px;
    line-height: 1.6;
}

.hostel-image-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    padding-left: 10px;
}

.hostel-image-card {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    background: #eee;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
}

.hostel-image-card img {
    display: block;
    width: 100%;
    height: 245px;
    object-fit: cover;
    transition: transform .4s ease;
}

.hostel-image-card:hover img {
    transform: scale(1.035);
}

.hostel-image-card span {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    display: block;
    padding: 9px 12px;
    color: #fff;
    background: rgba(32, 32, 32, 0.76);
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
}

.hostel-offcampus-card {
    overflow: hidden;
    background: linear-gradient(135deg, #fff 0%, #fcf7fa 100%);
}

.hostel-offcampus-visual {
    position: relative;
    min-height: 230px;
    padding: 35px;
    background: #a34873;
    border-radius: 10px;
    overflow: hidden;
}

.hostel-offcampus-visual::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -100px;
    width: 230px;
    height: 230px;
    border: 35px solid rgba(255, 255, 255, 0.09);
    border-radius: 50%;
}

.hostel-visual-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 22px;
    color: #a34873;
    background: #fff;
    border-radius: 10px;
    font-size: 27px;
}

.hostel-offcampus-visual > span {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 8px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.hostel-offcampus-visual h2 {
    position: relative;
    z-index: 1;
    max-width: 380px;
    margin: 0;
    color: #fff;
}

.hostel-charge-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 25px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
}

.hostel-charge-box span {
    color: #666;
    font-size: 13px;
    font-weight: 600;
}

.hostel-charge-box strong {
    color: #a34873;
    font-size: 16px;
}

@media only screen and (max-width: 991px) {
    .hostel-facility-card {
        padding: 35px 30px;
    }

    .hostel-facility-content {
        padding-right: 0;
    }

    .hostel-image-stack {
        padding-left: 0;
        margin-top: 35px;
    }

    .hostel-offcampus-visual {
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 767px) {
    .hostel-intro {
        margin-bottom: 35px;
    }

    .hostel-intro h2 {
        font-size: 32px;
    }

    .hostel-intro p {
        font-size: 15px;
    }

    .hostel-facility-card {
        padding: 28px 22px;
        border-radius: 10px;
    }

    .hostel-facility-content h2,
    .hostel-offcampus-visual h2 {
        font-size: 27px;
    }

    .hostel-image-card img {
        height: 220px;
    }

    .hostel-offcampus-visual {
        min-height: 200px;
        padding: 28px 24px;
    }

    .hostel-charge-box {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}

@media only screen and (max-width: 480px) {
    .hostel-facility-card {
        padding: 22px 18px;
    }

    .hostel-note {
        flex-direction: column;
    }

    .hostel-image-card img {
        height: 190px;
    }
}




/* =========================================================
   BITS - APPLY NOW & ENQUIRY PAGES
   Page-specific CSS only
   ========================================================= */

.form-page-banner{position:relative;overflow:hidden}
.form-page-banner::after{content:"";position:absolute;right:6%;bottom:-115px;width:290px;height:290px;border:45px solid rgba(255,255,255,.08);border-radius:50%}
.form-banner-label{display:inline-block;margin-bottom:10px;color:rgba(255,255,255,.9);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.form-page-details{background:#f8f7fa}
.form-page-intro{max-width:820px;margin:0 auto 50px}
.form-section-label{display:inline-block;margin-bottom:10px;color:#a34873;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.form-page-intro h2{margin-bottom:17px;color:#202020;font-size:42px;line-height:1.2}
.form-page-intro p{max-width:760px;margin:0 auto;color:#666;font-size:16px;line-height:1.8}
.form-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(500px,1.5fr);gap:30px;align-items:stretch}
.form-info-panel{position:relative;overflow:hidden;padding:42px 35px;background:#a34873;border-radius:12px;color:#fff;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.form-info-panel::after{content:"";position:absolute;right:-95px;bottom:-105px;width:270px;height:270px;border:40px solid rgba(255,255,255,.09);border-radius:50%}
.form-info-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:62px;height:62px;margin-bottom:25px;background:#fff;border-radius:10px;color:#a34873;font-size:30px}
.form-info-panel .form-section-label{position:relative;z-index:1;color:rgba(255,255,255,.8)}
.form-info-panel h3{position:relative;z-index:1;margin:0 0 16px;color:#fff;font-size:30px;line-height:1.25}
.form-info-panel>p{position:relative;z-index:1;margin-bottom:28px;color:rgba(255,255,255,.88);font-size:14px;line-height:1.85}
.form-info-points{position:relative;z-index:1}
.form-info-points>div{display:flex;align-items:flex-start;gap:11px;margin-bottom:15px;color:rgba(255,255,255,.94);font-size:14px;line-height:1.6}
.form-info-points i{flex:0 0 auto;font-size:19px}
.form-help-box{position:relative;z-index:1;display:flex;align-items:flex-start;gap:12px;margin-top:32px;padding:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:7px}
.form-help-box>i{flex:0 0 auto;font-size:22px}
.form-help-box strong{display:block;margin-bottom:3px;color:#fff;font-size:14px}
.form-help-box p{margin:0;color:rgba(255,255,255,.8);font-size:12px;line-height:1.65}
.form-card{padding:38px;background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.07)}
.form-card-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #eee}
.form-card-header span{display:block;margin-bottom:5px;color:#a34873;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.form-card-header h3{margin:0;color:#202020;font-size:25px;line-height:1.3}
.form-card-header>i{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;background:#f7edf2;border-radius:9px;color:#a34873;font-size:24px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.form-group-full{grid-column:1/-1}
.bits-form .form-group{margin:0}
.bits-form label{display:block;margin-bottom:8px;color:#333;font-size:13px;font-weight:600}
.bits-form label>span:first-of-type{color:#a34873}
.bits-form input:not([type=checkbox]),.bits-form select,.bits-form textarea{display:block;width:100%;padding:13px 15px;color:#333;background:#fff;border:1px solid #e1e1e1;border-radius:5px;outline:none;font-family:inherit;font-size:14px;transition:border-color .25s ease,box-shadow .25s ease}
.bits-form input:not([type=checkbox]),.bits-form select{min-height:48px}
.bits-form textarea{min-height:135px;resize:vertical}
.bits-form input:not([type=checkbox]):focus,.bits-form select:focus,.bits-form textarea:focus{border-color:#a34873;box-shadow:0 0 0 3px rgba(163,72,115,.08)}
.bits-form input::placeholder,.bits-form textarea::placeholder{color:#999}
.form-check-label{display:flex!important;align-items:flex-start;gap:10px;margin-top:1px;color:#666!important;font-size:12px!important;font-weight:400!important;line-height:1.6}
.form-check-label input[type=checkbox]{width:17px;height:17px;margin-top:1px;accent-color:#a34873}
.form-check-label span{color:#666!important}
.form-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:13px 26px;color:#fff;background:#a34873;border:1px solid #a34873;border-radius:5px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;transition:all .3s ease}
.form-submit-btn:hover{background:#87375e;border-color:#87375e;color:#fff;transform:translateY(-2px)}
.form-submit-btn i{font-size:17px;transition:transform .2s ease}
.form-submit-btn:hover i{transform:translateX(4px)}

@media only screen and (max-width:991px){
.form-layout{grid-template-columns:1fr}
.form-info-panel{min-height:auto}
}
@media only screen and (max-width:767px){
.form-page-intro{margin-bottom:35px}
.form-page-intro h2{font-size:32px}
.form-page-intro p{font-size:15px}
.form-info-panel,.form-card{padding:28px 22px}
.form-grid{grid-template-columns:1fr;gap:17px}
.form-group-full{grid-column:auto}
.form-card-header h3{font-size:22px}
}
@media only screen and (max-width:480px){
.form-info-panel,.form-card{padding:23px 18px;border-radius:9px}
.form-card-header>i{width:45px;height:45px;flex-basis:45px;font-size:21px}
.form-submit-btn{width:100%}
}





/* =========================================================
   BITS - PHOTO GALLERY + PLACEMENTS
   Page-specific CSS
   ========================================================= */

.gp-page-banner{position:relative;overflow:hidden}
.gp-page-banner::after{content:"";position:absolute;right:6%;bottom:-120px;width:300px;height:300px;border:45px solid rgba(255,255,255,.08);border-radius:50%}
.gp-banner-label{display:inline-block;margin-bottom:10px;color:rgba(255,255,255,.9);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.gp-page-details{background:#f8f7fa}
.gp-intro{max-width:820px;margin:0 auto 42px}
.gp-section-label{display:inline-block;margin-bottom:9px;color:#a34873;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.gp-intro h2{margin:0 0 16px;color:#202020;font-size:42px;line-height:1.2}
.gp-intro p{max-width:760px;margin:0 auto;color:#666;font-size:16px;line-height:1.8}

.gp-gallery-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:38px}
.gp-gallery-filter button{padding:10px 18px;color:#555;background:#fff;border:1px solid #e7e7e7;border-radius:30px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;transition:all .25s ease}
.gp-gallery-filter button:hover,.gp-gallery-filter button.active{color:#fff;background:#a34873;border-color:#a34873}
.gp-gallery-grid{row-gap:30px}
.gp-gallery-card{height:100%;overflow:hidden;background:#fff;border:1px solid #ececec;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.05);transition:transform .3s ease,box-shadow .3s ease}
.gp-gallery-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(0,0,0,.1)}
.gp-gallery-image{position:relative;display:block;overflow:hidden;aspect-ratio:3/2;background:#eee}
.gp-gallery-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.gp-gallery-card:hover .gp-gallery-image img{transform:scale(1.06)}
.gp-gallery-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(48,24,38,.42);opacity:0;color:#fff;font-size:32px;transition:opacity .3s ease}
.gp-gallery-card:hover .gp-gallery-overlay{opacity:1}
.gp-gallery-caption{display:flex;align-items:center;gap:14px;padding:19px 20px}
.gp-gallery-icon{display:flex;align-items:center;justify-content:center;flex:0 0 45px;width:45px;height:45px;background:#f7edf2;border-radius:8px;color:#a34873;font-size:21px}
.gp-gallery-caption span{display:block;margin-bottom:4px;color:#a34873;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.gp-gallery-caption h3{margin:0;color:#252525;font-size:18px;line-height:1.35}
.gp-gallery-note{display:flex;gap:13px;align-items:flex-start;margin-top:45px;padding:19px 22px;background:#fff;border:1px solid #eee;border-left:4px solid #a34873;border-radius:7px}
.gp-gallery-note>i{color:#a34873;font-size:22px}
.gp-gallery-note strong{display:block;margin-bottom:4px;color:#333;font-size:14px}
.gp-gallery-note p{margin:0;color:#777;font-size:12px;line-height:1.7}
.gp-gallery-note code{padding:2px 5px;background:#f4f4f4;border-radius:3px}

.gp-placement-features{row-gap:30px;margin-bottom:55px}
.gp-placement-feature{height:100%;padding:32px 28px;background:#fff;border:1px solid #ececec;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.05);transition:transform .3s ease,box-shadow .3s ease}
.gp-placement-feature:hover{transform:translateY(-5px);box-shadow:0 17px 38px rgba(0,0,0,.09)}
.gp-placement-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:22px;background:#f7edf2;border-radius:9px;color:#a34873;font-size:27px}
.gp-placement-feature>span{display:block;margin-bottom:6px;color:#a34873;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.gp-placement-feature h3{margin:0 0 12px;color:#242424;font-size:22px}
.gp-placement-feature p{margin:0;color:#707070;font-size:14px;line-height:1.8}

.gp-stats-panel{padding:45px 35px;margin-bottom:70px;background:#fff;border:1px solid #ececec;border-radius:12px;box-shadow:0 10px 35px rgba(0,0,0,.06)}
.gp-stats-heading{text-align:center;max-width:720px;margin:0 auto 35px}
.gp-stats-heading h2{margin:0 0 12px;color:#202020;font-size:31px}
.gp-stats-heading p{margin:0;color:#777;font-size:14px;line-height:1.75}
.gp-stat-card{text-align:center;height:100%;padding:24px 12px;border-right:1px solid #eee}
.gp-stat-card:last-child{border-right:0}
.gp-stat-card i{display:block;margin-bottom:10px;color:#a34873;font-size:25px}
.gp-stat-card strong{display:block;color:#222;font-size:29px;line-height:1.1}
.gp-stat-card span{display:block;margin-top:7px;color:#444;font-size:13px;font-weight:700}
.gp-stat-card small{display:block;margin-top:5px;color:#aaa;font-size:10px}

.gp-placement-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:40px;align-items:stretch;margin-bottom:75px}
.gp-placement-copy{padding:8px 0}
.gp-placement-copy h2{margin:0 0 14px;color:#202020;font-size:34px}
.gp-placement-copy>p{max-width:720px;margin:0 0 30px;color:#707070;font-size:14px;line-height:1.8}
.gp-process-list{border-top:1px solid #e8e8e8}
.gp-process-item{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #e8e8e8}
.gp-process-number{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;background:#f7edf2;border-radius:50%;color:#a34873;font-size:12px;font-weight:700}
.gp-process-item h3{margin:0 0 5px;color:#333;font-size:17px}
.gp-process-item p{margin:0;color:#777;font-size:13px;line-height:1.65}
.gp-placement-panel{position:relative;overflow:hidden;padding:40px 34px;background:#a34873;border-radius:12px;color:#fff;box-shadow:0 15px 40px rgba(163,72,115,.2)}
.gp-placement-panel::after{content:"";position:absolute;right:-90px;bottom:-100px;width:250px;height:250px;border:40px solid rgba(255,255,255,.08);border-radius:50%}
.gp-panel-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:62px;height:62px;margin-bottom:23px;background:#fff;border-radius:9px;color:#a34873;font-size:29px}
.gp-placement-panel>span{position:relative;z-index:1;display:block;margin-bottom:7px;color:rgba(255,255,255,.78);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.gp-placement-panel h3{position:relative;z-index:1;margin:0 0 15px;color:#fff;font-size:27px;line-height:1.3}
.gp-placement-panel p{position:relative;z-index:1;margin:0 0 25px;color:rgba(255,255,255,.86);font-size:13px;line-height:1.8}
.gp-action-btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:12px 20px;color:#fff!important;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:5px;font-size:13px;font-weight:600;transition:all .25s ease}
.gp-action-btn:hover{background:#fff;color:#a34873!important}
.gp-action-btn i{transition:transform .2s ease}
.gp-action-btn:hover i{transform:translateX(4px)}

.gp-recruiter-area{margin-bottom:65px}
.gp-recruiter-heading{max-width:720px;margin:0 auto 30px}
.gp-recruiter-heading h2{margin:0 0 12px;color:#202020;font-size:31px}
.gp-recruiter-heading p{margin:0;color:#777;font-size:14px;line-height:1.75}
.gp-recruiter-placeholder{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}
.gp-recruiter-placeholder>div{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:110px;background:#fff;border:1px dashed #ddd;border-radius:8px;color:#aaa}
.gp-recruiter-placeholder i{margin-bottom:7px;color:#c0c0c0;font-size:27px}
.gp-recruiter-placeholder span{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}

.gp-placement-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 40px;background:#fff;border:1px solid #eee;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.05)}
.gp-placement-cta .gp-section-label{margin-bottom:7px}
.gp-placement-cta h2{margin:0 0 6px;color:#222;font-size:27px}
.gp-placement-cta p{margin:0;color:#777;font-size:13px}
.gp-placement-cta .gp-action-btn{color:#fff!important;background:#a34873;border-color:#a34873;white-space:nowrap}
.gp-placement-cta .gp-action-btn:hover{color:#a34873!important;background:#fff}

@media only screen and (max-width:991px){
.gp-stat-card{border-right:0}
.gp-stat-card{border-bottom:1px solid #eee}
.gp-placement-split{grid-template-columns:1fr}
.gp-recruiter-placeholder{grid-template-columns:repeat(3,1fr)}
}
@media only screen and (max-width:767px){
.gp-intro h2{font-size:32px}
.gp-intro p{font-size:15px}
.gp-gallery-filter{gap:7px}
.gp-gallery-filter button{padding:9px 13px;font-size:12px}
.gp-stats-panel{padding:30px 20px}
.gp-stat-card{padding:20px 8px}
.gp-stat-card strong{font-size:24px}
.gp-placement-split{gap:25px}
.gp-placement-copy h2{font-size:29px}
.gp-placement-panel{padding:32px 25px}
.gp-recruiter-placeholder{grid-template-columns:repeat(2,1fr)}
.gp-placement-cta{align-items:flex-start;flex-direction:column;padding:28px 24px}
.gp-placement-cta .gp-action-btn{width:100%;justify-content:center}
}
@media only screen and (max-width:480px){
.gp-gallery-caption{padding:16px}
.gp-gallery-icon{flex-basis:40px;width:40px;height:40px;font-size:19px}
.gp-gallery-caption h3{font-size:16px}
.gp-gallery-note{padding:16px}
.gp-recruiter-placeholder{grid-template-columns:1fr 1fr}
.gp-placement-feature{padding:26px 22px}
}
