/* =====================================================
   GLOBAL
   ===================================================== */

html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: 'Roboto', Arial, sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
iframe {
    max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        scroll-behavior: auto !important;
    }
}


/* =====================================================
   TOP BAR
   ===================================================== */
.top-bar {
    background: #cc0000;
    color: #fff;
    width: 100%;
    font-size: 14px;
    padding: 7px 25px;
    font-family: 'Roboto', Arial, sans-serif;
}

.top-bar a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
}

@media (max-width: 991px) {
    .top-bar {
        padding: 6px 0px;
    }

    .top-bar .container-fluid {
        justify-content: center !important;
    }

    .top-bar span:first-child {
        display: none;
    }
}


/* =====================================================
   NAVBAR
   ===================================================== */

.navbar .container {
    max-width: 1200px;
}

.navbar-brand {

    font-size: 1.25rem;
    text-decoration: none;
    white-space: nowrap;
}

.navbar-brand img {
    height: 85px;
    width: auto;
}

.main-nav {
    background: #fff;
    padding: 8px 55px;
    font-family: 'Roboto', Arial, sans-serif;
}

.main-nav .nav-link {
    color: #222;
    font-size: 16px;
    font-weight: 500;
    padding: 10px 14px;
    position: relative;
    transition: color 0.2s;
}

/* Red underline on hover / active */
.main-nav .nav-link::after {
    content: '';
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 4px;
    height: 2px;
    background: #cc0000;
    transform: scaleX(0);
    transition: transform 0.25s;
}

.main-nav .nav-link:hover,
.main-nav .nav-link.active,
.main-nav .nav-link.show {
    color: #cc0000;
}

.main-nav .nav-link:hover::after,
.main-nav .nav-link.active::after {
    transform: scaleX(1);
}

/* Keep Bootstrap's dropdown arrow */
.main-nav .dropdown-toggle::after {
    position: static;
    background: none;
    height: auto;
    transform: none;
}

/* Dropdown */
.main-nav .dropdown-menu {
    border: 0;
    border-top: 3px solid #cc0000;
    border-radius: 0;
    padding: 8px 0;
    min-width: 260px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.main-nav .dropdown-item {
    font-size: 15px;
    padding: 9px 20px;
    white-space: normal;
}

.main-nav .dropdown-item:hover {
    background: #fff1f1;
    color: #cc0000;
    padding-left: 26px;
    transition: padding 0.2s;
}

/* Contact button */
.btn-nav-contact {
    display: inline-block;
    background: #cc0000;
    color: #fff;
    padding: 10px 24px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 3px;
    transition: background 0.2s;
}

.btn-nav-contact:hover {
    background: #000;
    color: #fff;
}

/* Open dropdowns on hover (desktop only) */
@media (min-width: 992px) {
    .main-nav .dropdown:hover>.dropdown-menu {
        display: block;
        margin-top: 0;
    }
}

/* Small laptops: squeeze the menu so it stays on one line */
@media (min-width: 992px) and (max-width: 1399px) {
    .main-nav {
        padding: 16px 25px;
    }

    .main-nav .nav-link {
        font-size: 14.5px;
        padding: 8px 8px;
    }

    .main-nav .nav-link::after {
        left: 8px;
        right: 8px;
    }

    .btn-nav-contact {
        padding: 9px 16px;
    }

    .navbar-brand img {
        height: 48px;
    }
}

/* Tablet + mobile (hamburger menu) */
@media (max-width: 991px) {
    .main-nav {
        padding: 10px 20px;
    }

    .main-nav .navbar-collapse {
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        padding-top: 10px;
    }

    /* no underline animation on mobile, but keep the dropdown arrow */
    .main-nav .nav-link:not(.dropdown-toggle)::after {
        display: none;
    }

    .main-nav .nav-link {
        padding: 12px 6px;
        border-bottom: 1px solid #eee;
    }

    .main-nav .dropdown-menu {
        min-width: 0;
        box-shadow: none;
        border-top: 0;
        border-left: 3px solid #cc0000;
        margin: 0 0 6px 10px;
    }

    .btn-nav-contact {
        display: block;
        text-align: center;
        margin: 12px 0;
    }
}

@media (max-width: 575px) {
    .main-nav {
        padding: 8px 5px;
    }

    .navbar-brand img {
        height: 42px;
    }
}

.main-nav .navbar-toggler {
    border: 1px solid #cc0000;
    padding: 6px 10px;
    border-radius: 4px;
}

.main-nav .navbar-toggler:focus {
    box-shadow: 0 0 0 3px rgba(204, 0, 0, 0.25);
}

.main-nav .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23cc0000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}




/* =====================================================
   FOOTER
   ===================================================== */
.site-footer {
    background: #4a4a4a;
    color: #fff;
    font-family: 'Roboto', Arial, sans-serif;
}

.footer-main {
    max-width: 1200px;
    margin: 0 auto;
}

.site-footer a {
    color: #fff;
    text-decoration: none;
}

.site-footer a:hover {
    color: #ffb3b3;
}

/* Main layout: branches | quick links | find us */
.footer-main {
    display: grid;
    grid-template-columns: 3fr 1.1fr 1.1fr;
    gap: 40px;
    padding: 60px 0px 70px;
}

.footer-main h2 {
    font-size: clamp(28px, 2.6vw, 40px);
    font-weight: 700;
    font-size: 35px;
    margin: 0 0 18px;
    line-height: 1.1;
}

.footer-main h3 {
    font-size: 21px;
    font-weight: 700;
    margin: 0 0 28px;
}

/* Branches */
.branches {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.branch p {
    font-size: 16px;
    line-height: 1.65;
    margin: 0 0 24px;
}

/* Quick links */
.quick-links ul {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
}

.quick-links li {
    margin-bottom: 12px;
    font-size: 17px;
}

.quick-links li a::before {
    content: '\203A';
    font-weight: 700;
    font-size: 26px;
    margin-right: 18px;
}

.social svg {
    width: 32px;
    height: 32px;
    fill: #fff;
}

/* Map */
.find-us iframe {
    width: 100%;
    height: 250px;
    border: 0;
    display: block;
}

/* Copyright bar */
.footer-bottom {
    background: #000;
    padding: 16px 26px;
    font-size: 18px;
}

.footer-bottom a {
    font-weight: 500;
}

/* Back to top button */
.back-to-top {
    position: fixed;
    right: 15px;
    bottom: 35px;
    width: 40px;
    height: 40px;
    background: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    z-index: 99;
    border-radius: 4px;
}

/* Tablet: row 1 = all branches, row 2 = Quick Links + Map */
@media (max-width: 1100px) {
    .footer-main {
        grid-template-columns: 1fr 1fr;
        /* Quick Links | Map */
        gap: 35px;
        padding: 45px 24px 55px;
    }

    /* the wrapper that holds "Our Branches" takes the whole first row */
    .footer-main>div:first-child {
        grid-column: 1 / -1;
    }

    .branches {
        grid-template-columns: repeat(3, 1fr);
        /* 3 branches side by side */
        gap: 24px;
    }

    .branch h3 {
        font-size: 20px;
        margin-bottom: 16px;
    }

    .branch p {
        font-size: 15px;
        line-height: 1.7;
    }
}

/* Mobile: everything in one column */
@media (max-width: 700px) {
    .footer-main {
        grid-template-columns: 1fr;
        padding: 40px 18px;
    }

    .branches {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .branch h3 {
        font-size: 22px;
        margin-bottom: 14px;
    }

    .branch p {
        font-size: 16px;
    }

    .quick-links li {
        font-size: 19px;
    }

    .find-us iframe {
        height: 220px;
    }

    .footer-bottom {
        font-size: 14px;
        padding: 14px 18px;
        text-align: center;
        line-height: 1.6;
    }

    .back-to-top {
        right: 12px;
        bottom: 20px;
        width: 42px;
        height: 36px;
        font-size: 18px;
    }
}

/* =====================================================
   HOME PAGE: CTA (Call Now / Contact us)
   ===================================================== */
.cta-section {
    background: #fcfcfc;
    padding: 50px 0px 90px;
    font-family: 'Roboto', Arial, sans-serif;
}

.cta-title {
    color: #cc0000;
    font-size: clamp(22px, 3.2vw, 40px);
    font-weight: 700;
    margin: 0 0 15px;
    line-height: 1.25;
}

.cta-line {
    display: block;
    width: 125px;
    height: 1px;
    background: #250303;
    margin: 0 auto 4px;
}

.cta-buttons {
    margin-top: 15px;
    display: flex;
    justify-content: center;
    gap: 25px;
    border-radius: 4px;
    flex-wrap: wrap;
}

.cta-buttons a {
    display: inline-block;
    border-radius: 4px;
    padding: 6px 20px;
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    transition: background 0.2s;
}

.btn-call {
    background: #e50914;
}

.btn-call:hover {
    background: #b5070f;
    color: #fff;
}

.btn-contact {
    background: #000;
}

.btn-contact:hover {
    background: #333;
    color: #fff;
}

@media (max-width: 768px) {
    .cta-section {
        padding: 35px 15px 55px;
    }

    .cta-buttons {
        gap: 15px;
    }
}


/* =====================================================
   SHARED TITLES
   ===================================================== */
.red-title {
    color: #cc0000;
    font-weight: 700;
}

.section-title {
    color: #cc0000;
    font-weight: 700;
    text-align: center;
    font-size: clamp(24px, 3vw, 34px);
    margin-bottom: 14px;
    line-height: 1.25;
}

.title-line {
    display: block;
    width: 60px;
    height: 1px;
    background: #cc0000;
    margin: 0 auto 20px;
}

.title-line.left {
    margin-left: 0;
}


/* =====================================================
   1. ABOUT  (Best Coaching Classes in Aurangabad)
   ===================================================== */
.about-section {
    background: #fff;
    padding: 80px 0px 60px;
    font-family: 'Roboto', Arial, sans-serif;
    overflow-x: clip;
}

.about-wrap {
    position: relative;
    max-width: 1170px;
    margin: 0 auto;
}

/* White box: shadow on top + sides only */
.about-box {
    width: 74%;
    background: #fff;
    padding: 75px 170px 0 37px;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.16);
    clip-path: inset(-70px -70px 0 -120px);
}

.about-title {
    color: #cc0000;
    font-size: 35px;
    font-weight: 600;
    line-height: 1.2;
    margin: 0;
}

.about-title::after {
    content: '';
    display: block;
    width: 557px;
    max-width: 100%;
    height: 1px;
    background: #000;
    margin: 21px 0 28px 1px;
}

.about-intro {
    font-size: 18px;
    line-height: 1.7;
    color: #000;
    margin: 0 0 55px 13px;
}

.about-sub {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

/* Image overlapping the box */
.about-img {
    position: absolute;
    top: 61px;
    right: 30px;
    width: 400px;
    height: auto;
    border: 1px solid #cc0000;
    z-index: 2;
}

/* Content below the box */
.about-more {
    padding: 0 100px 0 37px;
    font-size: 18px;
    line-height: 1.9;
    color: #111;
}

.about-more p {
    margin: 0 0 14px;
}

.why-list {
    list-style: none;
    padding: 0;
    margin: 15px 0 20px;
}

.why-list li strong::before {
    content: '\2022';
    margin-right: 8px;
}

.why-list p {
    margin: 4px 0 18px;
}

/* Laptop / small desktop: image still overlaps, just smaller */
@media (max-width: 1199px) {
    .about-box {
        width: 78%;
        padding: 65px 150px 0 30px;
    }

    .about-title {
        font-size: 30px;
    }

    .about-intro {
        font-size: 16.5px;
        margin-bottom: 40px;
    }

    .about-img {
        width: 340px;
        right: 15px;
        top: 55px;
    }

    .about-more {
        padding-right: 30px;
        padding-left: 30px;
        font-size: 17px;
    }
}

/* Tablet + mobile: stack everything */
@media (max-width: 991px) {
    .about-section {
        padding: 40px 15px;
    }

    .about-box {
        width: 100%;
        padding: 30px 20px 10px;
        clip-path: none;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);
    }

    .about-title {
        font-size: 28px;
    }

    .about-title::after {
        width: 100%;
        margin: 18px 0 22px;
    }

    .about-intro {
        font-size: 17px;
        margin: 0 0 25px;
    }

    .about-sub {
        font-size: 19px;
    }

    .about-img {
        position: static;
        width: 100%;
        max-width: 520px;
        margin: 20px auto;
        display: block;
    }

    .about-more {
        padding: 10px 5px 0;
        font-size: 16px;
        line-height: 1.8;
    }
}

@media (max-width: 575px) {
    .about-section {
        padding: 25px 12px;
    }

    .about-box {
        padding: 25px 16px 5px;
    }

    .about-title {
        font-size: 23px;
    }

    .about-intro {
        font-size: 15.5px;
    }

    .about-sub {
        font-size: 17px;
    }

    .about-more {
        font-size: 15px;
    }
}


/* =====================================================
   2. WHY VIDYALANKAR
   ===================================================== */
.why-section {
    padding: 60px 0;
    background:
        linear-gradient(rgba(244, 242, 242, 0.88), rgba(251, 251, 251, 0.88)),
        url('../img/whychoosehomeback.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.check-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.check-list li {
    margin-bottom: 11px;
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.check-list li i {
    color: #cc0000;
    font-size: 16px;
    margin-top: 2px;
    flex-shrink: 0;
}

/* "fixed" backgrounds jump on phones, tablets and iOS, so scroll normally there */
@media (max-width: 991px) {
    .why-section {
        background-attachment: scroll;
        padding: 45px 0;
    }
}

@supports (-webkit-touch-callout: none) {
    .why-section {
        background-attachment: scroll;
    }
}

@media (max-width: 767px) {
    .why-section .container {
        padding-left: 25px;
        padding-right: 25px;
    }

    .check-list li {
        font-size: 15px;
    }

    .check-list+.check-list,
    .why-section .col-md-5:first-child .check-list {
        margin-bottom: 0;
    }
}


/* =====================================================
   3. COURSES
   ===================================================== */
.courses-section {
    padding: 70px 0 90px;
    font-family: 'Roboto', Arial, sans-serif;
}

.courses-wrap {
    max-width: 1350px;
    padding: 0 40px;
}

/* Card */
.course-card {
    position: relative;
    display: grid;
    grid-template-columns: 48% 52%;
    min-height: 300px;
    border-top: 2px solid #b30000;
}

.course-card:hover {
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.16);
}

/* Grey panel behind the text side */
.course-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 65%;
    height: 100%;
    background: #f9f9f9;
    transition: background 0.4s ease;
    z-index: 0;
}

/* Hover: grey panel disappears */
.course-card:hover::before {
    background: transparent;
}

/* Text side */
.course-text {
    position: relative;
    z-index: 1;
    padding: 10px 25px;
}

.course-text h3 {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.6;
    color: #111;
    margin: 0 0 10px;
}

.course-text p {
    font-size: 17px;
    line-height: 1.5;
    color: #888;
    text-align: justify;
    margin: 0;
}

/* Image side (overlaps the grey panel) */
.course-media {
    position: relative;
    z-index: 2;
    padding: 70px 25px 30px 0;
}

.course-media img {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
}

/* Read More button */
.btn-read {
    display: inline-block;
    margin-top: 25px;
    padding: 6px 15px;
    border: 1px solid #b30000;
    background: #fff;
    color: #cc0000;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.25s;
}

.btn-read:hover {
    background: #cc0000;
    color: #fff;
}

/* Laptop: one card per row between 992px and 1199px (cards would be too narrow) */
@media (min-width: 992px) and (max-width: 1199px) {
    .courses-section .row>.col-lg-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 1399px) {
    .course-text h3 {
        font-size: 24px;
    }

    .course-text p {
        font-size: 16px;
    }
}

/* Tablet */
@media (max-width: 991px) {
    .courses-section {
        padding: 50px 0 60px;
    }

    .courses-wrap {
        padding: 0 25px;
    }
}

/* Mobile: stack text and image */
@media (max-width: 767px) {
    .courses-section {
        padding: 40px 0 50px;
    }

    .courses-wrap {
        padding: 0 15px;
    }

    .course-card {
        display: block;
        min-height: 0;
    }

    .course-card::before {
        width: 100%;
    }

    .course-text {
        padding: 25px 18px 10px;
    }

    .course-text h3 {
        font-size: 22px;
        line-height: 1.35;
    }

    .course-text p {
        font-size: 15px;
        text-align: left;
    }

    .course-media {
        padding: 15px 18px 25px;
    }

    .course-media img {
        height: 200px;
    }

    .btn-read {
        font-size: 16px;
        margin-top: 18px;
    }
}


/* =====================================================
   4. CONTACT + TESTIMONIALS
   ===================================================== */

.contact-section .container {
    max-width: 1200px;
    margin-bottom: 50px;
}

/* ---------- Contact form ---------- */
.contact-form {

    background: #fff;
    padding: 15px 20px;
    border-top: 3px solid #cc0000;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
}

.cf-label {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.contact-form input,
.contact-form textarea {
    display: block;
    width: 100%;
    padding: 7px 10px;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 15px;
    color: #222;
    background: #fafafa;
    border: 1px solid #ddd;
    border-radius: 3px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.contact-form textarea {
    resize: vertical;
    min-height: 100px;
}

.contact-form input:focus,
.contact-form textarea:focus {
    background: #fff;
    border-color: #cc0000;
    box-shadow: 0 0 0 3px rgba(204, 0, 0, 0.12);
}

.contact-form ::placeholder {
    color: #aaa;
}

.btn-send {
    display: inline-block;
    padding: 7px 22px;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    background: #cc0000;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-send:hover {
    background: #000;
}

@media (max-width: 575px) {
    .contact-form {
        padding: 20px 16px;
    }

    .btn-send {
        width: 100%;
    }
}

/* ---------- Testimonials slider ---------- */
.testimonial-card {
    display: flex;
    flex-direction: column;
    height: 380px;
    margin: 6px;
    padding: 26px 28px 20px;
    background: #fff;
    border-top: 3px solid #cc0000;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
}

.t-quote {
    color: #cc0000;
    font-size: 28px;
    opacity: 0.3;
}

/* Long reviews scroll inside the card so every slide is the same height */
.t-text {
    flex: 1;
    overflow-y: auto;
    margin: 12px 0 16px;
    padding-right: 8px;
    font-size: 15px;
    line-height: 1.7;
    color: #555;
    scrollbar-width: thin;
    scrollbar-color: #cc0000 #eee;
}

.t-author {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid #eee;
}

.t-avatar {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #cc0000;
    color: #fff;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.t-name {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #111;
}

.t-role {
    font-size: 13px;
    color: #888;
}

/* Arrows + dots */
.t-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 18px;
}

/* Arrows removed: centre the bars */
.t-controls {
    display: flex;
    justify-content: center;
    margin-top: 1px;
}

/* Bar buttons */
.t-indicators {
    position: static;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
}

.t-indicators button {
    box-sizing: border-box;
    width: 7px !important;
    height: 7px;
    margin: 0 4px;
    padding: 0;
    border: 0;
    border-radius: 3px;
    background-color: #da2828 !important;
    background-clip: border-box;
    opacity: 1;
    transition: background-color 0.3s, width 0.3s;
}

.t-indicators button:hover {
    background-color: #e08080;
}

/* Active slide: red and a little longer */
.t-indicators button.active {
    background-color: #cc0000;
    width: 40px;
}

/* Turn Bootstrap's white bars into small dots */
.t-indicators {
    position: static;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
}

.t-indicators button {
    box-sizing: border-box;
    width: 9px;
    height: 9px;
    margin: 0 4px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: #ee4343;
    background-clip: border-box;
    opacity: 1;
}

.t-indicators button.active {
    background-color: #cc0000;
}

@media (max-width: 575px) {
    .testimonial-card {
        height: 380px;
        padding: 22px 18px 16px;
    }

    .t-text {
        font-size: 14px;
    }

    .t-controls {
        gap: 8px;
    }

    .t-indicators button {
        width: 18px;
        margin: 0 3px;
    }

    .t-indicators button.active {
        width: 28px;
    }
}


/* =====================================================
   5. JOIN BANNER
   ===================================================== */
.join-section {
    background: url('../img/joinvidyalankar.png') center / cover no-repeat;
    min-height: clamp(280px, 42vw, 620px);
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 991px) {
    .join-overlay {
        width: 100%;
    }

    .join-content ul {
        font-size: 18px;
    }
}

@media (max-width: 576px) {
    .join-content h2 {
        font-size: 26px;
    }
}


/* =====================================================
   6. GOOGLE REVIEWS
   ===================================================== */
.reviews-section {
    padding: 50px 0;
}

.reviews-section iframe {
    width: 100%;
    display: block;
}

.reviews-title {
    font-size: clamp(24px, 2.6vw, 30px);
    font-weight: 700;
    margin-bottom: 12px;
}

.btn-review {
    display: inline-block;
    border: 1px solid #cc0000;
    color: #cc0000;
    padding: 7px 20px;
    font-weight: 500;
    text-decoration: none;
}

.btn-review:hover {
    background: #cc0000;
    color: #fff;
}


.reviews-img {
    display: block;
    width: 100%;
    max-width: 520px;
    /* stops it getting too big on large screens */
    height: auto;
    margin: 0 auto;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.12);
}

@media (max-width: 767px) {
    .reviews-img {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .reviews-section {
        padding: 35px 0;
    }

    .reviews-section iframe {
        height: 280px;
    }

    .btn-review {
        padding: 10px 22px;
    }
}

/* director message */

/* =====================================================
   DIRECTOR MESSAGE PAGE
   ===================================================== */

/* ---------- Page title bar (grey strip) ---------- */
.page-title-bar {
    background: #f5f5f5;
    padding: 30px 0;
    font-family: 'Roboto', Arial, sans-serif;
}

.page-title-bar h1 {
    margin: 0;
    font-size: 30px;
    font-weight: 400;
    color: #333;
}

.page-breadcrumb {
    font-size: 13px;
    color: #333;
}

.page-breadcrumb a {
    color: #555;
    text-decoration: none;
}

.page-breadcrumb a:hover {
    color: #cc0000;
}

.page-breadcrumb .sep {
    margin: 0 6px;
    color: #888;
}

/* ---------- Hero banner ---------- */
.dir-hero {
    display: flex;
    align-items: center;
    min-height: clamp(300px, 37vw, 600px);
    background: url('../img/banner2.png') center right / cover no-repeat;
    font-family: 'Roboto', Arial, sans-serif;
}

.dir-hero-text {
    width: 62%;
    text-align: center;
}

.dir-hero-text h2 {
    margin: 0 0 6px;
    font-size: clamp(28px, 3.1vw, 50px);
    font-weight: 400;
    color: #cc0000;
}

.dir-hero-text p {
    margin: 0;
    font-size: clamp(16px, 1.9vw, 30px);
    font-weight: 700;
    color: #111;
}

/* ---------- Speech content ---------- */
.dir-content {
    padding: 60px 15px 20px;
    font-family: 'Roboto', Arial, sans-serif;
}

.dir-wrap {
    max-width: 1180px;
    margin: 0 auto;
}

.dir-content p {
    font-size: 18px;
    line-height: 2;
    color: #777;
    text-align: justify;
}

.dir-content strong {
    color: #222;
    font-weight: 700;
}

/* First row: paragraph on the left, heading on the right */
.dir-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    margin-bottom: 25px;
}

.dir-top-text p {
    margin: 0;
}

.dir-top-heading {
    padding-left: 140px;
}

.dir-heading {
    margin: 0;
    font-size: clamp(30px, 3.3vw, 46px);
    font-weight: 400;
    line-height: 1.1;
    color: #000;
}

/* Faded copy of the heading underneath */
.dir-heading::after {
    content: attr(data-text);
    display: block;
    margin: -4px 0 0 10px;
    color: #e6e6e6;
}

.dir-body {
    margin: 0;
}

/* Red slogan */
.dir-slogan {
    margin: 80px 0 70px;
    text-align: center;
    font-family: 'Gochi Hand', 'Roboto', cursive;
    font-size: clamp(26px, 3vw, 48px);
    font-weight: 400;
    color: #cc0000;
    line-height: 1.3;
}

/* ---------- Tablet ---------- */
@media (max-width: 991px) {
    .dir-top {
        grid-template-columns: 1fr;
    }

    /* heading first, then paragraph */
    .dir-top-heading {
        order: -1;
        padding-left: 0;
        margin-bottom: 20px;
    }

    .dir-content {
        padding-top: 40px;
    }

    .dir-content p {
        font-size: 17px;
        line-height: 1.9;
    }

    .dir-slogan {
        margin: 55px 0 45px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
    .page-title-bar {
        padding: 20px 0;
    }

    .page-title-bar h1 {
        font-size: 24px;
    }

    /* text sits at the bottom of the photo on a soft white panel */
    .dir-hero {
        align-items: flex-end;
        min-height: 340px;
        background-position: 70% center;
    }

    .dir-hero-text {
        width: 100%;
        padding: 14px 15px;
        background: rgba(255, 255, 255, 0.85);
    }

    .dir-content p {
        font-size: 16px;
        line-height: 1.8;
        text-align: left;
    }
}

/* =====================================================
   COURSE DETAIL PAGE
   Needs the ".page-title-bar" styles from the Director Message page
   ===================================================== */

/* ---------- Banner ---------- */
.course-banner img {
    display: block;
    width: 100%;
    height: auto;
}

/* ---------- Intro text ---------- */
.course-intro {
    padding: 45px 0 20px;
    font-family: 'Roboto', Arial, sans-serif;
    color: #222;
}

.course-intro .container {
    max-width: 1100px;
}

.ci-title {
    margin: 0 0 14px;
    font-size: 19px;
    font-weight: 700;
    color: #222;
}

.ci-sub {
    margin: 26px 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: #222;
}

.course-intro p {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.7;
    color: #222;
}

.course-intro ul {
    margin: 0 0 14px;
    padding-left: 20px;
    font-size: 15px;
    line-height: 1.9;
    color: #222;
}

/* ---------- Course sections ---------- */
.cc-section {
    padding: 35px 0 15px;
    font-family: 'Roboto', Arial, sans-serif;
}

.cc-section .container {
    max-width: 1100px;
}

.cc-heading {
    margin: 0 0 12px;
    text-align: center;
    font-size: 28px;
    font-weight: 400;
    color: #111;
}

.cc-subheading {
    margin: 0 0 28px;
    text-align: center;
    font-size: 20px;
    color: #888;
}

/* ---------- Card ---------- */
.cc-card {
    height: 100%;
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.08);
    padding-bottom: 18px;
}

.cc-head {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    margin: 0 0 14px;
    padding: 6px 10px;
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.15;
    color: #fff;
}

.cc-red {
    background: #cc0000;
}

.cc-navy {
    background: #2d3561;
}

/* Small red line under the header */
.cc-note {
    margin: 0 0 6px;
    padding: 0 15px;
    text-align: center;
    font-size: 20px;
    color: #e03030;
}

.cc-after {
    margin: 10px 0 0;
    padding: 0 28px;
    font-size: 20px;
    color: #888;
}

/* ---------- Icon list ---------- */
.cc-list {
    list-style: none;
    margin: 0;
    padding: 6px 40px 0 28px;
}

.cc-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #eee;
}

.cc-item:last-child {
    border-bottom: 0;
}

.cc-item i {
    flex-shrink: 0;
    width: 22px;
    margin-top: 2px;
    text-align: center;
    font-size: 30px;
    color: #cc0000;
}

.cc-item strong {
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: #555;
}

.cc-item span {
    display: block;
    font-size: 15px;
    line-height: 1.7;
    color: #888;
}

/* ---------- Test Series list ---------- */
.cc-series {
    list-style: none;
    margin: 20px 0 0;
    padding: 0 28px;
}

.cc-series li {
    margin-bottom: 22px;
    font-size: 17px;
    font-weight: 700;
    color: #000;
}

/* ---------- Correspondence Course ---------- */
.cc-corr {
    padding: 35px 0 60px;
    text-align: center;
    font-family: 'Roboto', Arial, sans-serif;
}

.cc-corr .container {
    max-width: 1130px;
}

.cc-corr-bar {
    margin: 0 0 22px;
    padding: 8px 10px;
    background: #cc0000;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
}

.cc-corr-red {
    margin: 0 0 30px;
    font-size: 22px;
    color: #cc0000;
}

.cc-corr-docs {
    margin: 0 0 16px;
    font-size: 15px;
    color: #111;
}

/* ---------- Tablet ---------- */
@media (max-width: 991px) {
    .cc-heading {
        font-size: 25px;
    }

    .cc-head {
        font-size: 23px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
    .course-intro {
        padding-top: 30px;
    }

    .ci-title {
        font-size: 17px;
    }

    .cc-heading {
        font-size: 22px;
    }

    .cc-subheading {
        font-size: 16px;
    }

    .cc-head {
        min-height: 48px;
        font-size: 21px;
    }

    .cc-list {
        padding: 6px 18px 0 16px;
    }

    .cc-item {
        gap: 12px;
    }

    .cc-after {
        padding: 0 16px;
        font-size: 18px;
    }

    .cc-series {
        padding: 0 18px;
    }

    .cc-corr-bar {
        font-size: 22px;
    }

    .cc-corr-red {
        font-size: 17px;
    }
}


/* contact page css */

/* =====================================================
   CONTACT US PAGE
   Needs the ".page-title-bar" styles from the Director Message page
   ===================================================== */

/* ---------- Hero banner ---------- */
.ct-hero {
    display: flex;
    align-items: center;
    min-height: clamp(240px, 33vw, 500px);
    padding-left: 12vw;
    background:
        linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)),
        url('../img/contactback.jpg') center / cover no-repeat;
    font-family: 'Roboto', Arial, sans-serif;
}

.ct-hero h2 {
    max-width: 600px;
    margin: 0;
    text-align: center;
    font-size: clamp(26px, 3vw, 46px);
    font-weight: 400;
    line-height: 1.05;
    color: #c01818;
}

/* ---------- Get In Touch ---------- */
.ct-touch {
    padding: 60px 0 40px;
    font-family: 'Roboto', Arial, sans-serif;
}

.ct-touch .container {
    max-width: 1250px;
}

.ct-title {
    margin: 0 0 25px;
    text-align: center;
    font-size: clamp(30px, 3.4vw, 46px);
    font-weight: 400;
    color: #cc0000;
}

.ct-title-line {
    display: block;
    width: min(630px, 90%);
    height: 1px;
    margin: 0 auto 50px;
    background: #333;
}

/* ---------- Form card ---------- */
.ct-form-wrap {
    position: relative;
    padding-left: 135px;
    padding-top: 0;
}

.ct-env-icon {
    position: absolute;
    left: 0;
    top: -4px;
    font-size: 125px;
    line-height: 1;
    color: #ccc;
}

.ct-form-card {
    background: #fff;
    padding: 35px 38px;
    box-shadow: 0 8px 35px rgba(0, 0, 0, 0.16);
}

.ct-form input,
.ct-form textarea {
    display: block;
    width: 100%;
    margin-bottom: 14px;
    padding: 11px 14px;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 15px;
    color: #222;
    background: #fafafa;
    border: 1px solid #ddd;
    border-radius: 3px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.ct-form textarea {
    min-height: 120px;
    resize: vertical;
}

.ct-form input:focus,
.ct-form textarea:focus {
    background: #fff;
    border-color: #cc0000;
    box-shadow: 0 0 0 3px rgba(204, 0, 0, 0.12);
}

.ct-send {
    padding: 11px 32px;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    background: #cc0000;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.2s;
}

.ct-send:hover {
    background: #000;
}

/* ---------- Call / Mail boxes ---------- */
.ct-info-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 487px;
    margin: 0 0 15px 5px;
    padding: 14px 10px 16px;
    background: #f0f0f0;
    text-align: center;
}

.ct-info-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-bottom: 4px;
    border-radius: 50%;
    background: #cc0000;
    color: #fff;
    font-size: 14px;
}

.ct-info-box strong {
    font-size: 16px;
    font-weight: 500;
    color: #000;
}

.ct-info-box a {
    font-size: 15px;
    color: #111;
    text-decoration: none;
}

.ct-info-box a:hover {
    color: #cc0000;
}

/* ---------- Top map + social ---------- */
.ct-map-top {
    display: block;
    width: 100%;
    max-width: 497px;
    height: 140px;
    margin-top: 22px;
    border: 0;
}

.ct-social {
    position: relative;
    max-width: 505px;
    margin-top: 38px;
    text-align: center;
}

.ct-fb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #cc0000;
    color: #fff;
    font-size: 22px;
    text-decoration: none;
    transition: background 0.2s;
}

.ct-fb:hover {
    background: #000;
    color: #fff;
}

.ct-phone-icon {
    position: absolute;
    right: -5px;
    top: -35px;
    font-size: 100px;
    line-height: 1;
    color: #d8d8d8;
}

/* ---------- Branches ---------- */
.ct-branches {
    padding: 50px 0 60px;
    font-family: 'Roboto', Arial, sans-serif;
}

.ct-branches .container {
    max-width: 1130px;
}

.ct-branch {
    padding: 0 12px 10px;
    text-align: center;
    border-right: 1px dashed #cc0000;
}

.ct-branch:last-child {
    border-right: 0;
}

.ct-branch h3 {
    margin: 0 0 14px;
    font-size: 30px;
    font-weight: 400;
    color: #111;
}

.ct-branch p {
    margin: 0 0 18px;
    font-size: 17px;
    line-height: 2;
    color: #777;
    text-align: justify;
}

.ct-branch .ct-phone {
    margin-top: 24px;
    margin-bottom: 28px;
    text-align: center;
}

.ct-branch .ct-phone a {
    color: #777;
    text-decoration: none;
}

.ct-branch iframe {
    display: block;
    width: 100%;
    height: 200px;
    border: 0;
}

/* ---------- Laptop ---------- */
@media (max-width: 1199px) {
    .ct-branch h3 {
        font-size: 24px;
    }

    .ct-branch p {
        font-size: 15px;
        line-height: 1.8;
    }
}

/* ---------- Tablet ---------- */
@media (max-width: 991px) {
    .ct-hero {
        padding: 0 25px;
        justify-content: center;
    }

    .ct-touch {
        padding-top: 45px;
    }

    .ct-title-line {
        margin-bottom: 35px;
    }

    .ct-info-box,
    .ct-map-top,
    .ct-social {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    /* branches stack: dashed line moves to the bottom */
    .ct-branch {
        padding: 0 10px 35px;
        margin-bottom: 35px;
        border-right: 0;
        border-bottom: 1px dashed #cc0000;
    }

    .ct-branch:last-child {
        margin-bottom: 0;
        border-bottom: 0;
    }

    .ct-branch h3 {
        font-size: 26px;
    }

    .ct-branch p {
        font-size: 16px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 575px) {
    .ct-form-wrap {
        padding-left: 0;
    }

    .ct-env-icon {
        display: none;
    }

    .ct-form-card {
        padding: 24px 18px;
    }

    .ct-send {
        width: 100%;
    }

    .ct-phone-icon {
        font-size: 70px;
        top: -15px;
        right: 0;
    }

    .ct-branch p {
        text-align: left;
    }
}



/* admission page css */

/* =====================================================
   ADMISSION PAGE
   Needs the ".page-title-bar" styles from the Director Message page
   ===================================================== */

/* ---------- Hero banner ---------- */
.ad-hero {
    display: flex;
    align-items: center;
    min-height: clamp(320px, 34.5vw, 515px);
    background: url('../img/admissionbanner.jpg') center right / cover no-repeat;
    font-family: 'Roboto', Arial, sans-serif;
}

.ad-hero-text {
    width: 52%;
    text-align: center;
}

.ad-hero-text h2 {
    margin: 0 0 22px;
    font-size: clamp(26px, 3.1vw, 46px);
    font-weight: 300;
    color: #fff;
}

.ad-hero-text p {
    margin: 0 0 10px;
    font-size: clamp(20px, 2.4vw, 36px);
    color: #000;
}

.ad-year {
    display: inline-block;
    font-size: clamp(40px, 5vw, 76px);
    font-weight: 700;
    font-style: italic;
    line-height: 1;
    color: #ffe21a;
}

/* ---------- Courses (2 columns + image) ---------- */
.ad-courses {
    padding: 90px 0 80px;
    font-family: 'Roboto', Arial, sans-serif;
}

.ad-courses .container,
.ad-lists .container {
    max-width: 1130px;
}

.ad-course h3 {
    margin: 0 0 24px;
    font-size: clamp(26px, 2.5vw, 36px);
    font-weight: 700;
    line-height: 1;
    color: #cc0000;
}

.ad-course p {
    margin: 0;
    font-size: 20px;
    color: #000;
}

/* black divider line between the two items in a column */
.ad-course:first-child {
    padding-bottom: 55px;
    margin-bottom: 55px;
    border-bottom: 1px solid #222;
}

.ad-center-img {
    max-height: 380px;
    width: auto;
}

/* ---------- 10th Regular Batch band ---------- */
.ad-band {
    padding: 75px 0;
    background: linear-gradient(100deg, #78c4e4 0%, #cbe8f5 50%, #ffffff 100%);
    font-family: 'Roboto', Arial, sans-serif;
}

.ad-band .container {
    max-width: 1130px;
}

.ad-band-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 97px minmax(0, 1.3fr);
    align-items: center;
    gap: 40px;
}

.ad-band-text h2 {
    margin: 0 0 18px;
    font-size: clamp(28px, 2.7vw, 40px);
    font-weight: 700;
    color: #000;
}

.ad-band-text p {
    margin: 0;
    font-size: clamp(22px, 2vw, 30px);
    color: #ff1a1a;
}

.ad-dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 97px;
    height: 97px;
    border-radius: 50%;
    background: #22b52f;
    color: #fff;
    font-size: 40px;
    transition: transform 0.25s, background 0.25s;
}

.ad-dot:hover {
    background: #1a9626;
    transform: scale(1.06);
}

@media (max-width: 767px) {
    .ad-dot {
        width: 60px;
        height: 60px;
        font-size: 24px;
    }
}

.ad-band-btn {
    padding: 14px 20px;
    border-radius: 10px;
    background: #a81c1c;
    text-align: center;
    font-size: clamp(26px, 2.7vw, 40px);
    font-weight: 700;
    color: #fff;
}

/* ---------- 8th-10th + Foundation lists ---------- */
.ad-lists {
    padding: 75px 0 90px;
    font-family: 'Roboto', Arial, sans-serif;
}

.ad-list-title {
    margin: 0 0 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #222;
    font-size: clamp(26px, 2.5vw, 36px);
    font-weight: 700;
    line-height: 1.05;
    color: #cc0000;
}

.ad-list {
    margin: 0;
    padding-left: 22px;
    font-size: 20px;
    line-height: 1.75;
    color: #000;
}

.ad-list li {
    padding-left: 4px;
    margin-bottom: 2px;
}

/* ---------- Tablet ---------- */
@media (max-width: 991px) {
    .ad-hero-text {
        width: 62%;
    }

    .ad-courses {
        padding: 55px 0 45px;
    }

    .ad-courses .row,
    .ad-lists .row {
        --bs-gutter-y: 2rem;
    }

    .ad-course:first-child {
        padding-bottom: 35px;
        margin-bottom: 35px;
    }

    /* keep the decorative images small on tablet */
    .ad-center-img {
        max-height: 260px;
    }

    .ad-band {
        padding: 50px 0;
    }

    .ad-band-inner {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 25px;
        text-align: center;
    }

    .ad-band-btn {
        width: 100%;
    }

    .ad-lists {
        padding: 50px 0 60px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {

    /* text sits at the bottom of the banner on a soft panel */
    .ad-hero {
        align-items: flex-end;
        min-height: 360px;
        background-position: 75% center;
    }

    .ad-hero-text {
        width: 100%;
        padding: 18px 15px;
        background: rgba(60, 80, 200, 0.55);
    }

    .ad-hero-text h2 {
        margin-bottom: 8px;
    }

    .ad-hero-text p {
        color: #fff;
    }

    .ad-course p,
    .ad-list {
        font-size: 17px;
    }

    .ad-dot {
        width: 60px;
        height: 60px;
    }
}


/* schollarship page css */

/* =====================================================
   SCHOLARSHIP RULES PAGE
   Needs the ".page-title-bar" styles from the Director Message page
   ===================================================== */

/* ---------- Hero banner ---------- */
.sr-hero {
    display: flex;
    align-items: center;
    min-height: clamp(240px, 28vw, 450px);
    padding-left: 7vw;
    background:
        linear-gradient(rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.45)),
        url('../img/scholarshipbanner.png') center top / cover no-repeat;
    font-family: 'Roboto', Arial, sans-serif;
}

.sr-hero h2 {
    max-width: 520px;
    margin: 0;
    text-align: center;
    font-size: clamp(24px, 2.7vw, 42px);
    font-weight: 400;
    line-height: 1.1;
    color: #cc1c1c;
}

/* ---------- Content ---------- */
.sr-content {
    padding: 55px 0 70px;
    font-family: 'Roboto', Arial, sans-serif;
    color: #222;
}

.sr-content .container {
    max-width: 1100px;
}

.sr-title {
    margin: 0 0 30px;
    font-size: 32px;
    font-weight: 400;
    color: #111;
}

.sr-head {
    margin: 30px 0 14px;
    font-size: 15px;
    font-weight: 700;
    color: #111;
}

.sr-content p {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 1.75;
    text-align: justify;
}

/* ---------- Lists ---------- */
.sr-list,
.sr-bullets {
    margin: 0 0 22px;
    padding-left: 38px;
    font-size: 16px;
    line-height: 1.75;
    text-align: justify;
}

.sr-list li,
.sr-bullets li {
    margin-bottom: 9px;
    padding-left: 6px;
}

.sr-upper {
    list-style-type: upper-alpha;
}

.sr-lower {
    list-style-type: lower-alpha;
}

.sr-bullets {
    list-style-type: disc;
}

/* paragraphs inside a lettered item */
.sr-list li p {
    margin: 8px 0 0;
}

/* sub-points under "Refund After Start of Course" */
.sr-list li p.sr-sub {
    margin-left: 18px;
}

/* a-d calculation list */
.sr-calc li {
    font-weight: 600;
}

/* ---------- Tablet ---------- */
@media (max-width: 991px) {
    .sr-hero {
        padding: 0 25px;
        justify-content: center;
    }

    .sr-content {
        padding: 40px 0 55px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 575px) {
    .sr-title {
        font-size: 26px;
    }

    .sr-content p,
    .sr-list,
    .sr-bullets {
        font-size: 14px;
        text-align: left;
    }

    .sr-list,
    .sr-bullets {
        padding-left: 28px;
    }

    .sr-list li p.sr-sub {
        margin-left: 0;
    }
}

/* vidylankar-scholarship-admission-test-vsat.php */

/* =====================================================
   VSAT PAGE
   Needs the ".page-title-bar" styles from the Director Message page
   ===================================================== */

/* ---------- Hero banner ---------- */
.vs-hero {
    display: flex;
    align-items: center;
    min-height: clamp(260px, 31.5vw, 550px);
    background: url('../img/vastbanner.png') center top / cover no-repeat;
    font-family: 'Roboto', Arial, sans-serif;
}

.vs-hero-text {
    width: 62%;
    text-align: center;
}

.vs-hero-text h2 {
    margin: 0 0 clamp(18px, 3vw, 50px);
    font-size: clamp(28px, 3.1vw, 54px);
    font-weight: 500;
    line-height: 0.98;
    color: #cc0000;
}

.vs-hero-text p {
    margin: 0;
    font-size: clamp(16px, 1.75vw, 30px);
    font-weight: 700;
    color: #000;
}

/* ---------- Details section ---------- */
.vs-details {
    position: relative;
    padding: 55px 0 60px;
    font-family: 'Roboto', Arial, sans-serif;
    text-align: center;
}

.vs-details .container {
    max-width: 1140px;
}

/* graduation cap sits on the left edge */
.vs-cap {
    position: absolute;
    left: 0;
    top: 60px;
    width: clamp(160px, 18vw, 310px);
    height: auto;
}

.vs-sub {
    margin: 0 0 40px;
    font-size: clamp(26px, 2.3vw, 40px);
    font-weight: 400;
    color: #111;
}

.vs-line {
    display: block;
    width: min(720px, 90%);
    height: 1px;
    margin: 0 auto 38px;
    background: #333;
}

.vs-exam {
    margin: 0 0 48px;
    font-size: clamp(34px, 3.1vw, 54px);
    font-weight: 700;
    color: #cc0000;
}

/* ---------- Card with the exam list ---------- */
.vs-card {
    padding: 55px 30px;
    background: #fff;
    box-shadow: 0 0 28px rgba(0, 0, 0, 0.1);
}

.vs-list {
    display: table;
    /* centres the block, keeps the text left-aligned */
    margin: 0 auto;
    padding: 0;
    list-style: none;
    text-align: left;
}

.vs-list li {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-bottom: 8px;
    font-size: clamp(17px, 1.4vw, 24px);
    line-height: 1.7;
    color: #111;
}

.vs-list li:last-child {
    margin-bottom: 0;
}

.vs-list li i {
    flex-shrink: 0;
    font-size: 20px;
    color: #cc0000;
}

/* ---------- Venue ---------- */
.vs-venue {
    margin: 55px 0 0;
    font-size: clamp(16px, 1.3vw, 22px);
    color: #666;
}

.vs-venue strong {
    color: #444;
}

/* ---------- Gold bar ---------- */
.vs-gold-wrap {
    padding: 0 13px 14px;
}

.vs-gold {
    padding: 22px 15px;
    background: #dbbb0e;
    text-align: center;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: clamp(22px, 2.7vw, 46px);
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}

/* ---------- Tablet ---------- */
@media (max-width: 991px) {
    .vs-hero-text {
        width: 100%;
        padding: 0 25px;
    }

    /* cap becomes a centred decoration above the heading */
    .vs-cap {
        position: static;
        display: block;
        width: 170px;
        margin: 0 auto 20px;
    }

    .vs-details {
        padding: 35px 0 45px;
    }

    .vs-card {
        padding: 35px 20px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 575px) {
    .vs-hero {
        min-height: 300px;
    }

    .vs-hero-text {
        padding: 0 15px;
    }

    .vs-list li {
        gap: 14px;
    }

    .vs-list li i {
        font-size: 15px;
    }

    .vs-card {
        padding: 28px 14px;
    }

    .vs-venue {
        margin-top: 35px;
    }
}

/* branches */

/* =====================================================
   BRANCHES PAGE
   Needs the ".page-title-bar" styles from the Director Message page
   ===================================================== */

/* ---------- Hero banner ---------- */
.br-hero {
    display: grid;
    grid-template-columns: 50.6% 36% 1fr;
    align-items: center;
    min-height: clamp(300px, 34vw, 520px);
    background: linear-gradient(rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.45)),
        url('../img/branchesbanner.jpg') center / cover no-repeat;
    font-family: 'Roboto', Arial, sans-serif;
}

.br-hero-text {
    padding: 0 2vw 0 6vw;
    text-align: center;
}

.br-hero-text h2 {
    margin: 0 0 22px;
    font-size: clamp(30px, 3.6vw, 54px);
    font-weight: 400;
    line-height: 1.1;
    color: #cc0000;
}

.br-hero-text p {
    margin: 0;
    font-size: clamp(16px, 1.45vw, 22px);
    line-height: 1.55;
    color: #000;
}

.br-hero-img img {
    display: block;
    width: 100%;
    height: auto;
}

/* ---------- Branch list ---------- */
.br-list {
    padding: 55px 0 70px;
    font-family: 'Roboto', Arial, sans-serif;
}

.br-list .container {
    max-width: 1100px;
}

.br-title {
    margin: 0 0 18px;
    font-size: clamp(26px, 2.4vw, 36px);
    font-weight: 400;
    color: #111;
}

.br-title-line {
    display: block;
    width: 190px;
    height: 1px;
    margin-bottom: 70px;
    background: #cc0000;
}

/* map on the left, rounded card on the right, map overlaps the card */
.br-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 75px;
}

.br-map {
    position: relative;
    z-index: 2;
    flex: 0 0 340px;
    height: 205px;
    margin-top: 30px;
    margin-left: 15px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
}

.br-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.br-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex: 1;
    min-height: 158px;
    margin-left: -36px;
    padding: 20px 40px 22px 58px;
    background: #fff;
    border-radius: 32px;
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.12);
}

.br-pin {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ececec;
    color: #cc0000;
    font-size: 22px;
}

.br-body h3 {
    margin: 0 0 18px;
    padding-top: 4px;
    font-size: clamp(22px, 1.9vw, 28px);
    font-weight: 500;
    color: #111;
}

.br-body p {
    margin: 0;
    font-size: clamp(15px, 1.3vw, 19px);
    line-height: 1.75;
    color: #777;
}

/* ---------- Follow Us ---------- */
.br-follow {
    margin-top: 10px;
}

.br-follow+.br-title-line {
    margin-bottom: 35px;
}

.br-social {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.br-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #fafafa;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    color: #cc0000;
    font-size: 28px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.br-social a:hover {
    background: #cc0000;
    color: #fff;
}

/* ---------- Tablet ---------- */
@media (max-width: 991px) {
    .br-hero {
        grid-template-columns: 1fr;
        padding: 40px 20px;
        gap: 25px;
    }

    .br-hero-text {
        padding: 0;
    }

    .br-hero-img {
        width: min(480px, 100%);
        margin: 0 auto;
    }

    .br-title-line {
        margin-bottom: 45px;
    }

    .br-item {
        margin-bottom: 55px;
    }

    .br-map {
        flex-basis: 280px;
        height: 190px;
        margin-left: 0;
    }
}

/* ---------- Mobile: map on top, card below ---------- */
@media (max-width: 767px) {
    .br-item {
        flex-direction: column;
        margin-bottom: 40px;
    }

    .br-map {
        flex-basis: auto;
        width: 100%;
        height: 220px;
        margin: 0;
    }

    .br-card {
        width: 100%;
        min-height: 0;
        margin: -20px 0 0;
        padding: 40px 20px 22px;
        border-radius: 22px;
    }

    .br-pin {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }
}

/* testimonials */

/* =====================================================
   TESTIMONIALS PAGE
   Needs the ".page-title-bar" styles from the Director Message page
   ===================================================== */

/* ---------- Hero banner ---------- */
.tm-hero {
    display: flex;
    align-items: center;
    min-height: clamp(300px, 42vw, 530px);
    padding-left: 13.6vw;
    background:
        linear-gradient(rgba(254, 254, 254, 0.507), rgba(225, 223, 223, 0.879)),
        url('../img/testimonialsbanner.jpg') center / cover no-repeat;
    font-family: 'Roboto', Arial, sans-serif;
}

.tm-hero-text h2 {
    margin: 0 0 22px;
    font-size: clamp(28px, 3.1vw, 56px);
    font-weight: 400;
    line-height: 0.98;
    color: #cc0000;
}

.tm-hero-text p {
    margin: 0;
    font-size: clamp(18px, 2vw, 34px);
    font-weight: 700;
    color: #000;
}

/* ---------- Testimonial cards ---------- */
.tm-section {
    padding: 60px 0 70px;
    font-family: 'Roboto', Arial, sans-serif;
}

.tm-section .container {
    max-width: 1140px;
}

.tm-title {
    margin: 0 0 55px;
    text-align: center;
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 700;
    color: #111;
}

/* spacing between rows (each card keeps its own height) */
.tm-row {
    margin-bottom: 20px;
}

.tm-card {
    padding: 28px 22px 24px;
    background: #fff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.tm-card p {
    margin: 0 0 16px;
    font-size: 17px;
    line-height: 1.75;
    color: #222;
}

.tm-card h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #b30000;
}

/* ---------- Tablet / mobile ---------- */
@media (max-width: 991px) {
    .tm-hero {
        padding: 0 25px;
    }

    .tm-section {
        padding: 40px 0 50px;
    }

    .tm-title {
        margin-bottom: 35px;
    }
}

@media (max-width: 767px) {
    .tm-row {
        --bs-gutter-y: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .tm-card {
        padding: 22px 16px 20px;
    }

    .tm-card p {
        font-size: 15.5px;
    }

    .tm-card h3 {
        font-size: 21px;
    }
}


/* rules and regulations css */

/* ---------- Page title bar ---------- */
.rr-title-bar {
    background: #f5f5f5;
    padding: 34px 0;
}

.rr-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

.rr-title-bar .rr-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.rr-title-bar h1 {
    font-size: 30px;
    font-weight: 400;
    color: #222;
}

.rr-breadcrumb {
    font-size: 13px;
    color: #333;
}

.rr-breadcrumb a {
    color: #333;
    text-decoration: none;
}

.rr-breadcrumb span {
    margin: 0 6px;
    color: #777;
}

/* ---------- Hero banner ---------- */
.rr-hero {
    position: relative;
    height: 450px;
    background: url("../img/rulesandregulation.png") center bottom / cover no-repeat #ddd;
}

.rr-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.75);
}

.rr-hero .rr-container {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.rr-hero h2 {
    color: #c0181d;
    font-size: 38px;
    font-weight: 400;
    padding-left: 35px;
    margin-top: 40px;
}

/* ---------- Rules ---------- */
.rr-rules {
    padding: 60px 0 40px;
}

.rr-rules .rr-inner {
    max-width: 960px;
    margin: 0 auto;
}

.rr-rules h2 {
    font-size: 36px;
    font-weight: 400;
    color: #111;
    margin-bottom: 25px;
}

.rr-rules ol {
    padding-left: 24px;
    color: #555;
    font-size: 16px;
}

.rr-rules ol>li {
    margin-bottom: 6px;
    line-height: 1.7;
}

.rr-rules ol.rr-sub {
    list-style-type: upper-alpha;
    margin-top: 6px;
    padding-left: 22px;
}

.rr-rules strong {
    color: #333;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
    .rr-hero {
        height: 260px;
    }

    .rr-hero h2 {
        font-size: 28px;
        padding-left: 0;
    }

    .rr-rules h2 {
        font-size: 28px;
    }

    .rr-title-bar h1 {
        font-size: 24px;
    }
}


/* facilities */

.fc-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ---------- Title bar ---------- */
.fc-title-bar {
    background: #f5f5f5;
    padding: 34px 0;
}

.fc-title-bar .fc-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.fc-title-bar h1 {
    font-size: 30px;
    font-weight: 400;
    color: #222;
}

.fc-breadcrumb {
    font-size: 13px;
    color: #333;
}

.fc-breadcrumb a {
    color: #333;
    text-decoration: none;
}

.fc-breadcrumb span {
    margin: 0 6px;
    color: #777;
}

/* ---------- Hero banner ---------- */
.fc-hero {
    position: relative;
    height: 460px;
    background: url("../img/facilitiesbanner.png") center / cover no-repeat #ddd;
}

.fc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.7);
}

.fc-hero-text {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 20px;
}

.fc-hero-text h2 {
    color: #cc0000;
    font-size: 48px;
    font-weight: 400;
    margin-top: 40px;
}

.fc-hero-text p {
    color: #000;
    font-size: 24px;
    font-weight: 700;
    margin: 40px 0 0 260px;
}

/* ---------- Facilities list ---------- */
.fc-facilities {
    padding: 50px 0 0;
    background: #fff;
}

.fc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

.fc-col:first-child {
    border-right: 1px dashed #777;
    padding-right: 30px;
}

.fc-col:last-child {
    padding-left: 30px;
}

.fc-item {
    display: flex;
    align-items: center;
    gap: 30px;
    min-height: 100px;
    padding: 15px 0;
    border-bottom: 1px solid #ccc;
}

.fc-item:last-child {
    border-bottom: none;
}

.fc-item img {
    width: 55px;
    height: 55px;
    object-fit: contain;
    flex-shrink: 0;
    opacity: 0.6;
}

.fc-item h3 {
    color: #cc0000;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.35;
    max-width: 430px;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
    .fc-hero {
        height: 320px;
    }

    .fc-hero-text h2 {
        font-size: 30px;
    }

    .fc-hero-text p {
        font-size: 18px;
        margin: 20px 0 0 0;
    }

    .fc-title-bar h1 {
        font-size: 24px;
    }

    .fc-grid {
        grid-template-columns: 1fr;
    }

    .fc-col:first-child {
        border-right: none;
        padding-right: 0;
    }

    .fc-col:last-child {
        padding-left: 0;
    }

    .fc-col:first-child .fc-item:last-child {
        border-bottom: 1px solid #ccc;
    }

    .fc-item {
        gap: 18px;
    }

    .fc-item h3 {
        font-size: 19px;
    }
}


/* result */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: #222;
    background: #fff;
    line-height: 1.4
}

img {
    max-width: 100%;
    display: block
}

/* ---------- Page banner ---------- */
.page-banner {
    position: relative;
    height: 580px;
    background: #f3dcc8 url("../img/blogbanner.jpg") center bottom/cover no-repeat;
    display: flex;
    align-items: flex-end;
}

.page-banner .title-bar {
    width: 100%;
    background: rgba(255, 255, 255, .85);
    padding: 18px 8%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.page-banner h1 {
    font-size: 22px;
    font-weight: 600
}

.breadcrumb {
    font-size: 13px;
    color: #777
}

.banner-text {
    position: absolute;
    left: 8%;
    top: 50%;
    transform: translateY(-50%);
    color: #c0392b;
    font-size: 40px;
    font-weight: 700;
}

.banner-text small {
    display: block;
    color: #fff;
    font-size: 25px;
    margin-top: 8px
}

/* ---------- Layout ---------- */
.container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 5px 15px 5px
}

.neet19-section {
    padding: 40px 15px 60px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.neet19-section * {
    box-sizing: border-box
}

.neet19-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.neet19-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.neet19-line {
    width: 70%;
    max-width: 1070px;
    height: 1px;
    background: #222;
    margin: 35px auto 70px;
}

/* ---------- Wrapper for all rows ---------- */
.neet19-wrap {
    max-width: 1550px;
    margin: 0 auto;
}

/* ---------- Row 1: three big rounded cards ---------- */
.neet19-top {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
}

.neet19-card {
    background: #fff;
    border-radius: 30px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .12);
    height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    transition: transform .3s, box-shadow .3s;
}

.neet19-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .2);
}

.neet19-card img {
    width: 100%;
    max-width: 300px;
    height: auto;
}

/* ---------- Row 2 and Row 3: bordered photo boxes ---------- */
.neet19-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 50px;
    margin-top: 100px;
    align-items: center;
}

.neet19-box {
    background: #fff;
    border: 1px solid #d10000;
    padding: 25px 20px 0;
    text-align: center;
}

.neet19-box img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

/* ---------- "& Many More..." ---------- */
.neet19-more {
    text-align: center;
    color: #e50c0c;
    font-size: 30px;
    font-weight: 700;
    margin: 0;
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .neet19-heading {
        font-size: 42px
    }

    .neet19-top {
        gap: 30px
    }

    .neet19-card {
        height: 280px
    }

    .neet19-row {
        gap: 25px;
        margin-top: 60px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .neet19-heading {
        font-size: 32px
    }

    .neet19-line {
        width: 90%;
        margin: 20px auto 40px
    }

    .neet19-top {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .neet19-card {
        height: auto;
        padding: 25px 15px
    }

    .neet19-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        margin-top: 35px
    }

    .neet19-more {
        font-size: 22px
    }
}

.jee19-section {
    padding: 40px 15px 50px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.jee19-section * {
    box-sizing: border-box
}

.jee19-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.jee19-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.jee19-line {
    width: 70%;
    max-width: 1070px;
    height: 1px;
    background: #222;
    margin: 35px auto 70px;
}

.jee19-wrap {
    max-width: 1250px;
    margin: 0 auto;
}

/* ---------- Top block: big topper card + 5 students ---------- */
.jee19-top {
    display: flex;
    align-items: flex-start;
    gap: 75px;
}

/* Big rounded topper card */
.jee19-topper {
    flex: 0 0 315px;
    background: #fff;
    border-radius: 30px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .12);
    padding: 25px 15px 15px;
    transition: transform .3s, box-shadow .3s;
}

.jee19-topper:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .2);
}

.jee19-topper img {
    width: 100%;
    height: auto;
}

/* Right side: 5 students + grey line under them */
.jee19-right {
    flex: 1;
    min-height: 450px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.jee19-five {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    align-items: center;
    justify-items: center;
}

.jee19-five img {
    width: 100%;
    max-width: 150px;
    height: auto;
}

.jee19-grey-line {
    width: 100%;
    height: 1px;
    background: #444;
}

/* ---------- Second block: row of 9 students ---------- */
.jee19-nine {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 20px;
    align-items: center;
    justify-items: center;
    margin-top: 90px;
}

.jee19-nine img {
    width: 100%;
    max-width: 130px;
    height: auto;
}

/* ---------- Third block: row of 11 students ---------- */
.jee19-eleven {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 15px;
    align-items: center;
    justify-items: center;
    margin-top: 70px;
}

.jee19-eleven img {
    width: 100%;
    max-width: 110px;
    height: auto;
}

/* ---------- Red divider at the bottom ---------- */
.jee19-red-line {
    width: 100%;
    height: 1px;
    background: #d10000;
    margin-top: 55px;
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .jee19-heading {
        font-size: 42px
    }

    .jee19-top {
        gap: 30px
    }

    .jee19-topper {
        flex: 0 0 250px
    }

    .jee19-right {
        min-height: 380px
    }

    .jee19-five {
        gap: 10px
    }

    .jee19-nine {
        grid-template-columns: repeat(5, 1fr);
        margin-top: 50px
    }

    .jee19-eleven {
        grid-template-columns: repeat(5, 1fr);
        margin-top: 40px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .jee19-heading {
        font-size: 32px
    }

    .jee19-line {
        width: 90%;
        margin: 20px auto 40px
    }

    .jee19-top {
        flex-direction: column;
        align-items: center;
        gap: 30px
    }

    .jee19-topper {
        flex: none;
        width: 270px
    }

    .jee19-right {
        width: 100%;
        min-height: 0;
        gap: 20px
    }

    .jee19-five {
        grid-template-columns: repeat(2, 1fr)
    }

    .jee19-nine {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 35px
    }

    .jee19-eleven {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 30px
    }
}


.xii19-section {
    padding: 40px 15px 50px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.xii19-section * {
    box-sizing: border-box
}

.xii19-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.xii19-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.xii19-line {
    width: 70%;
    max-width: 1070px;
    height: 1px;
    background: #222;
    margin: 35px auto 60px;
}

/* ---------- Photos: 8 per row, last row centred ---------- */
.xii19-wrap {
    max-width: 1750px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 45px;
}

.xii19-item {
    width: 12.5%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.xii19-item img {
    width: 100%;
    max-width: 150px;
    height: auto;
}

/* ---------- & Many More... ---------- */
.xii19-more {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    margin: 60px 0 0;
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {

    .xii19-heading,
    .xii19-more {
        font-size: 40px
    }

    .xii19-item {
        width: 25%
    }

    .xii19-wrap {
        row-gap: 30px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {

    .xii19-heading,
    .xii19-more {
        font-size: 30px
    }

    .xii19-line {
        width: 90%;
        margin: 20px auto 35px
    }

    .xii19-item {
        width: 50%
    }

    .xii19-more {
        margin-top: 35px
    }
}


.neet18-section {
    padding: 60px 15px 60px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.neet18-section * {
    box-sizing: border-box
}

/* ---------- Heading + line ---------- */
.neet18-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.neet18-line {
    width: 52%;
    max-width: 985px;
    height: 1px;
    background: #222;
    margin: 35px auto 75px;
}

/* ---------- Single image ---------- */
.neet18-box {
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .15);
}

.neet18-box img {
    display: block;
    width: 100%;
    height: auto;
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .neet18-heading {
        font-size: 42px
    }

    .neet18-line {
        width: 70%;
        margin: 30px auto 50px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .neet18-section {
        padding: 40px 12px
    }

    .neet18-heading {
        font-size: 30px
    }

    .neet18-line {
        width: 90%;
        margin: 20px auto 30px
    }
}

.board18-section {
    padding: 40px 15px 60px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.board18-section * {
    box-sizing: border-box
}

.board18-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.board18-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.board18-line {
    width: 52%;
    max-width: 985px;
    height: 1px;
    background: #222;
    margin: 35px auto 70px;
}

.board18-wrap {
    max-width: 1250px;
    margin: 0 auto;
}

/* ---------- Row 1: 7 students ---------- */
.board18-row1 {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 20px;
    align-items: start;
}

/* ---------- Row 2: 3 students + 2 boxes ---------- */
.board18-row2 {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 25px;
    align-items: end;
    margin-top: 50px;
}

/* ---------- Student photo ---------- */
.board18-student {
    text-align: center;
}

.board18-student img {
    width: 100%;
    max-width: 195px;
    height: auto;
    margin: 0 auto;
}

/* ---------- Red text boxes ---------- */
.board18-box {
    border: 1px solid #d10000;
    background: #fff;
    color: #d10000;
    text-align: center;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.05;
    padding: 40px 10px;
    max-width: 320px;
    width: 100%;
    margin: 65px auto;
}

/* ---------- Large desktop tweak ---------- */
@media (max-width:1400px) {
    .board18-box {
        font-size: 30px
    }
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .board18-heading {
        font-size: 42px
    }

    .board18-line {
        width: 70%;
        margin: 30px auto 50px
    }

    .board18-row1 {
        grid-template-columns: repeat(4, 1fr);
        row-gap: 35px
    }

    .board18-row2 {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 35px;
        align-items: start
    }

    .board18-box {
        font-size: 26px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .board18-heading {
        font-size: 30px
    }

    .board18-line {
        width: 90%;
        margin: 20px auto 30px
    }

    .board18-row1 {
        grid-template-columns: repeat(2, 1fr)
    }

    .board18-row2 {
        grid-template-columns: repeat(2, 1fr)
    }

    .board18-box {
        grid-column: 1 / -1;
        font-size: 24px
    }
}

.mht17-section {
    padding: 40px 15px 60px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.mht17-section * {
    box-sizing: border-box
}

.mht17-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.mht17-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.mht17-line {
    width: 52%;
    max-width: 985px;
    height: 1px;
    background: #222;
    margin: 35px auto 65px;
}

/* ---------- 3 cards per row ---------- */
.mht17-wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    row-gap: 85px;
}

.mht17-card {
    background: #fff;
    box-shadow: 0 4px 22px rgba(0, 0, 0, .12);
    min-height: 310px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    transition: transform .3s, box-shadow .3s;
}

.mht17-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .2);
}

.mht17-card img {
    width: 100%;
    max-width: 290px;
    height: auto;
}

/* ---------- & Many More... ---------- */
.mht17-more {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    margin: 60px 0 0;
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {

    .mht17-heading,
    .mht17-more {
        font-size: 40px
    }

    .mht17-line {
        width: 70%;
        margin: 30px auto 45px
    }

    .mht17-wrap {
        gap: 25px;
        row-gap: 40px
    }

    .mht17-card {
        min-height: 250px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {

    .mht17-heading,
    .mht17-more {
        font-size: 30px
    }

    .mht17-line {
        width: 90%;
        margin: 20px auto 30px
    }

    .mht17-wrap {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .mht17-card {
        min-height: 0;
        padding: 25px 15px
    }

    .mht17-more {
        margin-top: 35px
    }
}

.jee17-section {
    padding: 40px 15px 60px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.jee17-section * {
    box-sizing: border-box
}

.jee17-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.jee17-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.jee17-line {
    width: 52%;
    max-width: 985px;
    height: 1px;
    background: #222;
    margin: 35px auto 65px;
}

/* ---------- 5 cards in one row ---------- */
.jee17-wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px;
}

.jee17-card {
    background: #fff;
    box-shadow: 0 4px 22px rgba(0, 0, 0, .12);
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    transition: transform .3s, box-shadow .3s;
}

.jee17-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .2);
}

.jee17-card img {
    width: 100%;
    max-width: 250px;
    height: auto;
}

/* ---------- & Many More... ---------- */
.jee17-more {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 400;
    margin: 55px 0 0;
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {

    .jee17-heading,
    .jee17-more {
        font-size: 40px
    }

    .jee17-line {
        width: 70%;
        margin: 30px auto 45px
    }

    .jee17-wrap {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px
    }

    .jee17-card {
        min-height: 250px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {

    .jee17-heading,
    .jee17-more {
        font-size: 30px
    }

    .jee17-line {
        width: 90%;
        margin: 20px auto 30px
    }

    .jee17-wrap {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px
    }

    .jee17-card {
        min-height: 0;
        padding: 15px 10px
    }

    .jee17-more {
        margin-top: 35px
    }
}

.jee17all-section {
    padding: 40px 0px 60px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.jee17all-section * {
    box-sizing: border-box
}

.jee17all-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.jee17all-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.jee17all-line {
    width: 55%;
    max-width: 1070px;
    height: 1px;
    background: #222;
    margin: 35px auto 70px;
}

/* ---------- 7 students per row ---------- */
.jee17all-wrap {
    max-width: 1250px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 35px 20px;
    align-items: center;
    justify-items: center;
}

.jee17all-wrap img {
    width: 100%;
    max-width: 215px;
    height: auto;
}

/* ---------- Large desktop ---------- */
@media (max-width:1400px) {
    .jee17all-wrap img {
        max-width: 180px
    }
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .jee17all-heading {
        font-size: 42px
    }

    .jee17all-line {
        width: 70%;
        margin: 30px auto 45px
    }

    .jee17all-wrap {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px 15px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .jee17all-heading {
        font-size: 30px
    }

    .jee17all-line {
        width: 90%;
        margin: 20px auto 30px
    }

    .jee17all-wrap {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 10px
    }
}


.ach16-section {
    padding: 40px 15px 60px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.ach16-section * {
    box-sizing: border-box
}

.ach16-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.ach16-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.ach16-line {
    width: 56%;
    max-width: 1070px;
    height: 1px;
    background: #222;
    margin: 35px auto 70px;
}

/* ---------- 3 photos in one row ---------- */
.ach16-wrap {
    max-width: 1350px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    align-items: center;
    justify-items: center;
}

.ach16-wrap img {
    width: 100%;
    max-width: 540px;
    height: auto;
    transition: transform .3s;
}

.ach16-wrap img:hover {
    transform: scale(1.03);
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .ach16-heading {
        font-size: 42px
    }

    .ach16-line {
        width: 70%;
        margin: 30px auto 45px
    }

    .ach16-wrap {
        gap: 20px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .ach16-heading {
        font-size: 30px
    }

    .ach16-line {
        width: 90%;
        margin: 20px auto 30px
    }

    .ach16-wrap {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .ach16-wrap img {
        max-width: 100%
    }
}

.mht16-section,
.jeeadv16-section {
    padding: 40px 15px 50px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.mht16-section *,
.jeeadv16-section * {
    box-sizing: border-box
}

.mht16-section img,
.jeeadv16-section img {
    max-width: 100%;
    display: block
}

/* ---------- Headings + lines ---------- */
.mht16-heading,
.jeeadv16-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.mht16-line,
.jeeadv16-line {
    width: 56%;
    max-width: 1070px;
    height: 1px;
    background: #222;
    margin: 35px auto 65px;
}

/* ---------- Card grids ---------- */
.mht16-wrap,
.jeeadv16-wrap {
    max-width: 1750px;
    margin: 0 auto;
    display: grid;
    gap: 50px;
}

.mht16-wrap {
    grid-template-columns: repeat(6, 1fr)
}

.jeeadv16-wrap {
    grid-template-columns: repeat(5, 1fr)
}

/* ---------- Cards ---------- */
.mht16-card,
.jeeadv16-card {
    background: #fff;
    box-shadow: 0 4px 22px rgba(0, 0, 0, .12);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    transition: transform .3s, box-shadow .3s;
}

.mht16-card {
    min-height: 275px
}

.jeeadv16-card {
    min-height: 325px
}

.mht16-card:hover,
.jeeadv16-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .2);
}

.mht16-card img {
    width: 100%;
    max-width: 215px;
    height: auto
}

.jeeadv16-card img {
    width: 100%;
    max-width: 270px;
    height: auto
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {

    .mht16-heading,
    .jeeadv16-heading {
        font-size: 42px
    }

    .mht16-line,
    .jeeadv16-line {
        width: 70%;
        margin: 30px auto 45px
    }

    .mht16-wrap,
    .jeeadv16-wrap {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px
    }

    .mht16-card,
    .jeeadv16-card {
        min-height: 0
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {

    .mht16-heading,
    .jeeadv16-heading {
        font-size: 30px
    }

    .mht16-line,
    .jeeadv16-line {
        width: 90%;
        margin: 20px auto 30px
    }

    .mht16-wrap,
    .jeeadv16-wrap {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px
    }
}

.ach15-section {
    padding: 40px 15px 60px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.ach15-section * {
    box-sizing: border-box
}

.ach15-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.ach15-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.ach15-line {
    width: 56%;
    max-width: 1070px;
    height: 1px;
    background: #222;
    margin: 35px auto 70px;
}

/* ---------- Two big photos ---------- */
.ach15-top {
    max-width: 1450px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    align-items: center;
    justify-items: center;
}

.ach15-top img {
    width: 100%;
    max-width: 700px;
    height: auto;
}

/* ---------- 7 columns: 5 combined images + 2 single images ---------- */
.ach15-wrap {
    max-width: 1350px;
    margin: 80px auto 0;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px 20px;
    justify-items: center;
}

.ach15-wrap img {
    width: 100%;
    max-width: 215px;
    height: auto;
}

/* b3 to b7: tall images that run down both rows */
.ach15-tall {
    grid-row: 1 / span 2;
    align-self: start;
}

/* b8 and b9: top row only */
.ach15-single {
    grid-row: 1;
    align-self: start;
}

/* ---------- & Many More... ---------- */
.ach15-more {
    grid-column: 6 / span 2;
    grid-row: 2;
    align-self: center;
    text-align: center;
    color: #d10000;
    font-size: 42px;
    font-weight: 400;
    line-height: 1.1;
    margin: 0;
}

/* ---------- Large desktop ---------- */
@media (max-width:1400px) {
    .ach15-more {
        font-size: 40px
    }
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .ach15-heading {
        font-size: 36px
    }

    .ach15-line {
        width: 70%;
        margin: 30px auto 45px
    }

    .ach15-top {
        gap: 20px
    }

    .ach15-wrap {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px 15px;
        margin-top: 50px;
    }

    .ach15-tall,
    .ach15-single {
        grid-row: auto;
        align-self: center
    }

    .ach15-more {
        grid-column: 1 / -1;
        grid-row: auto;
        font-size: 36px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .ach15-heading {
        font-size: 24px
    }

    .ach15-line {
        width: 90%;
        margin: 20px auto 30px
    }

    .ach15-top {
        grid-template-columns: 1fr
    }

    .ach15-wrap {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 10px
    }

    .ach15-more {
        font-size: 28px
    }
}


.ach14-section {
    padding: 40px 15px 60px;
    background: #fff;
    font-family: Roboto, Arial, Helvetica, sans-serif;
}

.ach14-section * {
    box-sizing: border-box
}

.ach14-section img {
    max-width: 100%;
    display: block
}

/* ---------- Heading + line ---------- */
.ach14-heading {
    text-align: center;
    color: #d10000;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.ach14-line {
    width: 56%;
    max-width: 1070px;
    height: 1px;
    background: #222;
    margin: 35px auto 70px;
}

/* ---------- Two big photos ---------- */
.ach14-top {
    max-width: 1250px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
    align-items: center;
    justify-items: center;
}

.ach14-top img {
    width: 100%;
    max-width: 640px;
    height: auto;
}

/* ---------- Students: 7 per row ---------- */
.ach14-wrap {
    max-width: 1250px;
    margin: 80px auto 0;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 35px 20px;
    align-items: center;
    justify-items: center;
}

.ach14-wrap img {
    width: 100%;
    max-width: 215px;
    height: auto;
}

/* ---------- & Many More... ---------- */
.ach14-more {
    text-align: center;
    color: #d10000;
    font-size: 42px;
    font-weight: 400;
    line-height: 1.1;
    margin: 0;
}

/* ---------- Large desktop ---------- */
@media (max-width:1400px) {
    .ach14-more {
        font-size: 36px
    }
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .ach14-heading {
        font-size: 36px
    }

    .ach14-line {
        width: 70%;
        margin: 30px auto 45px
    }

    .ach14-top {
        gap: 20px
    }

    .ach14-wrap {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px 15px;
        margin-top: 50px;
    }

    .ach14-more {
        font-size: 32px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .ach14-heading {
        font-size: 24px
    }

    .ach14-line {
        width: 90%;
        margin: 20px auto 30px
    }

    .ach14-top {
        grid-template-columns: 1fr
    }

    .ach14-wrap {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 10px
    }

    .ach14-more {
        font-size: 26px
    }
}


/* new and events */

.news-page * {
    box-sizing: border-box
}

.news-page {
    font-family: Roboto, Arial, Helvetica, sans-serif;
    color: #222;
    background: #fff;
}

.news-page img {
    max-width: 100%;
    display: block
}

/* ---------- Title bar ---------- */
.news-titlebar {
    background: #f5f5f5;
    padding: 30px 8%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.news-titlebar h1 {
    font-size: 32px;
    font-weight: 400;
    color: #333;
    margin: 0;
}

.news-breadcrumb {
    font-size: 13px;
    color: #555
}

/* ---------- Banner ---------- */
.news-banner {
    position: relative;
    min-height: 600px;
    background:
        linear-gradient(rgba(197, 195, 195, 0.88), rgba(223, 215, 215, 0.88)),
        url("../img/newsbanner.png") center/cover no-repeat;
    display: flex;
    align-items: center;    
    display: flex;
    align-items: center;
}

.news-banner-text {
    position: absolute;
    left: 7%;
    top: 50%;
    transform: translateY(-50%);
    max-width: 700px;
}

.news-banner-text h2 {
    color: #d10000;
    font-size: 46px;
    font-weight: 400;
    line-height: 1.1;
    margin: 0 0 55px;
}

.news-banner-text p {
    color: #000;
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 0 85px;
}

/* ---------- Section headings ---------- */
.news-section {
    padding: 60px 15px 40px
}

.news-heading {
    text-align: center;
    color: #111;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
}

.news-line {
    width: 42%;
    max-width: 800px;
    height: 1px;
    background: #555;
    margin: 30px auto 55px;
}

/* ---------- Parents Meeting ---------- */
.news-parents {
    max-width: 1100px;
    margin: 0 auto;
}

.news-parents img {
    width: 100%;
    height: auto;
    margin: 0 auto 30px;
}

.news-parents .news-p1 {
    max-width: 1260px
}

.news-parents .news-p2 {
    max-width: 1170px
}

/* ---------- Extensive Media Coverage ---------- */
.news-media-top {
    max-width: 1270px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
}

.news-media-col {
    padding: 20px;
    display: flex;
    justify-content: center;
}

.news-media-col+.news-media-col {
    border-left: 1px dotted #777;
}

.news-media-col img {
    width: 100%;
    max-width: 520px;
    height: auto;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .2);
}

.news-dotted {
    width: 75%;
    max-width: 1450px;
    margin: 35px auto 50px;
    border: 0;
    border-top: 1px dotted #b04a8a;
}

.news-media-bottom {
    max-width: 1100px;
    margin: 0 auto;
}

.news-media-bottom img {
    width: 100%;
    height: auto;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .2);
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .news-banner {
        min-height: 420px
    }

    .news-banner-text h2 {
        font-size: 34px;
        margin-bottom: 30px
    }

    .news-banner-text p {
        font-size: 20px;
        margin-left: 40px
    }

    .news-heading {
        font-size: 30px
    }

    .news-line {
        width: 60%;
        margin: 25px auto 40px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .news-titlebar {
        padding: 20px 15px
    }

    .news-titlebar h1 {
        font-size: 24px
    }

    .news-banner {
        min-height: 300px
    }

    .news-banner-text {
        left: 5%;
        right: 5%
    }

    .news-banner-text h2 {
        font-size: 24px;
        margin-bottom: 15px
    }

    .news-banner-text p {
        font-size: 16px;
        margin-left: 0
    }

    .news-section {
        padding: 40px 12px 25px
    }

    .news-heading {
        font-size: 24px
    }

    .news-line {
        width: 85%
    }

    .news-media-top {
        grid-template-columns: 1fr
    }

    .news-media-col+.news-media-col {
        border-left: 0
    }

    .news-dotted {
        width: 90%
    }
}

/* vission mission css */

.vm-page * {
    box-sizing: border-box
}

.vm-page {
    font-family: Roboto, Arial, Helvetica, sans-serif;
    color: #111;
    background: #fff;
}

.vm-page img {
    max-width: 100%;
    display: block
}

/* ---------- Title bar ---------- */
.vm-titlebar {
    background: #f5f5f5;
    padding: 30px 8%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.vm-titlebar h1 {
    font-size: 32px;
    font-weight: 400;
    color: #333;
    margin: 0;
}

.vm-breadcrumb {
    font-size: 13px;
    color: #555
}

/* ---------- Banner (one image, two words on top) ---------- */
.vm-banner {
    position: relative;
    height: 530px;
    background: #bbb url("../img/vissionbanner.png") center/cover no-repeat;
}

/* soft white wash over the image, like your screenshot */
.vm-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, .45);
}

.vm-banner-word {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    color: #d10000;
    font-size: 56px;
    font-weight: 400;
    z-index: 1;
}

.vm-word-vision {
    left: 25%
}

.vm-word-mission {
    left: 62%
}

/* ---------- 2 x 2 block ---------- */
.vm-grid {
    max-width: 1000px;
    margin: 55px auto 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.vm-img {
    min-height: 535px;
    overflow: hidden;
}

.vm-img img {
    width: 100%;
    height: 100%;
    min-height: 535px;
    object-fit: cover;
}

.vm-text {
    background: #f5f5f5;
    min-height: 535px;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.vm-text h2 {
    color: #d10000;
    font-size: 38px;
    font-weight: 700;
    margin: 0 0 25px;
}

.vm-text p {
    font-size: 18px;
    line-height: 2.1;
    color: #111;
    margin: 0;
    padding: 0 10px;
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .vm-banner {
        height: 380px
    }

    .vm-banner-word {
        font-size: 40px
    }

    .vm-grid {
        max-width: 92%
    }

    .vm-img,
    .vm-text,
    .vm-img img {
        min-height: 400px
    }

    .vm-text h2 {
        font-size: 30px
    }

    .vm-text p {
        font-size: 16px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .vm-titlebar {
        padding: 20px 15px
    }

    .vm-titlebar h1 {
        font-size: 24px
    }

    .vm-banner {
        height: 260px
    }

    .vm-banner-word {
        font-size: 28px
    }

    .vm-grid {
        grid-template-columns: 1fr;
        margin: 30px auto 50px
    }

    .vm-img,
    .vm-text,
    .vm-img img {
        min-height: 0
    }

    .vm-img img {
        height: auto
    }

    .vm-text {
        padding: 35px 15px
    }

    /* keep picture, then text, for both rows */
    .vm-order-1 {
        order: 1
    }

    .vm-order-2 {
        order: 2
    }

    .vm-order-3 {
        order: 4
    }

    .vm-order-4 {
        order: 3
    }
}

/* why choose vidyalankar classes */
.why-page * {
    box-sizing: border-box
}

.why-page {
    font-family: Roboto, Arial, Helvetica, sans-serif;
    color: #111;
    background: #fff;
}

.why-page img {
    max-width: 100%;
    display: block
}

/* ---------- Title bar ---------- */
.why-titlebar {
    background: #f5f5f5;
    padding: 30px 8%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.why-titlebar h1 {
    font-size: 32px;
    font-weight: 400;
    color: #333;
    margin: 0;
}

.why-breadcrumb {
    font-size: 13px;
    color: #555
}

/* ---------- Banner ---------- */
.why-banner {
    position: relative;
    height: 550px;
    background: #e8e8e8 url("../img/whychoosebanner.png") center/cover no-repeat;
}

.why-banner-text {
    position: absolute;
    left: 2.7%;
    top: 50%;
    transform: translateY(-50%);
}

.why-banner-text h2 {
    color: #d10000;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.1;
    margin: 0 0 45px;
}

.why-banner-text p {
    color: #000;
    font-size: 26px;
    font-weight: 500;
    margin: 10px 0 0 85px;
}

/* ---------- Two columns of features ---------- */
.why-features {
    max-width: 1150px;
    margin: 50px auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.why-col {
    list-style: none;
    margin: 0;
    padding: 0;
}

.why-col-left {
    padding-right: 32px;
    border-right: 1px dotted #555;
}

.why-col-right {
    padding-left: 32px;
}

.why-item {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    min-height: 100px;
    padding: 15px 0 25px;
    border-bottom: 1px solid #bbb;
}

.why-col li:last-child {
    border-bottom: 0
}

.why-item img {
    flex: 0 0 55px;
    width: 55px;
    height: auto;
    margin-top: 4px;
}

.why-item span {
    color: #d10000;
    font-size: 24px;
    line-height: 1.4;
    padding-top: 2px;
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {
    .why-banner {
        height: 400px
    }

    .why-banner-text h2 {
        font-size: 34px;
        margin-bottom: 28px
    }

    .why-banner-text p {
        font-size: 20px;
        margin-left: 40px
    }

    .why-features {
        max-width: 94%
    }

    .why-item {
        gap: 18px
    }

    .why-item span {
        font-size: 20px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .why-titlebar {
        padding: 20px 15px
    }

    .why-titlebar h1 {
        font-size: 22px
    }

    .why-banner {
        height: 280px
    }

    .why-banner-text {
        left: 5%;
        right: 5%
    }

    .why-banner-text h2 {
        font-size: 22px;
        margin-bottom: 14px
    }

    .why-banner-text p {
        font-size: 15px;
        margin-left: 0
    }

    .why-features {
        grid-template-columns: 1fr;
        margin-top: 30px
    }

    .why-col-left {
        padding-right: 0;
        border-right: 0
    }

    .why-col-right {
        padding-left: 0
    }

    .why-col li:last-child {
        border-bottom: 1px solid #bbb
    }

    .why-col-right li:last-child {
        border-bottom: 0
    }

    .why-item {
        min-height: 0;
        padding: 15px 0
    }

    .why-item img {
        flex-basis: 45px;
        width: 45px
    }

    .why-item span {
        font-size: 18px
    }
}


/* infrastructure css for 1st section only  */

/* ---------- Infrastructure hero banner ---------- */
.infrastructure {
    display: grid;
    grid-template-columns: 50.6% 36% 1fr;
    align-items: center;
    min-height: clamp(300px, 34vw, 520px);
    background: linear-gradient(rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.45)),
        url('../img/infrastructurebanner.png') center / cover no-repeat;
    font-family: 'Roboto', Arial, sans-serif;
}

.infrastructure-text {
    padding: 0 2vw 0 6vw;
    text-align: center;
}

.infrastructure-text h2 {
    margin: 0 0 22px;
    font-size: clamp(30px, 3.6vw, 54px);
    font-weight: 400;
    line-height: 1.1;
    color: #cc0000;
}

.infrastructure-text p {
    margin: 0;
    font-size: clamp(16px, 1.45vw, 22px);
    line-height: 1.55;
    color: #000;
}

.infrastructure-img img {
    display: block;
    width: 100%;
    height: auto;
}


/* top-11th-and-12th-science-coaching-classe-in-aurangabad */


.med-page * {
    box-sizing: border-box
}

.med-page {
    font-family: Roboto, Arial, Helvetica, sans-serif;
    color: #222;
    background: #fff;
}

.med-page img {
    max-width: 100%;
    display: block
}

/* ---------- Title bar ---------- */
.med-titlebar {
    background: #f5f5f5;
    padding: 30px 8%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.med-titlebar h1 {
    font-size: 32px;
    font-weight: 400;
    color: #333;
    margin: 0;
}

.med-breadcrumb {
    font-size: 13px;
    color: #555
}

/* ---------- Banner ---------- */
.med-banner img {
    width: 100%;
    height: auto;
}

/* ---------- Intro ---------- */
.med-intro {
    max-width: 1160px;
    margin: 0 auto;
    padding: 45px 15px 20px;
}

.med-intro h2 {
    text-align: center;
    font-size: 30px;
    font-weight: 400;
    color: #111;
    margin: 0 0 30px;
}

.med-intro p {
    font-size: 16px;
    line-height: 1.85;
    color: #777;
    margin: 0 0 22px;
}

.med-intro p strong {
    color: #222
}

/* ---------- Section headings ---------- */
.med-section {
    max-width: 1160px;
    margin: 0 auto;
    padding: 45px 15px 10px;
}

.med-section-title {
    text-align: center;
    font-size: 32px;
    font-weight: 400;
    color: #111;
    margin: 0;
}

.med-section-sub {
    text-align: center;
    font-size: 22px;
    color: #777;
    margin: 25px 0 35px;
}

.med-section-title+.med-cards {
    margin-top: 40px
}

/* ---------- Cards ---------- */
.med-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 55px;
}

.med-card {
    background: #fff;
    border: 1px solid #e6e6e6;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
    padding-bottom: 20px;
}

.med-card-head {
    background: #cc0000;
    color: #fff;
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.05;
    min-height: 50px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.med-card-head.navy {
    background: #2b3270
}

.med-card-note {
    text-align: center;
    color: #e04040;
    font-size: 19px;
    margin: 25px 10px 10px;
    text-transform: none;
}

.med-card-note.upper {
    text-transform: uppercase;
    font-size: 15px
}

.med-card-after {
    font-size: 18px;
    color: #666;
    margin: 15px 15px 0;
}

/* ---------- List inside a card ---------- */
.med-list {
    list-style: none;
    margin: 0;
    padding: 0 15px;
}

.med-list li {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 0 18px;
    border-bottom: 1px solid #ddd;
}

.med-list li:last-child {
    border-bottom: 0
}

.med-list i {
    flex: 0 0 22px;
    color: #cc0000;
    font-size: 25px;
    text-align: center;
    margin-top: 3px;
}

.med-list strong {
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: #222;
    line-height: 1.4;
}

.med-list span {
    display: block;
    font-size: 15px;
    color: #555;
    line-height: 1.6;
}

/* ---------- Test Series list ---------- */
.med-series {
    list-style: none;
    margin: 0;
    padding: 20px 15px 0;
}

.med-series li {
    font-size: 15px;
    font-weight: 700;
    color: #000;
    padding: 12px 0;
}

/* ---------- Correspondence Course ---------- */
.med-corr {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 15px 70px;
    text-align: center;
}

.med-corr-bar {
    background: #cc0000;
    color: #fff;
    font-size: 28px;
    font-weight: 500;
    padding: 6px 10px;
    margin: 0 0 25px;
}

.med-corr-main {
    color: #cc0000;
    font-size: 26px;
    margin: 0 0 35px;
}

.med-corr-text {
    font-size: 18px;
    color: #111;
    margin: 0 0 18px;
}

/* ---------- Tablet ---------- */
@media (max-width:1100px) {

    .med-intro h2,
    .med-section-title {
        font-size: 26px
    }

    .med-section-sub {
        font-size: 18px
    }

    .med-card-head {
        font-size: 24px
    }

    .med-corr-bar {
        font-size: 24px
    }

    .med-corr-main {
        font-size: 20px
    }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
    .med-titlebar {
        padding: 20px 15px
    }

    .med-titlebar h1 {
        font-size: 22px
    }

    .med-intro h2,
    .med-section-title {
        font-size: 22px
    }

    .med-cards {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .med-card-head {
        font-size: 22px
    }

    .med-corr-bar {
        font-size: 20px
    }

    .med-corr-main {
        font-size: 17px
    }
}

/* best-neet-classes-aurangabad
 */
.med-intro ul{
    margin:0 0 22px;
    padding-left:22px;
    font-size:17px;
    line-height:1.85;
    color:#777;
}

/* 8th-9th-and-10th-state-board-cbse */

/* ---------- School section extras ---------- */
.school-section .med-card{
    padding-bottom:30px;
}
.med-card-head.big{
    font-size:36px;
    min-height:60px;
}
.school-section .med-list{
    padding-top:20px;
}
.school-section .med-list li{
    padding:25px 0 22px;
}
.school-section .med-list strong{
    font-size:18px;
}
.school-section .med-list span{
    font-size:18px;
}
.school-section .med-list i{
    flex:0 0 28px;
    font-size:26px;
}
/* Timing row: no icon, but keep the text lined up */
.med-list li.no-icon{
    padding-left:44px;
}
/* Specialty row: label and text on one line */
.med-list li.inline strong,
.med-list li.inline span{
    display:inline;
}
@media (max-width:768px){
    .med-card-head.big{font-size:26px}
    .school-section .med-list strong,
    .school-section .med-list span{font-size:16px}
    .med-list li.no-icon{padding-left:38px}
}

/* photo gallery */

/* ---------- Photo Gallery page ---------- */
.gal-page *{box-sizing:border-box}
.gal-page{
    font-family:Roboto,Arial,Helvetica,sans-serif;
    color:#222;
    background:#fff;
}
.gal-page img{max-width:100%;display:block}

/* Title bar */
.gal-titlebar{
    background:#f5f5f5;
    padding:30px 8%;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.gal-titlebar h1{
    font-size:32px;
    font-weight:400;
    color:#333;
    margin:0;
}
.gal-breadcrumb{font-size:13px;color:#555}

/* Banner */
.gal-banner{
    position:relative;
    height:clamp(300px, 33vw, 510px);
    background:linear-gradient(rgba(255,255,255,.7), rgba(255,255,255,.7)),
        url('../img/photogallerybanner.jpg') center / cover no-repeat;
    display:flex;
    align-items:center;
}
.gal-banner h2{
    margin:0;
    padding:0 7%;
    color:#cc0000;
    font-size:clamp(28px, 3.6vw, 52px);
    font-weight:400;
    line-height:1.1;
}

/* Gallery grid */
.gal-section{
    max-width:1200px;
    margin:0 auto;
    padding:60px 15px 70px;
}
.gal-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px 50px;
    align-items:center;
    justify-items:center;
}
.gal-item img{
    width:100%;
    max-width:520px;
    height:auto;
    box-shadow:0 3px 14px rgba(0,0,0,.2);
}

/* Tablet */
@media (max-width:1100px){
    .gal-grid{gap:30px}
}

/* Mobile */
@media (max-width:768px){
    .gal-titlebar{padding:20px 15px}
    .gal-titlebar h1{font-size:22px}
    .gal-banner{height:260px}
    .gal-grid{grid-template-columns:1fr;gap:25px}
}