/* =========================
   Global Style
========================= */

html {
    overflow-x: hidden;
}

body {
    margin: 0;
    padding: 0;
    font-family: "Open Sans", sans-serif !important;
    /* overflow-x: hidden; */
    /* Prevent layout shift when scrollbar appears/disappears */
    /* scrollbar-gutter: stable; */
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400 !important;
}

.section-title {
    color: #49447C;
}

.badge {
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #E0342C !important;
    position: relative !important;
}

.academics-section .badge,
.about-3 .badge,
.academics-2 .badge,
.academics-6 .badge {
    color: #f8e710 !important;
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    position: relative !important;
}

/* =========================
   Header
========================= */

/* Header Default */
#mainHeader {
    position: relative;
    width: 100%;
    z-index: 999;
    transition: all 0.4s ease;
}

/* Sticky Header */
#mainHeader.sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    animation: headerSlideDown 0.4s ease;
}

/* Smooth Animation */
@keyframes headerSlideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

/* =========================
   Top Header
========================= */

.top-header {
    background: #49447C;
    padding: 14px 0;
    border-bottom: 7px solid #f8e710;
}

.top-contact {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-item i {
    color: #fff;
    font-size: 22px;
}

.contact-item a {
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
}

/* =========================
   Top Menu
========================= */

.top-menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
}

.top-menu a {
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    padding: 0 22px;
    position: relative;
    white-space: nowrap;
}

.top-menu a:hover {
    color: #E0342C;
}

.top-menu a:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 2px;
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.5);
}

/* =========================
   Main Navbar
========================= */

.main-navbar {
    /* background: #f3f3f3; */
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.navbar {
    min-height: 100px;
    padding: 0;
}

/* =========================
   Logo
========================= */

.navbar-brand {
    /* background: #f3f3f3; */
    padding: 10px 28px;
    margin: 0;
    display: flex;
    align-items: center;
}

.navbar-brand img {
    max-height: 94px;
    width: auto;
}

/* =========================
   Navbar Menu
========================= */

.navbar-collapse {
    /* background: #f3f3f3; */
}

.navbar-nav {
    align-items: center;
}

.navbar-nav .nav-item {
    position: relative;
}

.navbar-nav .nav-link {
    color: #111 !important;
    font-size: 16px;
    font-weight: 700;
    padding: 40px 18px !important;
    transition: 0.3s;
    white-space: nowrap;
    text-transform: uppercase;
}

/* =========================
   Hover
========================= */

.navbar-nav .nav-link:hover {
    color: #E0342C !important;
    position: relative;
}

.navbar-nav .nav-link::before {
    content: "";
    position: absolute;
    width: 0;
    height: 4px;
    background-color: #f8e710;
    top: 67px;
    bottom: 12px;
    border-radius: 20px;
    transition: 0.3s ease;

}

.navbar-nav .nav-link:hover::before {
    width: 73%;
}

/* =========================
   Dropdown
========================= */

.dropdown-menu {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08) !important;
    min-width: 16rem !important;
}

.dropdown-item {
    padding: 12px 20px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}

.dropdown-item:hover {
    background: #49447C !important;
    color: #fff !important;
}

/* =========================
   Toggle Button
========================= */

.navbar-toggler {
    border: none;
    box-shadow: none !important;
}

.navbar-toggler:focus {
    box-shadow: none !important;
}

/* =========================
   Desktop Optimization
========================= */

@media(min-width:1200px) {

    .navbar .container-fluid {
        display: flex;
        align-items: stretch;
    }

    .navbar-collapse {
        flex-grow: 1;
    }

    .navbar-nav {
        width: 100%;
        justify-content: space-evenly;
    }

}

/* =========================
   Laptop
========================= */

@media(max-width:1399px) {

    .navbar-nav .nav-link {
        padding: 40px 14px !important;
        font-size: 15px;
    }

    .top-menu a {
        padding: 0 16px;
    }

}

/* =========================
   Tablet
========================= */

@media(max-width:1199px) {

    .top-header {
        padding: 12px 0;
    }

    .top-contact {
        gap: 12px;
        margin-bottom: 10px;
    }

    .top-menu {
        justify-content: flex-start;
        gap: 10px;
    }

    .top-menu a {
        padding-left: 0;
        padding-right: 15px;
    }

    .top-menu a::after {
        display: none;
    }

    .navbar {
        min-height: auto;
        padding: 12px 0;
    }

    .navbar-brand {
        padding: 8px 18px;
    }

    .navbar-brand img {
        max-height: 65px;
    }

    .navbar-collapse {
        background: #fff;
        margin-top: 12px;
    }

    .navbar-nav {
        align-items: flex-start;
        padding: 15px 20px;
    }

    .navbar-nav .nav-link {
        padding: 12px 0 !important;
        font-size: 15px;
    }

    .active-menu {
        background: transparent;
    }

    .active-menu .nav-link {
        color: #f4b400 !important;
    }

}

/* =========================
   Mobile
========================= */

@media(max-width:767px) {

    .top-header {
        padding: 10px 0;
    }

    .top-contact {
        flex-direction: column;
        gap: 10px;
    }

    .contact-item i {
        font-size: 18px;
    }

    .contact-item a {
        font-size: 14px;
    }

    .top-menu {
        gap: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .top-menu a {
        font-size: 13px;
        padding-right: 10px;
    }

    .navbar-brand {
        padding: 5px 15px;
    }

    .navbar-brand img {
        max-height: 55px;
    }

    .navbar-toggler {
        margin-right: 10px;
    }

    .navbar-nav {
        padding: 10px 15px;
    }

}

.hero-section {
    position: relative;
    line-height: 0;
    font-size: 0;
    overflow: hidden;
}

.hero-section video.hero-video {
    height: 926px;
    display: block;
    width: 100%;
}

.home-2 {
    position: absolute;
    top: 1050px;
    left: 68px;
}

.home-2 .box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 267px;
    padding-left: 12px;
    padding-right: 12px;
}

.b1 {
    background: #3AB64C;
}

.b2 {
    background-color: #FF002A;
}

.b3 {
    background-color: #051838;
}

.b4 {
    background-color: #3DB2D5;
}

.home-2 .box img.img-fluid {
    background: #fff;
    padding: 20px;
    border-radius: 100%;
    box-shadow: -1px 11px 0px 0px #f8e710;
    position: absolute;
    bottom: 214px;
}

.home-2 h3.box-title {
    margin-top: 70px;
    color: #fff;
}

.home-2 p.box-desc {
    text-align: center;
    color: #fff;
    margin-top: 18px;

}

.home-3 {
    margin-top: 250px;
}

.home-3 img.img-fluid {
    width: 100%;
    box-shadow: -12px 14px 0px #49447C;
    border: 6px solid #f8e710;
}

.home-3 .btn {
    display: inline-block;
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    transition: 0.3s;
    position: relative;
    background-color: #E0342C;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 20px;
}

.home-3 .btn:hover {
    background-color: #f8e710;

}

.video-wrap {
    padding: 70px 0 90px 0;
}

.video-wrap .title {
    margin-bottom: 45px;
}

.center_title {
    text-align: center;
}

.title {
    margin-bottom: 20px;
    position: relative;
}

.title span {
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 18px;
    font-weight: 700 !important;
    color: #ffb607;
    position: relative;
}

.title h1 {
    font-size: 48px;
    /* color: #56225e; */
    color: #49447c;
    margin: 0;
    font-weight: bold !important;
}

.profile_data {
    aspect-ratio: 1/1;
    width: min(400px, 90%);
    position: relative;
}

.back {
    position: absolute;
    width: 100%;
    height: 100%;
    box-shadow: 10px 10px 0 #E0342C, -10px -10px 0 #E0342C;
    /* box-shadow: 10px 10px 0 #ff006f, -10px -10px 0 #8d08d0; */
    border-radius: 50%;
    animation: rotate 8s infinite linear;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

.profile {
    border-radius: 50%;
    width: 100%;
    height: 100%;
    /* background-image: url(); */
    background-size: cover;
    background-position: center;
    transition: all 0.2s ease-in-out;
    position: absolute;
}

.profile:hover {
    background-size: cover;
    box-shadow: 10px 10px 0 #49447C, -10px -10px 0 #49447C;
    background-repeat: no-repeat;
    background-position: center;

}

.profile_infos {
    text-align: center;
}

.profile_infos h4 {
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 600 !important;
    color: #051838;
}

.occupation {
    color: #8d08d0;
    padding: 20px 0 0 0;
}


/* =========================
   Academics Section
========================= */

.academics-section {
    position: relative;
    padding: 100px 0;
    background: linear-gradient(135deg, #49447ca8, #49447C), url(../Images/bg-academics.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

/* =========================
   Title
========================= */



.academics-title span.divider {
    width: 70px;
    height: 4px;
    background: #f8e710;
    display: inline-block;
    border-radius: 20px;
    margin-bottom: 60px;
}

.academics-title .section-title {
    /* font-weight: 700 !important; */
    font-size: 48px;
    /* color: #56225e; */
    color: #49447c;
    margin: 0;
    font-weight: bold !important;
}

/* =========================
   Academic Card
========================= */

.academic-card {
    background: #fff;
    overflow: hidden;
    transition: 0.4s;
    height: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.academic-card:hover {
    transform: translateY(-8px);
}

/* =========================
   Image
========================= */

.academic-image {
    overflow: hidden;
}

.academic-image img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    transition: 0.5s;
}

.academic-card:hover .academic-image img {
    transform: scale(1.08);
}

/* =========================
   Content
========================= */

.academic-content {
    padding: 35px 30px;
}

.academic-content h3 {
    font-size: 28px;
    font-weight: 700 !important;
    color: #0b1f3a;
    margin-bottom: 20px;
}

.academic-content p {
    font-size: 17px;
    line-height: 1.9;
    color: #555;
    margin-bottom: 30px;
    height: 140px;
}

.academic-content a {
    display: inline-block;
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    transition: 0.3s;
    position: relative;
    background-color: #E0342C;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 20px;
}

.academic-content a:hover {
    background-color: #f8e710;
    color: #000;
}

/* =========================
   Carousel Arrows
========================= */

#academicsCarousel {
    position: relative;
}

.academic-arrow {
    width: 65px !important;
    height: 65px !important;
    background: #0b1f3a !important;
    border-radius: 50%;
    opacity: 1 !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}

.carousel-control-prev {
    left: -80px;
}

.carousel-control-next {
    right: -80px;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: none;
}

.academic-arrow i {
    font-size: 32px;
    color: #fff;
    line-height: 1;
}

.academic-arrow:hover {
    background: #f8e710 !important;
}

/* =========================
   Responsive
========================= */

@media(max-width:1199px) {

    .carousel-control-prev {
        left: 10px;
    }

    .carousel-control-next {
        right: 10px;
    }

}

@media(max-width:991px) {

    .academics-title h2 {
        font-size: 38px;
    }

    .academic-image img {
        height: 240px;
    }

}

@media(max-width:767px) {

    .academics-section {
        padding: 70px 0;
    }

    .academics-title h2 {
        font-size: 30px;
    }

    .academic-content {
        padding: 25px 20px;
    }

    .academic-content h3 {
        font-size: 24px;
    }

    .academic-image img {
        height: 220px;
    }

    .academic-arrow {
        display: none;
    }

}


@media(max-width:1199px) {

    .carousel-control-prev.academic-arrow {
        left: 10px;
    }

    .carousel-control-next.academic-arrow {
        right: 10px;
    }

}

@media(max-width:767px) {

    .academic-arrow {
        width: 50px !important;
        height: 50px !important;
    }

    .academic-arrow i {
        font-size: 24px;
    }

}

/* =========================
   Gallery Section
========================= */

.school-gallery-section {
    position: relative;
    padding: 90px 0;
    background: #49447c24;
    overflow: hidden;
}

.school-gallery-section .section-title {
    /* font-weight: 700 !important; */
    margin-bottom: 30px;
    font-size: 48px;
    /* color: #56225e; */
    color: #49447c;
    /* margin: 0; */
    font-weight: bold !important;
}

.school-gallery-section .carousel-inner {
    border-radius: 20px;
}

.school-gallery-section .gallery-img {
    width: 100%;
    height: 220px;
    /* fixed equal height */
    object-fit: cover;
    /* crop nicely */
    border-radius: 10px;
}

/* spacing fix */
.school-gallery-section .carousel .row {
    margin: 0;
}

.school-gallery-section .carousel .col-4 {
    padding: 5px;
}

/* Control buttons background */
.school-gallery-section .carousel-control-prev,
.school-gallery-section .carousel-control-next {
    width: 50px;
    height: 50px;
    background: #E0342C;
    /* your theme green */
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
}

/* Icon color */
.school-gallery-section .carousel-control-prev-icon,
.school-gallery-section .carousel-control-next-icon {
    color: white;
}

/* Hover */
.school-gallery-section .carousel-control-prev:hover,
.school-gallery-section .carousel-control-next:hover {
    background: #f8e710;
    /* gold */
}

.school-gallery-section .gallery-img-box img {
    height: auto;
    object-fit: contain;
    width: 100% !important;
}

/* Mobile: show 1 image */
@media (max-width: 768px) {
    .school-gallery-section .carousel .col-md-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 991px) {
    .school-gallery-section .gallery-img {
        height: 180px;
    }
}

@media (max-width: 576px) {
    .school-gallery-section .gallery-img {
        height: 120px;
    }
}

/* Popup */
.popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
    z-index: 999;
}

.popup img {
    max-width: 80%;
    max-height: 80%;
    border-radius: 10px;
}

/* Navigation arrows */
.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 40px;
    color: #fff;
    cursor: pointer;
    padding: 10px;
    user-select: none;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 50%;
}

.nav-btn:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* Left arrow */
.prev {
    left: 20px;
}

/* Right arrow */
.next {
    right: 20px;
}

.close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 30px;
    color: #fff;
    cursor: pointer;
}

.admission {
    padding: 108px 0;
    background-image: url(../Images/admission.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.admission h2.section-title {
    color: #fff !important;
    /* font-weight: 700 !important; */
    /* font-weight: 700 !important; */
    font-size: 48px;
    /* color: #56225e; */
    color: #49447c;
    margin: 0;
    font-weight: bold !important;
}

.admission p.section-desc {
    color: #fff;
    text-align: justify;
    line-height: 1.6;
    padding-top: 14px;
}

.admission .btn {
    background-color: #E0342C;
    color: #fff;
    border-radius: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 20px;
    padding-left: 20px;
    font-weight: 700;
}

.admission .btn:hover {
    background-color: #f8e710;
    color: #000;
}

/* =========================
   Testimonial Section
========================= */

.testimonial-section {
    background: #e9403533;
    overflow: hidden;
    position: relative;
    padding: 90px 0;
}

/* =========================
   Section Heading
========================= */

.testimonial-subtitle {
    color: #00a6eb;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.testimonial-section .section-title {
    /* color: #49447C; */
    /* font-weight: 700 !important; */
    margin-bottom: 30px;
    font-size: 48px;
    /* color: #56225e; */
    color: #49447c;
    /* margin: 0; */
    font-weight: bold !important;
}

/* =========================
   Testimonial Card
========================= */

.testimonial-card {
    background: #49447c;
    border-radius: 24px;
    padding: 35px 30px;
    height: 100%;
    position: relative;
    overflow: hidden;
    transition: 0.4s ease;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.06);
    color: #fff;
}

.testimonial-card:hover {
    transform: translateY(-8px);
}

/* =========================
   Quote Icon
========================= */

.testimonial-icon {
    width: 70px;
    height: 70px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

.testimonial-icon i {
    color: #49447c;
    font-size: 30px;
}

/* =========================
   Testimonial Text
========================= */

.testimonial-text {
    color: #fff;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 30px;
    height: 130px;
}

/* =========================
   User Info
========================= */

.testimonial-user h5 {
    font-size: 20px;
    font-weight: 700 !important;
    color: #fff;
    margin-bottom: 6px;
}

.testimonial-user span {
    color: #fbef19;
    font-size: 14px;
    display: block;
}

/* =========================
   Carousel Controls
========================= */

.carousel-control-prev,
.carousel-control-next {
    width: auto;
    opacity: 1;
    top: 50%;
    transform: translateY(-50%);
}

/* Left Arrow */

.carousel-control-prev {
    left: -85px;
}

/* Right Arrow */

.carousel-control-next {
    right: -85px;
}

/* Arrow Design */

.testimonial-arrow {
    width: 60px;
    height: 60px;
    background: #e7383f;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.testimonial-arrow:hover {
    transform: scale(1.08);
    background: #f8e710;
}

.testimonial-arrow i {
    color: #ffffff;
    font-size: 22px;
}

/* =========================
   Carousel Indicators
========================= */

.carousel-indicators {
    bottom: -60px;
}

.carousel-indicators button {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50%;
    background-color: #00a6eb !important;
    opacity: 0.4;
    margin: 0 6px !important;
    border: none;
}

.carousel-indicators .active {
    opacity: 1;
}

/* =========================
   Responsive Design
========================= */

@media (max-width: 1399px) {

    .carousel-control-prev {
        left: -40px;
    }

    .carousel-control-next {
        right: -40px;
    }
}

@media (max-width: 1199px) {

    .testimonial-title {
        font-size: 36px;
    }

    .carousel-control-prev {
        left: -20px;
    }

    .carousel-control-next {
        right: -20px;
    }
}

@media (max-width: 991px) {

    .testimonial-section {
        padding: 70px 0;
    }

    .testimonial-title {
        font-size: 32px;
    }

    .testimonial-card {
        margin-bottom: 20px;
    }

    .testimonial-text {
        font-size: 15px;
    }
}

@media (max-width: 767px) {

    .testimonial-section {
        padding: 60px 0;
    }

    .testimonial-title {
        font-size: 26px;
    }

    .testimonial-card {
        padding: 28px 22px;
    }

    .testimonial-text {
        font-size: 15px;
        line-height: 1.8;
    }

    .testimonial-user h5 {
        font-size: 18px;
    }

    .carousel-control-prev,
    .carousel-control-next {
        display: none;
    }
}

/* =========================
        Footer Section
========================= */

.custom-footer {
    background: #49447c;
    padding: 80px 0 25px;
    position: relative;
    overflow: hidden;
}

/* =========================
        Footer Logo
========================= */

.footer-logo img {
    max-width: 320px;
    margin-bottom: 25px;
    background-color: white;
    border-radius: 20px;
}

/* =========================
        Footer About
========================= */

.footer-about {
    color: rgba(255, 255, 255, 0.75);
    font-size: 17px;
    line-height: 1.5;
    margin-bottom: 30px;
}

/* =========================
        Footer Social
========================= */

.footer-social {
    display: flex;
    align-items: center;
    gap: 15px;
}

.footer-social a {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #264e9c;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 20px;
    transition: 0.3s ease;
    text-decoration: none;
}

.footer-social a:nth-child(2) {
    background: #0ea5ff;
}

.footer-social a:nth-child(3) {
    background: #ff2c92;
}

.footer-social a:hover {
    transform: translateY(-5px);
}

/* =========================
        Footer Titles
========================= */

.footer-title {
    color: #ffffff;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 35px;
}

/* =========================
        Footer Links
========================= */

.footer-links {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    font-size: 18px;
    transition: 0.3s ease;
}

.footer-links a i {
    font-size: 12px;
    margin-right: 10px;
}

.footer-links a:hover {
    color: #ffffff;
    padding-left: 5px;
}

/* =========================
        Contact Info
========================= */

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 10px;
}

.footer-contact-item i {
    color: #ffffff;
    font-size: 22px;
    margin-top:-4px;
}

.footer-contact-item p,
.footer-contact-item a {
    color: rgba(255, 255, 255, 0.78);
    font-size: 16px;
    line-height: 1.7;
    text-decoration: none;
    margin: 0;
}

.footer-contact-item a:hover {
    color: #E0342C;
}

/* =========================
        Footer Map
========================= */

.footer-map {
    border-radius: 8px;
    overflow: hidden;
}

.footer-map iframe {
    width: 100%;
    height: 280px;
    border: 0;
}

/* =========================
        Footer Bottom
========================= */

.footer-bottom {
    text-align: center;
    margin-top: 60px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-bottom p {
    color: #ffffff;
    font-size: 18px;
    margin: 0;
}

/* =========================
        Responsive
========================= */

@media (max-width: 1199px) {

    .footer-title {
        font-size: 28px;
    }

    .footer-about,
    .footer-links a,
    .footer-contact-item p,
    .footer-contact-item a {
        font-size: 16px;
    }
}

@media (max-width: 991px) {

    .custom-footer {
        padding: 70px 0 25px;
    }

    .footer-logo img {
        max-width: 260px;
    }

    .footer-title {
        margin-bottom: 25px;
    }

    .footer-map iframe {
        height: 240px;
    }
}

@media (max-width: 767px) {

    .custom-footer {
        padding: 60px 0 20px;
    }

    .footer-logo img {
        max-width: 220px;
    }

    .footer-title {
        font-size: 24px;
    }

    .footer-about {
        font-size: 15px;
        line-height: 1.9;
    }

    .footer-links a,
    .footer-contact-item p,
    .footer-contact-item a {
        font-size: 15px;
    }

    .footer-social a {
        width: 46px;
        height: 46px;
        font-size: 18px;
    }

    .footer-map iframe {
        height: 220px;
    }

    .footer-bottom p {
        font-size: 15px;
        line-height: 1.8;
    }
}

/* =========================
   Hero Section - Responsive
========================= */

/* hero video responsive heights handled below */

@media (max-width: 1399px) {
    .hero-section video.hero-video {
        height: 750px;
    }

    /* .home-2 {
        top: 1022px;
    } */
    .home-3 {
        margin-top: 210px;
    }
}

@media (max-width: 1199px) {
    .hero-section video.hero-video {
        height: 620px;
    }

    /* .home-2 {
        top: 1022px;
    } */
    .home-3 {
        margin-top: 200px;
    }
}

/* =========================
   Home-2 Boxes - Responsive
========================= */

/* Convert col-3 to responsive using flex on the row */
.home-2 .row {
    display: flex;
    flex-wrap: wrap;
}

/* On tablet: 2 columns */
@media (max-width: 991px) {
    .hero-section video.hero-video {
        height: 500px;
    }

    .home-2 {
        position: relative;
        top: auto;
        left: auto;
        margin-top: -60px;
    }

    .home-3 {
        margin-top: 30px;
    }

    /* 2 columns: each col-3 becomes col-6 equivalent */
    .home-2 .row>div[class="col-3"] {
        width: 50%;
    }

    .home-2 .box {
        height: 240px;
    }

    .home-2 h3.box-title::before {
        width: 30%;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* On mobile: 1 column */
@media (max-width: 575px) {
    .hero-section video.hero-video {
        height: 216px !important;
    }

    .home-2 {
        margin-top: -30px;
    }

    .home-2 .row>div[class="col-3"] {
        width: 100%;
    }

    .home-2 .box {
        height: auto;
        padding-top: 80px;
        padding-bottom: 30px;
    }

    .home-2 h3.box-title {
        margin-top: 30px;
    }

    .home-2 h3.box-title::before {
        display: none;
    }
}

/* =========================
   Home-3 - Responsive col-6
========================= */

@media (max-width: 991px) {
    .home-3 .row>div[class="col-6"] {
        width: 100%;
    }

    .home-3 .col-6+.col-6 {
        margin-top: 30px;
    }
}

/* =========================
   Home-4 Facilities - Responsive col-2
========================= */

@media (max-width: 1199px) {
    .home-4 .row>div[class="col-2"] {
        width: 33.333%;
    }

    .home-4 .row {
        row-gap: 30px;
    }
}

@media (max-width: 767px) {
    .home-4 .row>div[class="col-2"] {
        width: 50%;
    }
}

@media (max-width: 399px) {
    .home-4 .row>div[class="col-2"] {
        width: 100%;
    }
}

/* =========================
   Admission Section - Responsive col-6
========================= */

@media (max-width: 991px) {
    .admission .row>div[class="col-6"] {
        width: 100%;
    }

    .admission {
        padding: 80px 0;
    }
}

@media (max-width: 767px) {
    .admission {
        padding: 18px 0;
    }

    .admission img.img-fluid{
        width: 56%;
    }
}


/* =========================
   Bootstrap responsive grid overrides
   (new class names after responsive update)
========================= */

/* home-2 box height for md screens (col-md-6) */
@media (min-width: 576px) and (max-width: 991px) {
    .home-2 .col-lg-3 .box {
        height: 280px;
    }
}

@media (max-width: 575px) {
    .home-2 .col-lg-3 .box {
        height: auto;
        padding-top: 80px;
        padding-bottom: 30px;
        margin-top: 74px;
    }

    .home-2 h3.box-title {
        margin-top: 20px;
    }
}


/* =========================
   Home-2 positioning fixes
========================= */

/* Desktop (xl+): keep absolute overlay on hero */
@media (min-width: 992px) {

    /* .home-2 {
        position: absolute;
        top: 848px;
        left: 0;
        right: 0;
        width: 100%;
    } */
    /* Ensure hero section is relative and tall enough */
    .hero-section {
        position: relative;
    }
}

/* Below desktop: flow normally */
@media (max-width: 991px) {
    .home-2 {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        width: 100%;
        margin-top: 0;
        z-index: auto;
    }
}


/* =========================
   Hero video height + home-3 margin fixes
========================= */

/* Desktop xl: original design preserved */
@media (min-width: 1400px) {
    .hero-section video.hero-video {
        height: 926px;
    }

    .home-3 {
        margin-top: 250px;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .hero-section video.hero-video {
        height: 780px;
    }

    .home-2 {
        top: 710px;
    }

    .home-3 {
        margin-top: 220px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .hero-section video.hero-video {
        height: 640px;
    }

    .home-2 {
        top: 568px;
    }

    .home-3 {
        margin-top: 200px;
    }
}

/* Tablet & mobile: home-3 needs no large top margin */
@media (max-width: 991px) {
    .home-3 {
        margin-top: 40px;
    }
}


/* =========================
   Box title divider line - responsive center
========================= */

@media (max-width: 1199px) {
    .home-2 h3.box-title::before {
        width: 40%;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* Admission section padding fix for mid screens */
@media (min-width: 768px) and (max-width: 991px) {
    .admission {
        padding: 80px 0;
    }

    .admission .col-lg-6 {
        width: 75%;
    }
}


/* =========================
   Mobile Toggle Button - Hamburger / Close Icon
========================= */

/* Icon sizing */
.navbar-toggler .toggler-open-icon,
.navbar-toggler .toggler-close-icon {
    font-size: 28px;
    line-height: 1;
    display: block;
    color: #49447C;
}

/* Default: show hamburger, hide X */
.navbar-toggler .toggler-close-icon {
    display: none;
}

.navbar-toggler .toggler-open-icon {
    display: block;
}

/* When menu is open (aria-expanded="true"): show X, hide hamburger */
.navbar-toggler[aria-expanded="true"] .toggler-open-icon {
    display: none;
}

.navbar-toggler[aria-expanded="true"] .toggler-close-icon {
    display: block;
}


@media (max-width:482px) {
    .badge {
        font-size: 12px !important;
    }
}

/* =========================
   Mobile Screen Shake Fixes
========================= */

/* Prevent horizontal overflow from any element causing shake */
*,
*::before,
*::after {
    max-width: 100%;
}

/* Ensure hero video doesn't overflow on small screens */
.hero-section video.hero-video {
    object-fit: cover;
}

/* Prevent sticky header animation from causing horizontal shake */
#mainHeader {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

/* =========================
   Mobile Toggle Button - Better Touch Target
========================= */

@media (max-width: 1199px) {
    .navbar-toggler {
        padding: 8px 12px;
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    /* Prevent double-tap zoom on toggle button */
    .navbar-toggler {
        touch-action: manipulation;
    }
}

@media (max-width:482px) {

    .container {
        padding-left: 18px !important;
        padding-right: 0 !important;
    }

    .hero-section video.hero-video {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    .home-3 p.section.desc {
        margin-top: 30px;
    }

    h4.fac-head {
        text-align: center;
    }

    ul.navbar-nav.ms-auto {
        padding-left: 16px;
    }
}


section.page-banner {
    height: 262px;
    width: 100%;
    background-image: linear-gradient(135deg, #49447C, transparent), url(../Images/banner-bg.webp);
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 0 !important;
}

section.page-banner .banner-title {
    color: #fff;
    font-weight: 700 !important;
}


section.contact-1 .box {
    background-color: #eeeeee75;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    height: 246px;
    padding: 20px;
}

section.contact-1 .box .icon-circle {
    background-color: #49447C;
    height: 64px;
    width: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}

section.contact-1 .box .icon-circle i {
    font-size: 30px;
    color: #fff;
}

section.contact-1 .box .box-title {
    font-weight: 700 !important;
    margin-top: 10px;
}

section.contact-1 .box p.box-desc {
    text-align: center;
}

section.contact-1 .box p.box-desc a {
    color: #000;
    font-size:13px;
    text-decoration: none;
}

section.contact-1 .box p.box-desc a:hover {
    color: #E0342C
}

.contact-2 .box {
    background-color: #f8e71026;
    height: 550px;
    padding: 20px;
    border: 4px solid #f8e710;
}

.contact-2 .box .box-title {
    font-weight: 700 !important;
}

/* =========================
   Contact Page - Responsive
========================= */

/* Make iframe fill its column width */
section.contact-2 iframe {
    width: 100%;
    max-width: 100%;
    display: block;
    height: 550px;
}

/* contact-1: auto height on all screens */
section.contact-1 .box {
    height: auto;
    min-height: 246px;
}

/* Tablet */
@media (max-width: 767px) {
    section.contact-1 .box {
        min-height: 200px;
        height: auto;
    }

    section.page-banner {
        margin-top: 0 !important;
        height: auto;
        padding: 50px 20px;
    }
}

/* Mobile */
@media (max-width: 575px) {
    section.contact-1 .box {
        min-height: unset;
        height: auto;
        padding: 30px 20px;
    }

    .contact-2 .box {
        height: auto;
        min-height: unset;
    }

    section.contact-2 iframe {
        height: 300px;
    }

    section.page-banner {
        margin-top: 0 !important;
    }
}

/* Tablet iframe */
@media (min-width: 576px) and (max-width: 991px) {
    section.contact-2 iframe {
        height: 420px;
    }

    .contact-2 .box {
        height: auto;
        min-height: unset;
    }
}

section.page-banner.gallery {
    height: 262px;
    width: 100%;
    background-image: linear-gradient(135deg, #49447C, transparent), url(../Images/gallery-banner-bg.webp);
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.smart-gallery-section {
    padding: 100px 0;
    overflow: hidden;
}

.smart-gallery-subtitle {
    color: #49447C;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.smart-gallery-title {
    font-size: 52px;
    font-weight: 700;
    color: #111827;
    margin-top: 15px;
}

/* =========================
   Filter Buttons
========================= */

.smart-gallery-filter {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.filter-btn {
    border: none;
    background: #ffffff;
    color: #111827;
    padding: 14px 30px;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 700;
    transition: 0.4s ease;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.filter-btn:hover,
.filter-btn.active {
    background: #49447C;
    color: #ffffff;
}

/* =========================
   Gallery Card
========================= */

.smart-gallery-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    cursor: pointer;
}

.smart-gallery-card img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    border-radius: 24px;
    transition: 0.6s ease;
}

/* Hover Animation */

.smart-gallery-card:hover img {
    transform: scale(1.12) rotate(2deg);
}

/* =========================
   Overlay
========================= */

.gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(73, 68, 124, 0.78);

    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    transition: 0.4s ease;

    border-radius: 24px;
}

.smart-gallery-card:hover .gallery-overlay {
    opacity: 1;
}

/* Popup Icon */

.gallery-overlay a {
    width: 75px;
    height: 75px;
    background: #ffffff;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;

    transform: scale(0);
    transition: 0.4s ease;
}

.smart-gallery-card:hover .gallery-overlay a {
    transform: scale(1);
}

.gallery-overlay i {
    font-size: 28px;
    color: #49447C;
}

/* =========================
   Filter Animation
========================= */

.gallery-item {
    transition: 0.5s ease;
}

.gallery-item.hide {
    transform: scale(0);
    opacity: 0;
    width: 0;
    height: 0;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

/* =========================
   Fullscreen Popup
========================= */

.smart-gallery-modal {
    z-index: 999999 !important;
    padding-right: 0 !important;
}

.smart-gallery-modal .modal-dialog {
    width: 100%;
    max-width: 100%;
    height: 100vh;
    margin: 0;
}

.smart-gallery-modal .modal-content {
    width: 100%;
    height: 100vh;

    background: rgba(0, 0, 0, 0.96);

    border: none;
    border-radius: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    /* overflow: hidden; */
}

/* Popup Image */

.smart-gallery-modal img {
    max-width: 92%;
    max-height: 92vh;
    object-fit: contain;

    border-radius: 20px;

    animation: popupZoom 0.4s ease;
}

/* Popup Animation */

@keyframes popupZoom {

    from {
        transform: scale(0.8);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }

}

/* Close Button */

.gallery-close-btn {
    position: absolute;
    top: 30px;
    right: 30px;

    z-index: 9999999;

    width: 55px;
    height: 55px;

    border-radius: 50% !important;

    background-color: #ffffff !important;

    opacity: 1 !important;
}

.gallery-close-btn:focus {
    box-shadow: none !important;
}

/* =========================
   Responsive
========================= */

@media(max-width:991px) {

    .smart-gallery-title {
        font-size: 40px;
    }

    .smart-gallery-card img {
        height: 280px;
    }

}

@media(max-width:767px) {

    .smart-gallery-section {
        padding: 70px 0;
    }

    .smart-gallery-title {
        font-size: 30px;
    }

    .filter-btn {
        padding: 12px 20px;
        font-size: 14px;
    }

    .smart-gallery-card img {
        height: 240px;
    }

    .gallery-close-btn {
        top: 20px;
        right: 20px;

        width: 45px;
        height: 45px;
    }

}

.page-banner-fac {
    height: 262px;
    width: 100%;
    background-image: linear-gradient(135deg, #49447C, transparent), url(../Images/fac-bg.webp);
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

h1.banner-title {
    color: #fff;
    font-weight: 700 !important;
}

.fac-1 .heading {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.fac-1 .box {
    clip-path: polygon(0% 0%, 75% 0%, 100% 20%, 100% 100%, 0% 100%);
    background-color: #dddddd42;
    height: auto;
    padding: 20px;
    transition: 0.3s;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.fac-1 .box::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    background-color: #49447C;
    transition: 0.4s ease;
    height: 100%;
    width: 0;
    z-index: -1;
}

.fac-1 .box:hover::before {
    width: 100%;
}

.fac-1 .box:hover {
    color: #fff;
}

.fac-1 img.img-fluid {
    clip-path: polygon(0% 0%, 75% 0%, 100% 30%, 100% 100%, 0% 100%);
    /* transition: 0.4s ease; */
}

.fac-1 .box .box-title {
    font-weight: 700 !important;
}

/* =========================================
   FACILITIES PAGE - ZOOM & RESPONSIVE FIX
========================================= */

/* Prevent layout breaking during browser zoom */
.fac-1,
.fac-1 .container,
.fac-1 .row {
    width: 100%;
    overflow-x: hidden;
}

/* Equal card height */
.fac-1 .row {
    row-gap: 30px;
}

.fac-1 .col-md-4 {
    display: flex;
}

.fac-1 .box {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
}

/* Image responsive */
.fac-1 .box img.img-fluid {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}

/* Content spacing */
.fac-1 .box .box-desc {
    line-height: 1.8;
    margin-bottom: 0;
    flex-grow: 1;
}

/* Fix zoom issue for long titles/text */
.fac-1 .box .box-title,
.fac-1 .box .box-desc {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Large Screen */
@media (min-width: 1400px) {

    .fac-1 .container {
        max-width: 1320px;
    }

    .fac-1 .box {
        padding: 24px;
    }
}

/* Laptop */
@media (max-width: 1199px) {

    .fac-1 .box img.img-fluid {
        height: 220px;
    }

    .fac-1 .box {
        padding: 18px;
    }

    .fac-1 .box .box-title {
        font-size: 24px;
    }
}

/* Tablet */
@media (max-width: 991px) {

    .fac-1 .col-md-4 {
        width: 50%;
    }

    .fac-1 .box img.img-fluid {
        height: 220px;
    }

    .page-banner-fac {
        height: 220px;
    }

    h1.banner-title {
        font-size: 42px;
    }
}

/* Mobile */
@media (max-width: 767px) {

    .fac-1 {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    .fac-1 .col-md-4 {
        width: 100%;
    }

    .fac-1 .box {
        padding: 18px;
    }

    .fac-1 .box img.img-fluid {
        height: auto;
        max-height: 260px;
    }

    .fac-1 .box .box-title {
        font-size: 22px;
    }

    .fac-1 .box .box-desc {
        font-size: 15px;
        line-height: 1.8;
    }

    .page-banner-fac {
        height: 180px;
        padding: 20px;
        text-align: center;
    }

    h1.banner-title {
        font-size: 34px;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    
    .contact-item a,section.contact-1 .box p.box-desc a
    {
        font-size: 12px!important;
    }

    .fac-1 .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .fac-1 .box {
        clip-path: polygon(0% 0%, 82% 0%, 100% 18%, 100% 100%, 0% 100%);
    }

    .fac-1 img.img-fluid {
        clip-path: polygon(0% 0%, 82% 0%, 100% 24%, 100% 100%, 0% 100%);
    }

    h1.banner-title {
        font-size: 28px;
    }
}

/* Browser zoom stability */
img,
.container,
.row,
.col-md-4,
.box {
    max-width: 100%;
}

/* Prevent unwanted horizontal scroll on zoom */
body {
    overflow-x: hidden;
}

/* =========================================
   GLOBAL ZOOM + RESPONSIVE STABILITY FIX
   Keeps layout stable at all browser zoom levels
========================================= */

html,
body {
    width: 100%;
    overflow-x: hidden;
}

/* Prevent all sections from creating horizontal scroll */
section,
.container,
.container-fluid,
.row {
    max-width: 100%;
}

/* Bootstrap row overflow fix */
.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Prevent image/video overflow */
img,
video,
iframe {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Better responsive scaling */
* {
    box-sizing: border-box;
}

/* Prevent text overflow during zoom */
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* =========================================
   HERO SECTION FIX
========================================= */

.hero-section {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.hero-section video.hero-video {
    width: 100%;
    object-fit: cover;
    display: block;
}

/* Responsive hero heights */
@media (min-width: 1400px) {
    .hero-section video.hero-video {
        height: 926px;
    }
}

@media (max-width: 1399px) {
    .hero-section video.hero-video {
        height: 780px;
    }
}

@media (max-width: 1199px) {
    .hero-section video.hero-video {
        height: 620px;
    }
}

@media (max-width: 991px) {
    .hero-section video.hero-video {
        height: 500px;
    }
}

@media (max-width: 575px) {
    .hero-section video.hero-video {
        height: 340px;
    }
}

/* =========================================
   HOME-2 BOX FIX
========================================= */

.home-2 {
    width: 100%;
    left: 0;
    right: 0;
}

.home-2 .row {
    row-gap: 30px;
}

.home-2 .box {
    width: 100%;
    height: 100%;
}

/* =========================================
   FACILITIES SECTION FIX
========================================= */

.home-4 .row {
    row-gap: 30px;
}

.home-4 img.img-fluid {
    width: 100%;
    height: auto;
}

/* =========================================
   ACADEMICS CARD FIX
========================================= */

.academic-card {
    height: 100%;
}

.academic-image img {
    width: 100%;
    object-fit: cover;
}

/* =========================================
   GALLERY FIX
========================================= */

.gallery-card,
.smart-gallery-card {
    width: 100%;
    overflow: hidden;
}

.gallery-card img,
.smart-gallery-card img {
    width: 100%;
    object-fit: cover;
}

/* =========================================
   TESTIMONIAL FIX
========================================= */

.testimonial-card {
    height: 100%;
}

/* =========================================
   FOOTER FIX
========================================= */

.custom-footer {
    overflow: hidden;
}

.footer-map iframe {
    width: 100%;
}

/* =========================================
   NAVBAR FIX FOR ZOOM
========================================= */

.navbar,
.navbar-collapse,
.navbar-nav {
    max-width: 100%;
}

.navbar-nav .nav-link {
    white-space: normal;
}

/* =========================================
   MOBILE EXTRA FIX
========================================= */

@media (max-width: 767px) {

    body {
        overflow-x: hidden;
    }

    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .home-2,
    .home-3,
    .home-4,
    .academics-section,
    .school-gallery-section,
    .testimonial-section,
    .custom-footer {
        overflow: hidden;
    }
}

@media(min-width:1200px) {
    h3.box-title {
        font-size: 20px;
    }
}

@media(max-width: 482px) {
    .section-title {
        font-size: 22px !important;
    }
}

@media(max-width: 1400px) {

    .footer-contact-item p,
    .footer-contact-item a {
        font-size: 12px;
    }

    .footer-about {
        font-size: 14px;
    }
}

p.section.desc {
    text-align: justify;
}

.testimonial-section .carousel-control-prev {
    left: -129px;
    top: 167px;
}

.testimonial-section .carousel-control-next {
    right: -129px;
    top: 167px;
}



.about-1 p.section-desc {
    text-align: justify;
}

.about-1 .icon-box {
    padding: 20px;
    background: #49447c;
    width: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 80px;
}

.about-1 .icon-box i {
    font-size: 34px;
    color: #fff;
}

.about-1 h3.icon-box-title {
    font-size: 24px;
}

.about-1 .col-6.col-lg-4.col-md-4.content {
    display: flex;
    justify-content: center;
    align-items: center;
}

.about-1 .icon-list {
    list-style-type: none;
    padding: 0;
}

.about-1 .icon-list .list {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.about-1 .icon-list .list i {
    background-color: #49447C;
    height: 64px;
    width: 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 24px;
}

.about-1 .icon-list .list h5 {
    font-weight: 700 !important;
}

.about-1 .btn {
    background-color: #E0342C;
    color: #fff;
    border-radius: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 20px;
    padding-left: 20px;
    font-weight: 700;
}

.about-1 .btn:hover {
    background-color: #f8e710;
}

.about-2 .outer-box {
    background-color: #49447C;
    padding: 8px;
    border-radius: 10px;
    transition: 0.3s ease-in-out;
}

.about-2 .outer-box:hover {
    background-color: #f8e710;
}

.about-2 .inner-box {
    clip-path: polygon(0% 0%, 75% 0%, 100% 20%, 100% 100%, 0% 100%);
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
}

.about-2 .inner-box i {
    font-size: 42px;
    color: #49447c;
}

.about-2 h3.box-title {
    font-weight: 700 !important;
}


.about-3 {
    background-color: #49447C;
}

.about-3 h2.section-title {
    /* font-weight: 700 !important; */
    margin-bottom: 30px;
    font-size: 48px;
    /* color: #56225e; */
    color: #fff;
    /* margin: 0; */
    font-weight: bold !important;
}

.about-3 .accordion-group {
    width: 100%;
    max-width: 550px;
    box-sizing:
        border-box;
    font-size: 14px;
}

.about-3 .acc-item {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 4px calc(4px * 2) rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.about-3 .acc-item {
    border-radius: 12px;
    margin-bottom: 12px;
}

.about-3 .acc-item:last-child {
    margin-bottom: 0;
}

.about-3 summary {
    padding: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    list-style: none;
    font-weight: 600;
    color: #1e293b;
    transition: background 0.2s ease;
}

.about-3 summary:hover {
    background: #f8fafc;
}

.about-3 summary::-webkit-details-marker {
    display: none;
}

.about-3 .acc-icon {
    color: #49447c;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.about-3 .content-wrapper {
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
    background: #ffffff;
}

.about-3 .content-body {
    padding: 20px;
    color: #64748b;
    line-height: 1.6;
}

.about-3 .acc-item.is-open .acc-icon {
    transform: rotate(45deg);
}

.about-3 img.img-fluid {
    border-radius: 10px;
    clip-path: polygon(0% 0%, 75% 0%, 100% 20%, 100% 100%, 0% 100%);
}

.about-4 .heading {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.about-4 .heading .section-title {
    color: #49447C;
    /* font-weight: 700 !important; */
    margin-bottom: 30px;
    font-size: 48px;
    /* color: #56225e; */
    /* color: #fff; */
    /* margin: 0; */
    font-weight: bold !important;
}

.about-4 .box {
    display: flex;
    padding: 20px;
    flex-direction: column;
    align-items: center;
    background: #49447c0f;
    border-radius: 20px;
}

.about-4 .box.highlight{
     background-color: #474279;
    color: #fff;
}

.about-4 .box p.box-desc {
    text-align: center;
}

.about-4 .box .icon-circle {
    height: 64px;
    width: 64px;
    background: #474279;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    transition: 0.3s ease-in-out;
}

.about-4 .box i {
    color: #fff;
    font-size: 24px;
    transition: 0.3s ease-in-out;
}

.about-4 .box .box-title {
    font-size: 20px;
    font-weight: 700 !important;
    margin-top: 18px;
}

.about-4 .box:hover {
    background-color: #474279;
    color: #fff;
    transition: 0.3s ease-in-out;
}

.about-4 .box:hover .icon-circle {
    background-color: #fff;
}

.about-4 .box:hover .icon-circle i {
    color: #474279;
}

.about-4 .r2.row {
    margin-top: 22px !important;
}

/* =========================================================
   ABOUT PAGE — FULL RESPONSIVE + ZOOM FIX
   Covers: page-banner, about-1, about-2, about-3, about-4
   All breakpoints + zoom levels (75%–150%)
========================================================= */

/* ---- Page Banner ---- */
section.page-banner {
    height: clamp(160px, 20vw, 280px);
    padding: 20px;
    text-align: center;
}

section.page-banner .banner-title {
    font-size: clamp(28px, 5vw, 56px);
    line-height: 1.2;
}

@media (max-width: 991px) {
    section.page-banner {
        height: clamp(140px, 22vw, 220px);
    }
}

@media (max-width: 575px) {
    section.page-banner {
        height: auto;
        min-height: 130px;
        padding: 30px 16px;
    }

    section.page-banner .banner-title {
        font-size: clamp(24px, 7vw, 36px);
    }
}

/* ---- About-1 ---- */
.about-1 .section-title {
    font-size: clamp(24px, 3.5vw, 44px);
    line-height: 1.25;
}

.about-1 .section-desc {
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1.8;
}

.about-1 .icon-list .list i {
    flex-shrink: 0;
    height: clamp(44px, 5.5vw, 64px);
    width: clamp(44px, 5.5vw, 64px);
    font-size: clamp(18px, 2.2vw, 24px);
}

.about-1 .icon-list .list h5 {
    font-size: clamp(13px, 1.4vw, 16px);
}

/* Image column: add top spacing when stacked */
@media (max-width: 767px) {
    .about-1 .col-12.col-md-6:last-child {
        margin-top: 30px;
    }

    .about-1 .section-title {
        font-size: 24px;
    }

    .about-1 .icon-list .list i {
        height: 46px;
        width: 46px;
        font-size: 20px;
    }

    .about-1 .icon-list .list h5 {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .about-1 .badge {
        font-size: 11px !important;
        letter-spacing: 2px !important;
    }
}

/* ---- About-2 ---- */
.about-2 .row {
    row-gap: 24px;
}

.about-2 .outer-box {
    height: 100%;
}

.about-2 .inner-box {
    height: 100%;
    /* Soften clip-path at small sizes to avoid cropping */
    clip-path: polygon(0% 0%, 85% 0%, 100% 12%, 100% 100%, 0% 100%);
}

.about-2 h3.box-title {
    font-size: clamp(17px, 2vw, 22px);
}

.about-2 .inner-box i {
    font-size: clamp(30px, 3.5vw, 42px);
}

.about-2 .inner-box p {
    font-size: clamp(13px, 1.4vw, 15px);
    line-height: 1.75;
}

@media (max-width: 767px) {
    .about-2 .inner-box {
        clip-path: polygon(0% 0%, 88% 0%, 100% 10%, 100% 100%, 0% 100%);
        padding: 18px;
    }

    .about-2 h3.box-title {
        font-size: 18px;
    }

    .about-2 .inner-box i {
        font-size: 30px;
    }
}

@media (max-width: 480px) {
    .about-2 .inner-box {
        clip-path: none;
        border-radius: 10px;
    }
}

/* ---- About-3 ---- */
.about-3 h2.section-title {
    font-size: clamp(26px, 4vw, 48px) !important;
    line-height: 1.2;
    margin-bottom: 24px;
}

.about-3 .accordion-group {
    max-width: 100%;
    width: 100%;
}

.about-3 img.img-fluid {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
}

/* Image col: add bottom spacing when stacked */
@media (max-width: 767px) {
    .about-3 .col-12.col-md-6:first-child {
        margin-bottom: 28px;
    }

    .about-3 h2.section-title {
        font-size: 26px !important;
    }

    .about-3 img.img-fluid {
        clip-path: none;
        border-radius: 10px;
        max-height: 280px;
    }

    .about-3 .badge {
        font-size: 11px !important;
        letter-spacing: 2px !important;
    }
}

@media (max-width: 480px) {
    .about-3 summary {
        padding: 14px 12px;
        font-size: 14px;
    }

    .about-3 .content-body {
        padding: 14px;
        font-size: 13px;
    }

    .about-3 .acc-item {
        margin-bottom: 8px;
    }
}

/* ---- About-4 ---- */
.about-4 .heading .section-title {
    font-size: clamp(24px, 4vw, 48px) !important;
    line-height: 1.2;
    text-align: center;
}

.about-4 .heading .badge {
    font-size: clamp(11px, 1.4vw, 18px) !important;
    letter-spacing: clamp(2px, 0.4vw, 4px) !important;
}

.about-4 .row {
    row-gap: 24px;
}

.about-4 .r2.row {
    margin-top: 0;
    /* row-gap handles spacing instead */
}

.about-4 .box {
    height: 100%;
    padding: clamp(14px, 2vw, 20px);
}

.about-4 .box .box-title {
    font-size: clamp(15px, 1.8vw, 20px);
}

.about-4 .box p.box-desc {
    font-size: clamp(13px, 1.4vw, 15px);
    line-height: 1.75;
}

.about-4 .box .icon-circle {
    height: clamp(50px, 5.5vw, 64px);
    width: clamp(50px, 5.5vw, 64px);
    flex-shrink: 0;
}

.about-4 .box i {
    font-size: clamp(18px, 2vw, 24px);
}

@media (max-width: 991px) {
    .about-4 .col-12.col-md-4.col-lg-4 {
        /* ensure 2-col on tablet handled by Bootstrap col-md */
    }
}

@media (max-width: 767px) {
    .about-4 .heading .section-title {
        font-size: 24px !important;
    }

    .about-4 .box .box-title {
        font-size: 17px;
    }

    .about-4 .box p.box-desc {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .about-4 .box {
        padding: 16px;
    }

    .about-4 .box .icon-circle {
        height: 52px;
        width: 52px;
    }

    .about-4 .box i {
        font-size: 20px;
    }
}

/* ---- About sections: general spacing tightening on mobile ---- */
@media (max-width: 767px) {

    .about-1.py-5,
    .about-2.py-5,
    .about-3.py-5,
    .about-4.py-5 {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
}

@media (max-width: 480px) {

    .about-1.py-5,
    .about-2.py-5,
    .about-3.py-5,
    .about-4.py-5 {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    /* Container padding for very small screens */
    .about-1 .container,
    .about-2 .container,
    .about-3 .container,
    .about-4 .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ---- Zoom-level stability (applies at all screen sizes) ---- */
.about-1,
.about-2,
.about-3,
.about-4 {
    overflow-x: hidden;
    width: 100%;
}

.about-1 .row,
.about-2 .row,
.about-3 .row,
.about-4 .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Prevent inner-box clip-path from hiding content at 110–150% zoom */
@media (min-width: 1200px) {
    .about-2 .inner-box {
        clip-path: polygon(0% 0%, 82% 0%, 100% 14%, 100% 100%, 0% 100%);
    }
}

@media(max-width:482px) {
    .about-row.row {
        flex-direction: column-reverse !important;
    }
}

/* ==========================================================
   FOUNDER / CHAIRMAN MESSAGE PAGE — FULLY RESPONSIVE
   Zoom-safe: 75% – 150% | Breakpoints: 400 / 575 / 767 / 991 / 1200+
   Uses clamp() for fluid scaling instead of px jumps
========================================================== */

/* ─── 1. Page Banner ──────────────────────────────────────── */
section.page-banner-message {
    /* Fluid height: never collapses below 120px, never over 300px */
    height: clamp(120px, 20vw, 300px);
    width: 100%;
    background-image: linear-gradient(135deg, #49447C 0%, transparent 70%),
        url(../Images/message-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0 !important;
    /* Prevent banner from ever causing horizontal scroll */
    overflow: hidden;
    box-sizing: border-box;
    /* Vertical padding takes over when banner collapses on zoom-in */
    padding: clamp(20px, 4vw, 40px) clamp(16px, 5vw, 40px);
}

section.page-banner-message .banner-title {
    color: #fff;
    font-weight: 700 !important;
    /* Fluid: 22px → 52px, tied to viewport not zoom level */
    font-size: clamp(22px, 4.5vw, 52px);
    line-height: 1.2;
    text-align: center;
    margin: 0;
    /* Prevent long titles from breaking layout */
    word-break: break-word;
    hyphens: auto;
}

/* ─── 2. Founder Section ──────────────────────────────────── */
.founder-1 {
    width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
    /* Fluid section padding */
    padding-top: clamp(36px, 5vw, 70px);
    padding-bottom: clamp(36px, 5vw, 70px);
    background-color: #49447c24;
}

.founder-1 .container {
    /* Prevent container from hugging edges at any zoom */
    padding-left: clamp(16px, 4vw, 40px) !important;
    padding-right: clamp(16px, 4vw, 40px) !important;
    width: 100%;
    box-sizing: border-box;
}

.founder-1 .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    /* Gap between image col and text col */
    row-gap: clamp(24px, 3vw, 0px);
    align-items: center;
}

/* ─── 3. Section Title ────────────────────────────────────── */
.founder-1 .section-title {
    color: #49447C;
    font-weight: bold !important;
    font-size: clamp(22px, 3.5vw, 48px);
    line-height: 1.25;
    margin-bottom: clamp(16px, 2.5vw, 30px);
    word-break: break-word;
}

/* ─── 4. Description Text ─────────────────────────────────── */
.founder-1 .section-desc {
    /* Fluid: 14px → 16px, never too small at high zoom, never too large at low zoom */
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.85;
    text-align: justify;
    margin-bottom: clamp(12px, 1.5vw, 20px);
    /* Prevent orphan words from breaking the column */
    overflow-wrap: break-word;
    word-break: break-word;
}

/* ─── 5. Image Column ─────────────────────────────────────── */
.founder-1 .image {
    position: relative;
    /* Ensure padding-box on all sides */
    padding-left: clamp(8px, 2vw, 16px) !important;
    padding-right: clamp(8px, 2vw, 16px) !important;
}

.founder-1 img.img-fluid {
    width: 100%;
    height: auto;
    display: block;
    border-radius: clamp(12px, 2vw, 20px);
    /* Ensure image never overflows at high zoom */
    max-width: 100%;
    box-sizing: border-box;
}

/* ─── 6. Name Box (overlay on image) ─────────────────────── */
.founder-1 .name-box {
    background: #504886;
    position: absolute;
    /* Fluid width: auto-adjusts left/right with viewport */
    width: calc(100% - clamp(32px, 8vw, 76px));
    left: clamp(16px, 4vw, 38px);
    bottom: clamp(8px, 1.5vw, 16px);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border-radius: clamp(10px, 1.5vw, 20px);
    color: #fff;
    padding: clamp(12px, 2vw, 20px) clamp(8px, 2vw, 16px);
    box-sizing: border-box;
    text-align: center;
}

.founder-1 h3.name {
    font-weight: 700 !important;
    font-size: clamp(16px, 2vw, 22px);
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.founder-1 p.position {
    font-weight: 600;
    font-size: clamp(12px, 1.4vw, 15px);
    margin: 0;
    opacity: 0.92;
}

/* ─── 7. Content Column ───────────────────────────────────── */
.founder-1 .col-12.col-lg-6.col-md-6.content,
.founder-1 .content {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-left: clamp(12px, 3vw, 30px) !important;
    padding-right: clamp(8px, 2vw, 16px) !important;
}

/* ─── 8. Tablet  ≤ 991px ──────────────────────────────────── */
@media (max-width: 991px) {
    section.page-banner-message {
        height: clamp(110px, 22vw, 220px);
    }

    .founder-1 .section-title {
        font-size: clamp(22px, 4.5vw, 36px);
    }

    .founder-1 .section-desc {
        font-size: clamp(14px, 1.8vw, 16px);
    }

    /* Reduce overlap risk on the name-box at tablet zoom */
    .founder-1 .name-box {
        width: calc(100% - clamp(24px, 5vw, 60px));
        left: clamp(12px, 2.5vw, 30px);
    }
}

/* ─── 9. Stacked / Mobile  ≤ 767px ───────────────────────── */
@media (max-width: 767px) {
    .founder-1 .row {
        flex-direction: column;
    }

    /* Image col always full-width when stacked */
    .founder-1 .col-12.col-md-5,
    .founder-1 .col-12.col-md-6:first-child {
        width: 100% !important;
        max-width: 100%;
        margin-bottom: clamp(20px, 5vw, 32px);
        padding-left: clamp(8px, 3vw, 16px) !important;
        padding-right: clamp(8px, 3vw, 16px) !important;
    }

    .founder-1 .col-12.col-md-7,
    .founder-1 .content {
        width: 100% !important;
        max-width: 100%;
        padding-left: clamp(8px, 3vw, 16px) !important;
        padding-right: clamp(8px, 3vw, 16px) !important;
    }

    .founder-1 .section-title {
        font-size: clamp(20px, 5.5vw, 28px);
        margin-bottom: 16px;
    }

    .founder-1 .section-desc {
        font-size: clamp(14px, 3.8vw, 16px);
        line-height: 1.8;
    }

    /* Name box: fixed proportions on stacked layout */
    .founder-1 .name-box {
        width: calc(100% - 32px);
        left: 16px;
        bottom: 10px;
    }
}

/* ─── 10. Small Mobile  ≤ 575px ──────────────────────────── */
@media (max-width: 575px) {
    section.page-banner-message {
        /* Let banner grow with text when zoom is 125–150% */
        height: auto;
        min-height: 100px;
        padding: clamp(24px, 6vw, 36px) 16px;
    }

    section.page-banner-message .banner-title {
        font-size: clamp(20px, 6.5vw, 32px);
    }

    .founder-1 {
        padding-top: clamp(28px, 6vw, 40px);
        padding-bottom: clamp(28px, 6vw, 40px);
    }

    .founder-1 .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .founder-1 .section-title {
        font-size: clamp(18px, 6vw, 24px);
        margin-bottom: 14px;
    }

    .founder-1 .section-desc {
        font-size: 14px;
        line-height: 1.75;
        text-align: left; /* justify can look bad on very narrow screens */
    }

    .founder-1 img.img-fluid {
        border-radius: 12px;
    }

    .founder-1 .name-box {
        width: calc(100% - 24px);
        left: 12px;
        bottom: 8px;
        border-radius: 12px;
        padding: 12px 10px;
    }

    .founder-1 h3.name {
        font-size: clamp(14px, 4.5vw, 18px);
    }

    .founder-1 p.position {
        font-size: clamp(11px, 3.5vw, 14px);
    }
}

/* ─── 11. Very Small  ≤ 400px ────────────────────────────── */
@media (max-width: 400px) {
    section.page-banner-message .banner-title {
        font-size: clamp(18px, 7vw, 24px);
    }

    .founder-1 .section-title {
        font-size: 18px;
    }

    .founder-1 .section-desc {
        font-size: 13px;
    }

    .founder-1 .name-box {
        width: calc(100% - 16px);
        left: 8px;
        bottom: 6px;
        padding: 10px 8px;
    }
}

/* ─── 12. High-Zoom helpers (125% – 150%) ─────────────────── 
   At 125% + zoom, viewport-relative units (vw) shrink, so clamp()
   automatically falls back to the min value — keeping text readable.
   These rules reinforce that fallback for known pain points.
──────────────────────────────────────────────────────────── */

/* Banner must never clip title at high zoom */
section.page-banner-message {
    min-height: 100px;
}

/* Prevent container from adding scroll bar at 125%+ */
body {
    overflow-x: hidden;
}


section.page-banner-trust {
    /* clamp: min 140px  →  scales with viewport  →  max 300px */
    height: clamp(140px, 20vw, 300px);
    width: 100%;
    background-image: linear-gradient(135deg, #49447C, transparent),
        url(../Images/banner-bg.webp  );
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 0 !important;
    /* prevent horizontal bleed at any zoom */
    overflow: hidden;
    box-sizing: border-box;
    padding: 20px 16px;
}

section.page-banner-trust .banner-title {
    color: #fff;
    font-weight: 700 !important;
    font-size: clamp(26px, 5vw, 52px);
    line-height: 1.2;
    text-align: center;
    margin: 0;
}

section.page-banner .banner-title {
    color: #fff;
    font-weight: 700 !important;
}

.trust-1 .section-title {
    color: #49447C;
    font-size: 48px;
    /* color: #56225e; */
    color: #49447c;
    margin: 0;
    font-weight: bold !important;
}

.trust-1 img.img-fluid {
    width: 506px;
    border-radius: 10px;
    clip-path: polygon(0% 0%, 85% 0%, 100% 12%, 100% 100%, 0% 100%);
}

.trust-1 p.section-desc {
    text-align: justify;
}

/* =========================================
   TRUST CAROUSEL
========================================= */

.trust-2 {
    padding: 80px 0 100px;
    overflow: hidden;
    position: relative;
}

.trust-2 .section-title {
    color: #49447C;
    color: #49447C;
    font-size: 48px;
    /* color: #56225e; */
    color: #49447c;
    margin: 0;
    font-weight: bold !important;
}

.trust-2 .heading {
    margin-bottom: 50px;
}

/* Outer wrapper clips overflow and holds the buttons */
.trust-carousel-wrapper {
    position: relative;
    overflow: hidden;
    padding: 10px 0 20px;
}

/* The scrolling track */
.trust-carousel {
    display: flex;
    gap: 30px;
    transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
    will-change: transform;
}

/* =========================================
   Team Card
========================================= */

.team-member {
    flex: 0 0 calc((100% - 60px) / 3);
    /* 3 visible on desktop */
    background: #f5f5f5;
    border-radius: 24px;
    padding: 20px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.team-member:hover {
    transform: translateY(-10px);
    box-shadow: 0 16px 40px rgba(73, 68, 124, 0.15);
}

.team-member img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    border-radius: 18px;
}

.team-name {
    font-size: 24px;
    font-weight: 700 !important;
    margin-top: 20px;
    text-align: center;
    color: #49447C;
}

.destination {
    text-align: center;
    color: #E0342C;
    font-weight: 600;
    margin-bottom: 0;
}

/* =========================================
   Prev / Next Buttons
========================================= */

.trust-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid #49447C;
    background: #fff;
    color: #49447C;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: background 0.3s, color 0.3s, opacity 0.3s;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

.trust-carousel-btn:hover {
    background: #49447C;
    color: #fff;
}

.trust-carousel-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.trust-carousel-prev {
    left: -24px;
}

.trust-carousel-next {
    right: -24px;
}

/* =========================================
   Dot Indicators
========================================= */

.trust-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 32px;
}

.trust-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    background: #ccc;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
    padding: 0;
}

.trust-dot.active {
    background: #49447C;
    transform: scale(1.3);
}

/* =========================================
   Responsive
========================================= */

@media (max-width: 991px) {
    .team-member {
        flex: 0 0 calc((100% - 30px) / 2);
        /* 2 visible on tablet */
    }
}

@media (max-width: 575px) {
    .team-member {
        flex: 0 0 100%;
        /* 1 visible on mobile */
    }

    .team-member img {
        height: 260px;
    }

    .trust-carousel-prev {
        left: 0;
    }

    .trust-carousel-next {
        right: 0;
    }
}

.trust-3 .outer-box {
    background-color: #474279;
    padding: 8px;
    border-radius: 10px;
    transition: 0.3s ease-in-out;
}

.trust-3 .outer-box:hover {
    background-color: #f8e710;
}

.trust-3 .outer-box .inner-box {
    background-color: #fff;
    padding: 18px;
    clip-path: polygon(0% 0%, 85% 0%, 100% 12%, 100% 100%, 0% 100%);
    border-radius: 10px;

}

.trust-3 .outer-box .inner-box .section-title {
    color: #49447C;
    font-size: 30px;
    color: rgb(73, 68, 124);
    font-weight: bold !important;
    margin: 0px;
}

.trust-3 .outer-box .inner-box p.section-desc {
    margin-top: 20px;
    text-align: justify;
}

section.page-banner-academics {
    /* clamp: min 140px  →  scales with viewport  →  max 300px */
    height: clamp(140px, 20vw, 300px);
    width: 100%;
    background-image: linear-gradient(135deg, #49447C, transparent),
        url(../Images/academics-bg.webp  );
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 0 !important;
    /* prevent horizontal bleed at any zoom */
    overflow: hidden;
    box-sizing: border-box;
    padding: 20px 16px;
}

section.page-banner-academics .banner-title {
    color: #fff;
    font-weight: 700 !important;
    font-size: clamp(26px, 5vw, 52px);
    line-height: 1.2;
    text-align: center;
    margin: 0;
}

section.page-banner .banner-title {
    color: #fff;
    font-weight: 700 !important;
}

.academics-1 .col-12.col-md-8.col-lg-8 {
    padding-left: 0;
}

.academics-1 .icon-box {
    background-color: #fff;
    box-shadow: 0 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 64px;
    width: 64px;
    border-radius: 10px;
}

.academics-1 .icon-box i {
    font-size: 24px;
    color: #5e5785;
}

.academics-1 .btn {
    display: inline-block;
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    transition: 0.3s;
    position: relative;
    background-color: #E0342C;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 20px;
}

.academics-1 .btn:hover {
    background-color: #f8e710;
}

.academics-2 {
    position: relative;
    padding: 100px 0;
    background: radial-gradient(at bottom right, #FEFFDC 0, #FEFFDC 8px, #FEFFDC33 8px, #FEFFDC33 16px, #FEFFDCBF 16px, #FEFFDCBF 24px, #FEFFDC40 24px, #FEFFDC40 32px, #FEFFDC4D 32px, #FEFFDC4D 40px, #FEFFDCBF 40px, #FEFFDCBF 48px, #FEFFDC33 48px, #FEFFDC33 56px, transparent 56px, transparent 64px), radial-gradient(at top left, transparent 0, transparent 8px, #FEFFDC33 8px, #FEFFDC33 16px, #FEFFDCBF 16px, #FEFFDCBF 24px, #FEFFDC4D 24px, #FEFFDC4D 32px, #FEFFDC40 32px, #FEFFDC40 40px, #FEFFDCBF 40px, #FEFFDCBF 48px, #FEFFDC33 48px, #FEFFDC33 56px, #FEFFDC 56px, #FEFFDC 64px, transparent 64px, transparent 160px);
    background-blend-mode: multiply;
    background-size: 64px 64px, 64px 64px;
    background-color: #49447C;
    overflow: hidden;
}

.academics-2 .heading {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.academics-2 .section-title {
    /* font-weight: 700 !important; */
    font-size: 48px;
    /* color: #56225e; */
    color: #fff;
    margin: 0;
    font-weight: bold !important;
    text-align: center;
}

.academics-2 .icon-box {
    padding: 20px;
}

.academics-2 .icon-box:hover{
    background-color: #fff;
}

.academics-2 .icon-box:hover h4.box-title{
    color: #474279;
}

.academics-2 .icon-box:hover p.icon-description{
    color: #000;
}

.academics-2 .icon-box.r1 {
    border-right: 2px solid #ddd;
}

.academics-2 .icon-box.r2 {
    border-top: 2px solid #ddd;
}

.academics-2 .icon-box i {
    color: #f8e710;
    font-size: 50px;
}

.academics-2 h4.box-title {
    color: #fff;
    font-weight: 600 !important;
}

.academics-2 p.icon-description {
    color: #ddd;
}

.academics-2 .col-12.col-md-4.col-lg-4 {
    padding: 0;
}

.academics-3 .section-title {
    color: #49447C;
    /* font-weight: 700 !important; */
    font-size: 48px;
    /* color: #56225e; */
    /* color: #fff; */
    margin: 0;
    font-weight: bold !important;
    /* text-align: center; */
}

.academics-4 .heading {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.academics-4 .section-title {
    color: #49447C;
    color: rgb(73, 68, 124);
    font-size: 48px;
    font-weight: bold !important;
    margin: 0px;
}

.academics-4 .icon-box {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.academics-4 .icon-circle {
    height: 64px;
    width: 64px;
    background: #49447c;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 34px;
    transition: 0.3s ease-in-out;
}

.academics-4 .icon-box .icon-circle i {
    color: #fff;
    font-size: 24px;
}

.academics-4 .icon-box:hover .icon-circle{
    transform: scale(1.2);
    border: 2px solid #E0342C;
}

.academics-4 h4.icon-box-title {
    font-weight: 600 !important;
    margin-top: 16px;
}

.admission-4 img.img-fluid.document {
    width: 100%;
    height: 240px;
    border: 2px solid #49447c;
}

.academics-5 .section-title {
    color: #49447C;
    color: #49447C;
    color: rgb(73, 68, 124);
    font-size: 48px;
    font-weight: bold !important;
    margin: 0px;
}

.academics-5 h3.content-title {
    color: #49447c;
    font-weight: 500 !important;
}

.academics-5 .bg-image {
    background-image: url(../Images/academic_growth.webp);
    background-size: cover;
    background-position: center;
    border-radius: 20px;
}

.academics-5 .col-12.col-md-6.col-lg-6.section-content {
    padding-left: 36px;
}

.academics-6 {
    background-color: #49447C;
}

.academics-6 .section-title {
    color: #fff;
    font-size: 48px;
    font-weight: bold !important;
    margin: 0px;
}

.academics-6 p.section-desc {
    color: #fff;
    text-align: justify;
}

.academics-6 .inner-area {
    background: #ffffff2e;
    padding: 20px;
    border-radius: 20px;
}

.academics-6 .accordion-group {
    width: 100%;
    max-width: 550px;
    box-sizing:
        border-box;
    font-size: 14px;
}

.academics-6 .acc-item {
    /* background: #ffffff;  */
    border-bottom: 2px solid #dddddd63;
    overflow: hidden;
    box-shadow: 0 0px calc(0px * 2) rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.academics-6 .acc-item {
    /* border-radius: 12px;  */
    margin-bottom: 12px;
}

.academics-6 .acc-item:last-child {
    margin-bottom: 0;
}

.academics-6 .acc-item summary {
    padding: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    list-style: none;
    font-weight: 600;
    color: #1e293b;
    transition: background 0.2s ease;
}

.academics-6 .acc-item summary:hover {
    background: #00000039;
}

.academics-6 .acc-item summary::-webkit-details-marker {
    display: none;
}

.academics-6 .acc-icon {
    color: #f8e710 !important;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.academics-6 .content-wrapper {
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
    /* background: #ffffff;  */
}

.academics-6 .content-body {
    padding: 26px;
    color: #fff;
    line-height: 1.6;
    text-align: justify;
}

.academics-6 .acc-item.is-open .acc-icon {
    transform: rotate(180deg);
}

.academics-6 img.img-fluid {
    border-radius: 20px;
}

.academics-6 .acc-item summary span {
    color: #fff;
    font-size: 20px;
}

.academics-7 .heading {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.academics-7 .heading h2.section-title {
    color: #49447C;
    color: #49447C;
    color: #49447C;
    color: rgb(73, 68, 124);
    font-size: 48px;
    font-weight: bold !important;
    margin: 0px;
    text-align: center;
}

.academics-7 .box {
    box-shadow: 0 0 10px;
    border-radius: 20px;
    /* height: 306px; */
    transition: 0.3s ease-in-out;
}

.academics-7 .box:hover {
    box-shadow: 0 16px 40px rgba(73, 68, 124, 0.15);
}

.academics-7 .box .content {
    background: #49447c;
    color: #fff;
    padding: 20px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    transition: 0.3s ease-in-out;
    position: relative;
}

.academics-7 .box:hover .content {
    background: #fff;
    color: #000;
}



.academics-7 .box .content::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 8px;
    width: 0%;
    border: 3px solid #f8e710;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    transition: width 0.3s ease-in-out;
    opacity: 0;
}

.academics-7 .box:hover .content::before {
    width: 96%;
    opacity: 1;
}

.academics-7 .box img.img-fluid {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.academics-7 .box .content h4.box-title {
    font-weight: 600 !important;
}

.academics-8 thead {
    background: #4e477e;
    color: #fff;
}

.academics-8 tbody tr:nth-child(even) {
    background-color: #47427912;
}

.academics-8 tbody tr:hover {
    background-color: #4742791f;
}

.academics-8 .section-title {
    color: #49447C;
    color: #49447C;
    color: #49447C;
    color: rgb(73, 68, 124);
    font-size: 48px;
    font-weight: bold !important;
    margin: 0px;
}

.achievement-section {
    background: #f7f5eb;
}

.achievement-title {
    font-size: 48px;
    font-weight: 800;
    color: #140500;
}

.achievement-menu {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.achievement-tab {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 28px;
    background: #f4f4f4;
    border-radius: 20px;
    cursor: pointer;
    transition: .3s;
}

.achievement-tab.active {
    background: #ff6a21;
}

.achievement-tab.active h5 {
    color: #fff;
}

.achievement-icon {
    width: 65px;
    height: 65px;
    background: #f6a623;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.achievement-icon i {
    color: #fff;
    font-size: 28px;
}

.achievement-tab h5 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
}

.tab-content-box {
    display: none;
}

.tab-content-box.active {
    display: block;
}

.achievement-content {
    background: #f4f4f4;
    padding: 40px;
    height: 100%;
}

.achievement-img {
    border-radius: 20px;
    width: 100%;
}

.achievement-content h3 {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 25px;
}

.achievement-content p {
    font-size: 18px;
    line-height: 1.9;
    color: #555;
    margin-bottom: 35px;
}

.achievement-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 35px;
    border-radius: 50px;
    background: #1db100;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.achievement-btn:hover {
    background: #169100;
    color: #fff;
}

@media(max-width:991px) {

    .achievement-title {
        font-size: 36px;
    }

    .achievement-tab h5 {
        font-size: 20px;
    }

    .achievement-content {
        padding: 25px;
    }

    .achievement-img {
        margin-bottom: 25px;
    }
}

.education-section {
    background: #f8f8f8;
}

.education-title {
    color: #49447C;
    font-size: 48px;
    font-weight: 700 !important;
    margin-bottom: 40px;
}

.education-menu {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.education-tab {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px 25px;
    background: #f5f5f5;
    border-radius: 16px;
    cursor: pointer;
    transition: .3s;
    min-height: 110px;
}

.education-tab.active {
    background: #E0342C;
}

.education-tab.active h5 {
    color: #fff;
}

.education-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    background: #49447C;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.education-tab.active .education-icon {
    background: #fff;
}

.education-tab.active .education-icon i {
    color: #E0342C;
}

.education-icon i {
    color: #fff;
    font-size: 24px;
}

.education-tab h5 {
    margin: 0;
    font-size: 22px;
    font-weight: 700 !important;
}

.education-content-box {
    display: none;
}

.education-content-box.active {
    display: block;
}

.education-content {
    background: #f5f5f5;
    padding: 30px;
    border-radius: 20px;
    height: 100%;
}

.education-img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: 15px;
}

.education-content h3 {
    color: #49447C;
    font-size: 32px;
    font-weight: 700 !important;
    margin-bottom: 20px;
}

.education-content p {
    line-height: 1.9;
    color: #555;
    text-align: justify;
}

.education-btn {
    display: inline-block;
    background: #E0342C;
    color: #fff;
    text-decoration: none;
    padding: 12px 25px;
    border-radius: 30px;
    font-weight: 700;
    margin-top: 15px;
}

.education-btn:hover {
    background: #49447C;
    color: #fff;
}

@media(max-width:991px) {

    .education-img {
        height: 300px;
        margin-bottom: 25px;
    }

    .education-title {
        font-size: 34px;
    }

    .education-tab h5 {
        font-size: 18px;
    }
}

/* ==========================================================
   ACADEMICS PAGE — FULL RESPONSIVE + ZOOM-LEVEL FIX
   Covers: page-banner-academics, academics-1 through academics-8,
           education-section
   All breakpoints + zoom levels (75% – 150%)
========================================================== */

/* ---- General: prevent overflow on all academics sections ---- */
.academics-1,
.academics-2,
.academics-3,
.academics-4,
.academics-5,
.academics-6,
.academics-7,
.academics-8,
.education-section {
    overflow-x: hidden;
    width: 100%;
}

.academics-1 .row,
.academics-2 .row,
.academics-3 .row,
.academics-4 .row,
.academics-5 .row,
.academics-6 .row,
.academics-7 .row,
.academics-8 .row,
.education-section .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ---- academics-1 section title & desc ---- */
.academics-1 .section-title {
    font-size: clamp(24px, 3.5vw, 44px);
    line-height: 1.25;
    margin-top: 12px;
}

.academics-1 .section-desc {
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1.8;
}

/* academics-1 icon-box rows: fix layout on small screens */
.academics-1 .icon-box {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56px;
    width: 56px;
    min-width: 56px;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.academics-1 .icon-number {
    font-size: clamp(20px, 2.5vw, 28px);
    font-weight: 700 !important;
    margin: 0;
    color: #49447C;
}

.academics-1 .icon-title {
    font-size: clamp(12px, 1.3vw, 15px);
    margin: 0;
    color: #555;
}

/* Keep image full-width */
.academics-1 img.img-fluid {
    width: 100%;
    height: auto;
}

@media (max-width: 991px) {
    .academics-1 .col-12.col-md-6:last-child {
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .academics-1 .section-title {
        font-size: 26px;
    }

    .academics-1 .badge {
        font-size: 11px !important;
        letter-spacing: 2px !important;
    }
}

@media (max-width: 480px) {
    .academics-1 .section-title {
        font-size: 22px;
    }
}

/* ---- academics-2 ---- */
.academics-2 .section-title {
    font-size: clamp(24px, 4vw, 48px) !important;
    line-height: 1.2;
}

/* Border grid: reset borders below tablet to avoid half-borders */
@media (max-width: 767px) {
    .academics-2 .icon-box.r1 {
        border-right: none;
        border-bottom: 2px solid rgba(221, 221, 221, 0.4);
    }

    .academics-2 .icon-box.r2 {
        border-top: none;
    }

    .academics-2 .icon-box {
        padding: 20px 12px;
    }
}

@media (max-width: 991px) {
    .academics-2 {
        padding: 60px 0;
    }

    /* middle column: remove right border when 1-column */
    .academics-2 .col-12.col-md-4 {
        border: none !important;
    }

    .academics-2 .icon-box.r1 {
        border-right: none;
        border-bottom: 2px solid rgba(221, 221, 221, 0.4);
    }

    .academics-2 .icon-box.r2 {
        border-top: none;
    }
}

@media (max-width: 480px) {
    .academics-2 .badge {
        font-size: 11px !important;
        letter-spacing: 2px !important;
    }

    .academics-2 .icon-box i {
        font-size: 36px;
    }
}

/* ---- academics-3 ---- */
.academics-3 .section-title {
    font-size: clamp(24px, 3.5vw, 48px);
    line-height: 1.2;
}

.academics-3 .section-desc {
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1.8;
}

.academics-3 img.img-fluid {
    width: 100%;
    height: auto;
}

@media (max-width: 991px) {
    .academics-3 .col-12.col-md-6:first-child {
        margin-bottom: 28px;
    }

    .academics-3 .section-title {
        font-size: 28px;
    }
}

@media (max-width: 767px) {
    .academics-3 .section-title {
        font-size: 24px;
    }

    .academics-3 .badge {
        font-size: 11px !important;
        letter-spacing: 2px !important;
    }
}

/* ---- academics-4 ---- */
.academics-4 .section-title {
    font-size: clamp(22px, 4vw, 48px) !important;
    line-height: 1.2;
    text-align: center;
}

.academics-4 .badge {
    font-size: clamp(11px, 1.4vw, 18px) !important;
    letter-spacing: clamp(2px, 0.4vw, 4px) !important;
}

/* icon-box: equal height, centered content */
.academics-4 .icon-box {
    height: 100%;
    padding: 16px;
}

.academics-4 h4.icon-box-title {
    font-size: clamp(15px, 1.8vw, 20px);
    text-align: center;
    margin-top: 14px;
}

.academics-4 p.icon-box-description {
    font-size: clamp(13px, 1.4vw, 15px);
    line-height: 1.75;
    text-align: center;
}

.academics-4 .icon-circle {
    height: clamp(48px, 5.5vw, 64px);
    width: clamp(48px, 5.5vw, 64px);
    flex-shrink: 0;
}

.academics-4 .icon-box .icon-circle i {
    font-size: clamp(18px, 2vw, 24px);
}

/* row gap for consistent spacing */
.academics-4 .row {
    row-gap: 24px;
}

@media (max-width: 767px) {
    .academics-4 .section-title {
        font-size: 24px !important;
    }

    .academics-4 h4.icon-box-title {
        font-size: 17px;
    }
}

@media (max-width: 480px) {
    .academics-4 .section-title {
        font-size: 20px !important;
    }
}

/* ---- academics-5 ---- */
.academics-5 .section-title {
    font-size: clamp(22px, 3.5vw, 44px);
    line-height: 1.2;
}

/* bg-image col: needs height for the background to show */
.academics-5 .col-12.col-md-6.col-lg-6.bg-image {
    min-height: 320px;
}

/* Section content: remove left padding on small screens */
.academics-5 .col-12.col-md-6.col-lg-6.section-content {
    padding-left: 36px;
}

.academics-5 h3.content-title {
    font-size: clamp(18px, 2.2vw, 26px);
}

.academics-5 p {
    font-size: clamp(13px, 1.5vw, 16px);
    line-height: 1.8;
    text-align: justify;
}

/* Row gap */
.academics-5 .content .row {
    row-gap: 0;
    margin-bottom: 20px;
}

@media (max-width: 991px) {
    .academics-5 .col-12.col-md-6.col-lg-6.bg-image {
        min-height: 280px;
        border-radius: 12px;
        margin-bottom: 24px;
    }
}

@media (max-width: 767px) {
    .academics-5 .col-12.col-md-6.col-lg-6.section-content {
        padding-left: 15px;
    }

    .academics-5 .section-title {
        font-size: 24px;
    }

    .academics-5 .col-12.col-md-2 {
        width: auto;
    }
}

@media (max-width: 480px) {
    .academics-5 .col-12.col-md-6.col-lg-6.bg-image {
        min-height: 220px;
    }

    .academics-5 .section-title {
        font-size: 20px;
    }

    .academics-5 .badge {
        font-size: 11px !important;
        letter-spacing: 2px !important;
    }
}

/* ---- academics-6 ---- */
.academics-6 .section-title {
    font-size: clamp(22px, 4vw, 48px) !important;
    line-height: 1.2;
}

.academics-6 .section-desc {
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1.8;
    color: #ddd;
}

.academics-6 .accordion-group {
    max-width: 100%;
    width: 100%;
}

.academics-6 img.img-fluid {
    width: 100%;
    height: auto;
    max-height: 460px;
    object-fit: cover;
}

/* inner-area row */
.academics-6 .inner-area .row {
    row-gap: 24px;
}

.academics-6 .acc-item summary span {
    font-size: clamp(14px, 1.6vw, 20px);
}

@media (max-width: 991px) {
    .academics-6 .col-12.col-md-6:first-child {
        margin-bottom: 24px;
    }

    .academics-6 .section-title {
        font-size: 30px !important;
    }
}

@media (max-width: 767px) {
    .academics-6 .section-title {
        font-size: 24px !important;
    }

    .academics-6 .badge {
        font-size: 11px !important;
        letter-spacing: 2px !important;
    }

    .academics-6 img.img-fluid {
        max-height: 280px;
    }
}

@media (max-width: 480px) {
    .academics-6 .acc-item summary {
        padding: 14px 12px;
    }

    .academics-6 .content-body {
        padding: 14px;
        font-size: 13px;
    }

    .academics-6 .section-title {
        font-size: 20px !important;
    }
}

/* ---- academics-7 ---- */
.academics-7 .heading h2.section-title {
    font-size: clamp(22px, 4vw, 48px) !important;
    line-height: 1.2;
}

.academics-7 .badge {
    font-size: clamp(11px, 1.4vw, 18px) !important;
    letter-spacing: clamp(2px, 0.4vw, 4px) !important;
}

/* Card image: fluid height scaled to viewport */
.academics-7 .box img.img-fluid {
    width: 100%;
    height: clamp(160px, 20vw, 300px);
    object-fit: cover;
}

/* Row gap */
.academics-7 .row {
    row-gap: 28px;
}

.academics-7 .box .content h4.box-title {
    font-size: clamp(15px, 1.8vw, 20px);
}

.academics-7 .box .content p.box-description {
    font-size: clamp(13px, 1.4vw, 15px);
    line-height: 1.75;
}

@media (max-width: 991px) {
    .academics-7 .box img.img-fluid {
        height: 200px;
    }
}

@media (max-width: 767px) {
    .academics-7 .heading h2.section-title {
        font-size: 24px !important;
    }

    .academics-7 .box img.img-fluid {
        height: 180px;
    }

    .academics-7 .badge {
        font-size: 11px !important;
        letter-spacing: 2px !important;
    }
}

@media (max-width: 480px) {
    .academics-7 .heading h2.section-title {
        font-size: 20px !important;
    }

    .academics-7 .box img.img-fluid {
        height: 160px;
    }
}

/* ---- academics-8 ---- */
.academics-8 .section-title {
    font-size: clamp(22px, 4vw, 48px) !important;
    line-height: 1.2;
}

.academics-8 .badge {
    font-size: clamp(11px, 1.4vw, 18px) !important;
    letter-spacing: clamp(2px, 0.4vw, 4px) !important;
}

.academics-8 .section-desc {
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1.8;
}

.academics-8 .heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 30px;
}

/* Table: horizontal scroll on small screens */
.academics-8 .content {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.academics-8 .table {
    min-width: 400px;
    font-size: clamp(13px, 1.5vw, 16px);
}

.academics-8 .table th,
.academics-8 .table td {
    padding: clamp(8px, 1vw, 14px);
    white-space: normal;
    word-wrap: break-word;
}

@media (max-width: 767px) {
    .academics-8 .section-title {
        font-size: 24px !important;
    }

    .academics-8 .table {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .academics-8 .section-title {
        font-size: 20px !important;
    }
}

/* ---- education-section ---- */
.education-title {
    font-size: clamp(24px, 4vw, 48px) !important;
    line-height: 1.2;
}

.education-section .badge {
    font-size: clamp(11px, 1.4vw, 18px) !important;
    letter-spacing: clamp(2px, 0.4vw, 4px) !important;
}

/* Tab label font */
.education-tab h5 {
    font-size: clamp(16px, 2vw, 22px);
}

/* Image: fluid with zoom-stable height */
.education-img {
    width: 100%;
    height: clamp(200px, 28vw, 420px);
    object-fit: cover;
    border-radius: 15px;
}

/* Content headings */
.education-content h3 {
    font-size: clamp(20px, 2.5vw, 32px);
}

.education-content p {
    font-size: clamp(13px, 1.5vw, 16px);
    line-height: 1.9;
}

/* Tabs: tighten on smaller screens */
.education-tab {
    min-height: auto;
    padding: clamp(14px, 1.8vw, 22px) clamp(16px, 2vw, 25px);
}

.education-icon {
    width: clamp(48px, 5vw, 60px);
    height: clamp(48px, 5vw, 60px);
    min-width: clamp(48px, 5vw, 60px);
}

.education-icon i {
    font-size: clamp(18px, 2vw, 24px);
}

/* Content box padding */
.education-content {
    padding: clamp(18px, 2.5vw, 30px);
}

/* Stack layout on tablet */
@media (max-width: 991px) {
    .education-img {
        height: 260px;
        margin-bottom: 20px;
    }

    .education-title {
        font-size: 32px !important;
    }

    .education-tab h5 {
        font-size: 17px;
    }
}

@media (max-width: 767px) {

    .education-section .col-lg-4,
    .education-section .col-lg-8 {
        width: 100%;
    }

    .education-title {
        font-size: 26px !important;
    }

    .education-img {
        height: 220px;
    }

    /* Tab menu: side scroll if needed */
    .education-menu {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 10px;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
    }

    .education-tab {
        flex: 0 0 auto;
        min-width: 160px;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 8px;
        padding: 14px 12px;
    }

    .education-tab h5 {
        font-size: 14px;
    }

    .education-content h3 {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .education-title {
        font-size: 22px !important;
    }

    .education-img {
        height: 180px;
    }

    .education-tab {
        min-width: 130px;
        padding: 12px 10px;
    }

    .education-tab h5 {
        font-size: 13px;
    }

    .education-content {
        padding: 16px;
    }

    .education-section .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ---- academics: general section spacing tightening on mobile ---- */
@media (max-width: 767px) {

    .academics-1.py-5,
    .academics-2.py-5,
    .academics-3.py-5,
    .academics-4.py-5,
    .academics-5.py-5,
    .academics-6.py-5,
    .academics-7.py-5,
    .academics-8.py-5,
    .education-section.py-5 {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
}

@media (max-width: 480px) {

    .academics-1.py-5,
    .academics-2.py-5,
    .academics-3.py-5,
    .academics-4.py-5,
    .academics-5.py-5,
    .academics-6.py-5,
    .academics-7.py-5,
    .academics-8.py-5,
    .education-section.py-5 {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    .academics-1 .container,
    .academics-2 .container,
    .academics-3 .container,
    .academics-4 .container,
    .academics-5 .container,
    .academics-6 .container,
    .academics-7 .container,
    .academics-8 .container,
    .education-section .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 482px) {
    .academics-7 .col-6.col-md-4.col-lg-4 {
        width: 100%;
    }

    .academics-4 .col-6.col-md-3.col-lg-3 {
        width: 100%;
    }
}

/* =========================
   Admission Sections — Responsive & Zoom-Stable
========================= */

/* ---- Page Banner ---- */
.page-banner-academics {
    padding: clamp(40px, 8vw, 100px) 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-banner-academics .banner-title {
    font-size: clamp(28px, 5vw, 60px);
    text-align: center;
}

/* ---- admission-1 ---- */
.admission-1 .section-title {
    color: #49447C;
    font-size: clamp(24px, 3.5vw, 48px);
    margin: 0;
    font-weight: bold !important;
    line-height: 1.2;
}

.admission-1 .badge {
    font-size: clamp(11px, 1.3vw, 18px) !important;
    letter-spacing: clamp(2px, 0.4vw, 4px) !important;
}

.admission-1 .box {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    padding: clamp(16px, 2.5vw, 30px);
    border-radius: 20px;
    background: #49447c1f;
}

.admission-1 p.section-desc {
    text-align: justify;
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1.8;
}

.admission-1 img.img-fluid {
    border-radius: 20px;
    width: 100%;
    height: clamp(220px, 30vw, 440px);
    object-fit: cover;
}

/* ---- admission-2 ---- */
.admission-2 .box {
    background-color: #fff01721;
    padding: clamp(14px, 2vw, 24px);
    border-radius: 20px;
    height: auto;
    min-height: clamp(320px, 40vw, 476px);
}

.admission-2 .header {
    background: #4f478d;
    padding: clamp(8px, 1.2vw, 14px);
    display: flex;
    justify-content: center;
    border-radius: 20px;
}

.admission-2 .section-title {
    color: #ffffff;
    font-size: clamp(18px, 2.2vw, 28px) !important;
}

.admission-2 ul.icon-list.mt-5 {
    list-style-type: none;
    padding: 0;
}

.admission-2 ul.icon-list .list {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: clamp(8px, 1vw, 14px);
    font-weight: 600;
    font-size: clamp(13px, 1.4vw, 18px);
    line-height: 1.5;
}

.admission-2 .icon-list .list i {
    color: #474279;
    font-size: clamp(18px, 2vw, 24px);
    flex-shrink: 0;
    margin-top: 2px;
}

/* ---- admission-3 ---- */
section.admission-3.py-5 {
    background: #49447c;
}

.admission-3 .section-title {
    color: #ffffff;
    font-size: clamp(20px, 2.5vw, 32px) !important;
}

.admission-3 .icon-list {
    list-style-type: square;
    color: #fff;
    margin-top: 24px;
    padding-left: clamp(16px, 2.5vw, 24px);
    font-size: clamp(13px, 1.4vw, 16px);
}

.admission-3 .icon-list li.list {
    margin-bottom: clamp(8px, 1vw, 14px);
    line-height: 1.6;
}

.admission-3 img.img-fluid {
    border-radius: 20px;
    width: 100%;
    height: clamp(200px, 28vw, 420px);
    object-fit: cover;
}

/* ---- admission-4 ---- */
.admission-4 .icon-list {
    list-style-type: none;
    padding: 0;
    margin-top: 22px;
}

.admission-4 .icon-list .list {
    margin-bottom: clamp(8px, 1vw, 14px);
    display: flex;
    align-items: flex-start;
    gap: clamp(10px, 1.5vw, 18px);
    font-weight: 600;
    font-size: clamp(14px, 1.5vw, 20px);
    line-height: 1.5;
}

.admission-4 .icon-list .list i {
    font-size: clamp(20px, 2vw, 25px);
    border-radius: 35px;
    color: #49447c;
    flex-shrink: 0;
    margin-top: 2px;
}

.admission-4 img.img-fluid {
    border-radius: 20px;
    width: 100%;
    height: clamp(200px, 28vw, 420px);
    object-fit: cover;
}

.admission-4 .badge {
    font-size: clamp(11px, 1.3vw, 18px) !important;
    letter-spacing: clamp(2px, 0.4vw, 4px) !important;
}

.admission-4 .section-title {
    color: #49447C;
    font-size: clamp(24px, 3.5vw, 48px);
    margin: 0;
    font-weight: bold !important;
    line-height: 1.2;
}

/* ---- admission-5 ---- */
.admission-5 .box {
    background-image: linear-gradient(135deg, #49447C, #00000061), url(../Images/fees.webp);
    background-size: cover;
    background-position: center;
    padding: clamp(20px, 3vw, 40px);
    border-radius: 20px;
}

.admission-5 .section-title {
    color: #ffffff;
    font-size: clamp(22px, 3vw, 40px) !important;
}

.admission-5 p.section-desc {
    color: #fff;
    font-size: clamp(13px, 1.5vw, 16px);
    line-height: 1.8;
}

.admission-5 h5 {
    color: #fff;
    font-weight: 500 !important;
    font-size: clamp(15px, 1.8vw, 20px);
}

.admission-5 ul.icon-list {
    color: #fff;
    font-size: clamp(13px, 1.5vw, 16px);
    padding-left: clamp(16px, 2vw, 24px);
}

.admission-5 ul.icon-list li.list {
    margin-bottom: clamp(6px, 0.8vw, 12px);
}

/* =========================
   Admission Responsive Breakpoints
========================= */

/* ---- Large Desktop (1400px+) ---- */
@media (min-width: 1400px) {

    .admission-1 .section-title,
    .admission-4 .section-title {
        font-size: 48px;
    }

    .admission-2 ul.icon-list .list {
        font-size: 18px;
    }
}

/* ---- Desktop / High-Zoom 125%-150% (max 1199px) ---- */
@media (max-width: 1199px) {

    .admission-1 .section-title,
    .admission-4 .section-title {
        font-size: clamp(22px, 3vw, 38px);
    }

    .admission-2 .box {
        min-height: auto;
        height: auto;
    }

    .admission-2 ul.icon-list .list {
        font-size: 15px;
    }

    .admission-2 .icon-list .list i {
        font-size: 20px;
    }
}

/* ---- Tablet (max 991px) ---- */
@media (max-width: 991px) {

    .admission-1 img.img-fluid,
    .admission-3 img.img-fluid,
    .admission-4 img.img-fluid {
        height: 280px;
        margin-top: 20px;
    }

    .admission-1 .section-title,
    .admission-4 .section-title {
        font-size: 30px;
    }

    .admission-2 .box {
        margin-bottom: 20px;
    }

    .admission-3 .col-12.col-md-6:last-child {
        margin-top: 20px;
    }

    .admission-4 .col-12.col-md-6:first-child {
        margin-bottom: 20px;
    }
}

/* ---- Mobile Large (max 767px) ---- */
@media (max-width: 767px) {

    .admission-1.py-5,
    .admission-2.py-5,
    .admission-3.py-5,
    .admission-4.py-5,
    .admission-5.py-5 {
        padding-top: 36px !important;
        padding-bottom: 36px !important;
    }

    .admission-1 .section-title,
    .admission-4 .section-title {
        font-size: 26px;
    }

    .admission-1 .badge,
    .admission-4 .badge {
        font-size: 12px !important;
        letter-spacing: 2px !important;
    }

    .admission-1 .box {
        padding: 16px;
    }

    .admission-1 img.img-fluid,
    .admission-3 img.img-fluid,
    .admission-4 img.img-fluid {
        height: 220px;
        margin-top: 18px;
    }

    .admission-1 p.section-desc {
        font-size: 14px;
    }

    .admission-2 .box {
        height: auto;
        padding: 14px;
        margin-bottom: 16px;
    }

    .admission-2 .section-title {
        font-size: 18px !important;
    }

    .admission-2 ul.icon-list .list {
        font-size: 13px;
        gap: 6px;
    }

    .admission-2 .icon-list .list i {
        font-size: 18px;
    }

    .admission-3 .section-title {
        font-size: 20px !important;
    }

    .admission-3 .icon-list {
        font-size: 13px;
        margin-top: 16px;
    }

    .admission-3 .icon-list li.list {
        margin-bottom: 10px;
    }

    .admission-4 .icon-list .list {
        font-size: 14px;
        gap: 10px;
    }

    .admission-4 .icon-list .list i {
        font-size: 18px;
    }

    .admission-5 .box {
        padding: 18px;
        border-radius: 14px;
    }

    .admission-5 .section-title {
        font-size: 22px !important;
    }

    .admission-5 p.section-desc {
        font-size: 13px;
    }

    .admission-5 h5 {
        font-size: 15px;
    }

    .admission-5 ul.icon-list {
        font-size: 13px;
    }
}

/* ---- Mobile Small (max 575px) ---- */
@media (max-width: 575px) {

    .admission-1.py-5,
    .admission-2.py-5,
    .admission-3.py-5,
    .admission-4.py-5,
    .admission-5.py-5 {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    .admission-1 .container,
    .admission-2 .container,
    .admission-3 .container,
    .admission-4 .container,
    .admission-5 .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .admission-1 .section-title,
    .admission-4 .section-title {
        font-size: 22px;
    }

    .admission-1 .box {
        padding: 12px;
        border-radius: 14px;
    }

    .admission-1 img.img-fluid,
    .admission-3 img.img-fluid,
    .admission-4 img.img-fluid {
        height: 190px;
        border-radius: 14px;
    }

    .admission-2 .box {
        padding: 12px;
        border-radius: 14px;
    }

    .admission-2 .header {
        padding: 8px;
        border-radius: 12px;
    }

    .admission-2 .section-title {
        font-size: 16px !important;
    }

    .admission-2 ul.icon-list.mt-5 {
        margin-top: 16px !important;
    }

    .admission-2 ul.icon-list .list {
        font-size: 12px;
        margin-bottom: 8px;
    }

    .admission-3 .section-title {
        font-size: 18px !important;
    }

    .admission-3 .icon-list {
        font-size: 12px;
        padding-left: 14px;
        margin-top: 12px;
    }

    .admission-4 .icon-list .list {
        font-size: 13px;
    }

    .admission-5 .box {
        padding: 14px;
        border-radius: 12px;
    }

    .admission-5 .section-title {
        font-size: 20px !important;
    }

    .admission-5 p.section-desc,
    .admission-5 ul.icon-list {
        font-size: 12px;
    }
}

/* ---- Extra Small (max 400px) ---- */
@media (max-width: 400px) {

    .admission-1 .section-title,
    .admission-4 .section-title {
        font-size: 20px;
    }

    .admission-2 .section-title {
        font-size: 14px !important;
    }

    .admission-3 .section-title {
        font-size: 16px !important;
    }

    .admission-5 .section-title {
        font-size: 18px !important;
    }

    .admission-1 img.img-fluid,
    .admission-3 img.img-fluid,
    .admission-4 img.img-fluid {
        height: 160px;
    }
}

@media(max-width: 482px) {
    .admission-3 .row {
        display: flex;
        flex-direction: column-reverse;
        gap: 24px;
    }

    .admission-1 img.img-fluid,
    .admission-3 img.img-fluid,
    .admission-4 img.img-fluid {
        height: 256px !important;
    }

    .navbar-nav .nav-link::before{
        opacity: 0 !important;
    }
}


@media(max-width: 482px){
    .home-2 .box img.img-fluid{
        bottom: 263px;
    }

    .home-3 img.img-fluid{
        margin-bottom: 46px;
    }

    .video-wrap .row{
        padding-left: 32px;
        padding-right: 2px;
    }

    .profile_infos h4{
        padding-right: 32px;
        padding-bottom: 30px;
    }
}

section.about-1.py-5 {
    background: #49447c1f !important;
}
section.about-2.py-5 {
    background: #49447c1f !important;
}
.outer-box.hightlight {
    background: #f8e710;
}

.founder-1 span.badge {
    text-align: left;
}

.testimonials h2.section-title {
    font-size: 48px;
    /* color: #56225e; */
    color: #49447c;
    margin: 0;
    font-weight: bold !important;
}

.mand-1 table thead {
    background: #49447c;
    color: #fff;
}

.mand-1 th {
    padding: 14px;
}

.mand-1 tbody tr:nth-child(even){
    background-color: #4742791c;

}

.mand-1 td {
    padding: 10px;
}

.mand-1 table {
    width: 100%;
}

.smart-gallery-section .section-title {
    color: #49447C;
    color: #49447C;
    /* font-weight: 700 !important; */
    font-size: 48px;
    /* color: #56225e; */
    /* color: #fff; */
    margin: 0;
    font-weight: bold !important;
    /* text-align: center; */
}

.acheivement .section-title{
        color: #49447C;
    /* font-weight: 700 !important; */
    font-size: 48px;
    /* color: #56225e; */
    /* color: #fff; */
    margin: 0;
    font-weight: bold !important;
    /* text-align: center; */
}

.acheivement img.img-fluid {
    border-radius: 20px;
}

/* =========================
   Mandatory Disclosure – Responsive Tables
   Covers: mand-1 sections, all zoom levels
========================= */

/* ── Base table polish ── */
.mand-1 {
    overflow-x: hidden;
}

.mand-1 .section-title {
    font-size: clamp(22px, 3vw, 38px) !important;
}

.mand-1 table {
    width: 100%;
    border-collapse: collapse;
    font-size: clamp(13px, 1.4vw, 15px);
    table-layout: auto;
    word-break: break-word;
}

.mand-1 th {
    padding: clamp(8px, 1.2vw, 14px) clamp(10px, 1.4vw, 16px);
    font-size: clamp(13px, 1.3vw, 15px);
    white-space: nowrap;
}

.mand-1 td {
    padding: clamp(8px, 1vw, 12px) clamp(10px, 1.4vw, 16px);
    font-size: clamp(12px, 1.3vw, 14px);
    vertical-align: middle;
    line-height: 1.6;
}

/* Scroll wrapper – prevents page overflow on narrow viewports */
.mand-1 .table-responsive-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 6px;
}

/* ── Large Desktop 125 %–150 % zoom (max-width: 1199px) ── */
@media (max-width: 1199px) {

    .mand-1.py-5 {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .mand-1 .section-title {
        font-size: clamp(20px, 2.6vw, 32px) !important;
    }

    .mand-1 th {
        font-size: 14px;
        padding: 10px 12px;
    }

    .mand-1 td {
        font-size: 13px;
        padding: 9px 12px;
    }
}

/* ── Tablet (max-width: 991px) ── */
@media (max-width: 991px) {

    .mand-1.py-5 {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }

    .mand-1 .section-title {
        font-size: 24px !important;
    }

    .mand-1 th,
    .mand-1 td {
        white-space: normal;
    }
}

/* ── Mobile Large (max-width: 767px) ── */
@media (max-width: 767px) {

    .mand-1.py-5 {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    .mand-1 .section-title {
        font-size: 20px !important;
    }

    .mand-1 .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Stack sl-no column narrow */
    .mand-1 table th:first-child,
    .mand-1 table td:first-child {
        width: 36px;
        text-align: center;
        white-space: nowrap;
    }

    .mand-1 th {
        font-size: 12px;
        padding: 8px 10px;
    }

    .mand-1 td {
        font-size: 12px;
        padding: 8px 10px;
    }
}

/* ── Mobile Small (max-width: 575px) ── */
@media (max-width: 575px) {

    .mand-1.py-5 {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }

    .mand-1 .section-title {
        font-size: 18px !important;
        margin-bottom: 14px !important;
    }

    .mand-1 th {
        font-size: 11px;
        padding: 7px 8px;
        letter-spacing: 0;
    }

    .mand-1 td {
        font-size: 11px;
        padding: 7px 8px;
    }

    /* Hide "Sl. No" column label on very small screens to save space */
    .mand-1 table th:first-child,
    .mand-1 table td:first-child {
        display: none;
    }
}

/* ── Extra Small (max-width: 400px) ── */
@media (max-width: 400px) {

    .mand-1 th,
    .mand-1 td {
        font-size: 10px;
        padding: 6px 7px;
    }
}

/* Career Page */

.career-1 .section-desc{
    text-align: justify;
}

.career-1 img.img-fluid{
    border-radius: 20px;
}

h2#career-title {
    color: #49447C;
    /* font-weight: 700 !important; */
    margin-bottom: 30px;
    /* color: #56225e; */
    /* color: #fff; */
    /* margin: 0; */
    font-weight: bold !important;
        font-size: clamp(24px, 4vw, 48px) !important;
    line-height: 1.2;
    text-align: center;
}

@media (max-width:575px){
    #career-path th:first-child{
        display: inline !important ;
    }
    #career-path td:first-child{
        display: inline !important ;
    }
    .career-1 .row{
        flex-direction: column-reverse;
    }

    .trust-3 .outer-box {
        margin-top: 16px;
    }
}