@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: "Roboto", sans-serif;
}

img {
    max-width: 100%;
    height: auto;
}

html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.hero {
    background: linear-gradient(180deg, #f4fbff 0%, #ffffff 100%);
    padding: 0;
    /* reduced height */
    height: 80vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero-container {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

.hero-content {
    flex: 1;
}

.hero-logo {
    display: flex;
    align-items: center;
    /* Align items centered vertically */
    gap: 10px;
    margin-bottom: 12px;
    margin-top: 0;
    /* Reset negative margin */
}

.logo-icon {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.logo-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    justify-content: center;
    padding-top: 4px;
}

.logo-mirai {
    font-size: 26px;
    font-weight: 700;
    color: #1e3a8a;
    line-height: 1;
}

.logo-subtitle {
    font-size: 10px;
    font-weight: 600;
    color: #64748b;
    letter-spacing: 2px;
    line-height: 1;
}

.hero-title {
    font-family: 'Inter', sans-serif;
    font-size: 400%;
    font-weight: 800;
    line-height: 1.08;
    color: #1e3a8a;
    margin-bottom: 8px;
}

.hero-badge {
    display: inline-block;
    padding: 6px 7px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    background: linear-gradient(to bottom, #3F51B5 0%, #00BCD4 100%);
    color: #ffffff;
    margin-bottom: 8px;
    line-height: 1;
}



/* Bullet points */
.hero-points {
    list-style: none;
    margin-bottom: 30px;
}

.hero-points li {
    margin-bottom: 10px;
    padding-left: 26px;
    position: relative;
    color: var(--text-muted);
}

.hero-points li::before {
    content: "✔";
    position: absolute;
    left: 0;
    color: var(--primary-blue);
    font-weight: 700;
}

/* Info cards */


/* Hero Info Grid */
.hero-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* gap: 10px; */
    column-gap: 20px;
    row-gap: 20px;
    margin-top: 10px;
    max-width: 600px;
    align-items: stretch;
    grid-auto-rows: 1fr;
}

.info-card {
    background: linear-gradient(180deg, #bae7f4 0%, rgb(228, 245, 250) 40%, rgb(255, 255, 255) 100%);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 12px;
    padding: 12px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 1.5px solid #3b82f6;
    box-shadow: 0 4px 15px rgba(0, 123, 255, 0.05);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}

.hero-subtitle p {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #475569;
    margin: 4px 0;
}

.hero-subtitle i {
    color: #2563eb;
    font-size: 16px;
    font-weight: 700;
}


.info-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 123, 255, 0.1);
}

.card-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
    flex-shrink: 0;
}

.card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.info-card h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 4px;
    text-transform: capitalize;
    line-height: 1.3;
}

.info-card p {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-main);
    line-height: 1.4;
    word-wrap: break-word;
}



/* Form */

.hero-form-container {
    height: auto;
    min-height: auto;
    /* margin-top: 100px; */
    width: 380px;
    margin-top: 15.8%;
    background: #ffffff;
    border-radius: 16px;
    padding: 20px;
    border: 1.5px solid #3b82f6;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    margin-right: 50px;
}

/* Tabs */
.form-header {
    display: flex;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 15px;
    margin-top: 10px;
}

.form-header a {
    flex: 1;
    padding: 12px;
    background: none;
    border: none;
    margin-top: 0;
    font-size: 16px;
    font-weight: 600;
    color: #6b7280;
    cursor: pointer;
    text-align:center;
}

.form-header a.active {
    color: #2563eb;
    border-bottom: 3px solid #2563eb;
    text-align:center;
}

/* Form fields */
.form-group {
    margin-bottom: 12px;
}

.form-group input,
.form-group select,
.dynamic_theme_block .form-control[disabled], .dynamic_theme_block .form-control[readonly], .dynamic_theme_block fieldset[disabled] .form-control{
    width: 100%;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1.5px solid #4fb6c2;
    background-color: #d9f2f6;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
    height: 38px;
}
input#Agree {display:inline-block;width:auto;vertical-align:middle;height: auto;margin-right: 4px;}
.dynamic_theme_block .panel-heading{
    display:none;
}
input#LoginAgree {display:inline-block;width:auto;height: auto;margin-right: 4px;vertical-align: middle;}
.dynamic_theme_block .fade{
    opacity:1 !important;
}
/* Phone field */
/* .phone-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

.country-code {
    min-width: 50px;
    height: 38px;
    background-color: #e6f6f9;
    border-radius: 14px;
    border: 1.5px solid #4fb6c2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
} */
.phone-group {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* Country code box */
.country-code {
    width: 110px;
    height: 38px;
    background: #e6f6f8;
    border: 2px solid #6bb6c6;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 14px;
    font-size: 18px;
    cursor: pointer;
    white-space: nowrap;
}

/* Dropdown arrow */
.country-select .arrow {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #000;
}

/* Mobile input */
.phone-group input {
    flex: 1;
    height: 58px;
    background: #e6f6f8;
    border: 2px solid #6bb6c6;
    border-radius: 20px;
    padding: 0 18px;
    font-size: 16px;
    outline: none;
}


/* Select arrow fix */
.form-group select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5.5l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 14px;
    cursor: pointer;
}

/* Submit button */
.submit-btn,
#registerBtn,
#loginBtn,
#otpSubmitBtn,
.dynamic_theme_block #forgotBtn{
    width: 50%;
    margin: 0px auto 0;
    padding: 8px;
    background: linear-gradient(to bottom, #3F51B5 0%, #00BCD4 100%);
    color: white;
    border: none;
    border-radius: 18px;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    display: block !important;
    transition: 0.3s;
    margin: 0 auto;
}
.merge_field_Otp .input-group{
    flex-wrap:nowrap !important;
}
.submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 114, 255, 0.3);
}

.login-extras {
    display: none;
    /* Hidden by default (Register mode) */
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding: 0 5px;
    font-size: 13px;
    font-weight: 600;
}

#toggle-auth-mode {
    color: #2563eb;
    cursor: pointer;
    transition: color 0.2s;
}

#toggle-auth-mode:hover {
    color: #1e40af;
}
.form-custom {
    max-height: 100%;
}
.dynamic_theme_block .panel-body{
    box-shadow:none;
}
#forgot-password {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    padding: 0;
}

#forgot-password:hover {
    color: #2563eb;
}


/* Form Header Tabs */
.form-header {
    display: flex;
    margin-bottom: 24px;
    border-bottom: 1px solid #e5e7eb;
}

.form-header button {
    flex: 1;
    padding: 12px;
    background: none;
    border: none;
    font-weight: 600;
    color: #6b7280;
    cursor: pointer;
}

.form-header button.active {
    color: #2563eb;
    border-bottom: 2px solid #2563eb;
}




/* .submit-btn {
    display: block;
    width: 65%;
    margin: 28px auto 0;
    padding: 16px;
    background: linear-gradient(to bottom, #3F51B5 0%, #00BCD4 100%);
    color: white;
    border: none;
    border-radius: 14px;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
} */

.form-header {
    position: relative;
    z-index: 5;
}

.lead-form {
    position: relative;
    z-index: 1;
}

.form-header button {
    pointer-events: auto;
    cursor: pointer;
}


.submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 114, 255, 0.3);
}

/* Common Section Styles */
.section {
    padding: 0;
    width: 100%;
    overflow-x: hidden;
    height: 80vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.section-title {
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--dark-blue);
}

.section-subtitle {
    text-align: center;
    color: var(--text-muted);
    margin-bottom: 50px;
    font-size: 1.1rem;
}

/* Our Campuses */
.campuses-section {
    padding: 0;
    background: #ffffff;
    height: 80vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 2rem;
}

.campus-title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 12px;
    color: #000;
}

.campuses-section .container {
    max-width: 1366px;
    /* increase from 1200 */
}

.campus-subtitle {
    text-align: center;
    font-size: 1.15rem;
    color: #374151;
    max-width: 720px;
    margin: 0 auto 60px;
}

.campus-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
    justify-items: anchor-center;
    justify-self: center;
}

.campus-card {
    background: #ffffff;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    width: 100%;
    height: 380px;
}

.campus-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.12);
}

.campus-image {
    width: 100%;
    height: 220px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.campus-content {
    padding: 26px 34px 32px;
}

.campus-content h3 {
    font-size: 1.45rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 10px;
}

.campus-content .location {
    font-size: 1rem;
    color: #111827;
    margin-bottom: 10px;
}

.campus-content .course {
    font-size: 0.95rem;
    color: #9ca3af;
}


/* Admission Process */
.admission {
    padding: 80px 0;
}

.admission .container {
    max-width: 1100px;
}

.admission-header-card {
    background: linear-gradient(90deg, #1fb6d1 0%, #1fb6d1 18%, #2aa7c8 35%, #3f8fbd 55%, #4f7bb8 72%, #516fb5 100%);
    border-radius: 36px 36px 0 0;
    color: #ffffff;
    text-align: center;
    padding: 23px 40px;
    border-radius: 32px 32px 0 0;
}

.admission-header-card h2 {
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 10px;
}

.admission-header-card p {
    font-size: 1.15rem;
    opacity: 0.9;
    font-family: "Inter", sans-serif;
}

.admission-steps {
    background: #ffffff;
    border-radius: 0 0 32px 32px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}

.step-row {
    padding: 28px 56px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfe 100%);
}

.step-row:nth-child(even) {
    /* background-color: #eaf6fa; */
    background: linear-gradient(180deg, #eef7fc 0%, #e3f1f8 100%);
}

.step-label {
    font-weight: 500;
    color: #0f172a;
}

.step-value {
    font-weight: 500;
    color: #0f172a;
}


/* Life @ Mirai */
/* ================= LIFE @ MIRAI (NEW) ================= */

.mirai-life-viewport {
    max-width: 1400px;
    /* controls visual width */
    margin: 0 auto;
    /* 👈 CENTER ALWAYS */
    overflow: visible;
    position: relative;
}

.mirai-life-header {
    text-align: center;
    margin-bottom: 5px;
}



.mirai-life-header p {
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #111;
    margin-bottom: 10px;
}

.mirai-life {
    padding-top: 20px;
    padding-bottom: 20px;
    height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.mirai-life-header h2 {
    font-size: 32px;
    /* bold & large */
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    letter-spacing: -0.5px;
    margin-bottom: 5px;
    color: #000;
}

/* CAROUSEL VIEWPORT */
.mirai-life-carousel {
    position: relative;
    width: 100%;
    overflow-x: hidden;
    overflow-y: visible;
    cursor: default;
    /* no grab cursor */
    padding-bottom: 80px;
    /* space for scale */
    padding-bottom: 20px;
    /* space for scale */
}


/* FIXED BLUR */
.mirai-life-carousel::before,
.mirai-life-carousel::after {
    content: "";
    position: absolute;
    top: 0;
    width: 180px;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.mirai-life-carousel::before {
    left: 0;
    background: linear-gradient(to right, #fff 35%, transparent);
}

.mirai-life-carousel::after {
    right: 0;
    background: linear-gradient(to left, #fff 35%, transparent);
}

/* MOVING TRACK */
.mirai-life-track {
    display: flex;
    gap: 28px;
    padding-left: 0;
    /* ❌ remove left bias */
    padding-top: 40px;
    /* width: max-content; */
    width: auto;
    user-select: none;
    will-change: transform;
    position: relative;
    z-index: 2;
}

/* CARD */
.mirai-life-card {
    width: 220px;
    height: 280px;
    border-radius: 18px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
    position: relative;
    z-index: 2;
    transform-origin: center center;
    scale: upwards;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;

}

/* .mirai-life-card {
    width: 220px;
    height: 280px;
    border-radius: 18px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
    position: relative;
    z-index: 2;
    transform-origin: center center;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    background: #000;
    overflow: hidden;
} */


.video-wrapper {
    width: 100%;
    height: 100%;
    border-radius: 26px;
    overflow: hidden;
    background: #000;
}

.video-wrapper iframe {
    width: 100%;
    height: 100%;
    border: none;
    pointer-events: none;
}

.mirai-life-card.is-video {
    cursor: pointer;
}

.mirai-life-card.is-playing iframe {
    pointer-events: auto;
}

/* HOVER LIFT */
.mirai-life-card:hover {
    transform: scale(1.08);
    z-index: 50;
    box-shadow: 0 40px 70px rgba(0, 0, 0, 0.25);
}


.video-thumb {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
}

.video-overlay {
    width: 64px;
    height: 64px;
    background: rgba(0, 0, 0, 0.65);
    border-radius: 50%;
    color: white;
    font-size: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease, background 0.25s ease;
}

.video-thumb:hover .video-overlay {
    transform: scale(1.15);
    background: rgba(0, 0, 0, 0.85);
}

/* Hide iframe initially */
.video-wrapper {
    opacity: 0;
    pointer-events: none;
}

/* When playing */
.mirai-life-card.is-playing .video-thumb {
    display: none;
}

.mirai-life-card.is-playing .video-wrapper {
    opacity: 1;
    pointer-events: auto;
}

.yt-badge {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 20px;
    pointer-events: none;
    width: 61%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    outline: 1px solid #929ba9;
}

.youtube-only .video-thumb {
    display: flex !important;
}

.youtube-only .video-wrapper {
    display: none !important;
}


@media (max-width: 768px) {
    .hero {
        padding: 50px 0;
    }

    .hero-container {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-content {
        text-align: center;
    }

    .hero-title {
        font-size: 36px;
        line-height: 1.2;
    }

    .hero-badge {
        font-size: 16px;
        padding: 6px 14px;
    }

    .hero-subtitle p {
        justify-content: center;
    }

    .hero-info-grid {
        grid-template-columns: 1fr;
    }

    .hero-form-container {
        width: 100%;
        margin-top: 48px;
    }
}

@media (max-width: 768px) {
    .life-card {
        min-width: 260px;
        height: 350px;
    }

    .carousel-btn {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

    .carousel-btn.prev {
        left: -10px;
    }

    .carousel-btn.next {
        right: -10px;
    }

    .propelld-logo {
        height: 90px;
    }
}

@media (max-width: 768px) {
    .info-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 8px;
        padding: 14px;
    }

    .info-card h4 {
        font-size: 0.95rem;
        margin-bottom: 4px;
        width: 100%;
    }

    .info-card p {
        font-size: 0.85rem;
        line-height: 1.4;
        width: 100%;
    }

    .card-icon {
        margin-bottom: 8px;
        align-self: center;
    }
}

@media (max-width: 900px) {
    .campus-grid {
        grid-template-columns: 1fr;
    }
}

/* mirai vs traditional */
.mirai-edu-compare {
    padding: 48px 16px;
    display: flex;
    justify-content: center;
    font-family: "Inter", system-ui, sans-serif;
}

.mirai-edu-card {
    width: 100%;
    max-width: 1200px;
    background: #fff;
    border-radius: 18px;
    padding: 40px 32px 48px;
    box-shadow: 0 30px 40px rgba(15, 23, 36, .06),
        0 6px 12px rgba(15, 23, 36, .04);
}

.mirai-edu-title {
    text-align: center;
    font-size: clamp(28px, 4.5vw, 48px);
    font-weight: 800;
    margin-bottom: 28px;
}

/* Table base */
.mirai-edu-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 12px;
    /* row gaps like cards */
    table-layout: fixed;
}

/* Header */
.mirai-edu-head {
    padding: 14px 16px;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    border-radius: 12px;
}

.mirai-edu-head--key {
    border: 2px solid rgba(12, 12, 12, .08);
}

.mirai-edu-head--mirai {
    background: linear-gradient(90deg, #069BAD, #194CD1);
    color: #fff;
    box-shadow: 0 16px 28px rgba(25, 76, 209, .18);
}

.mirai-edu-head--traditional {
    border: 2px solid rgba(12, 12, 12, .08);
}

/* Body rows */
.mirai-edu-table tbody tr {
    background: #fff;
}

/* Cells */
.mirai-edu-cell {
    padding: 16px 20px;
    font-size: 14px;
    vertical-align: middle;
}

.mirai-edu-cell--key {
    font-weight: 700;
    background: linear-gradient(90deg, #fbfdff, #f8fafc);
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

.mirai-edu-cell--mirai {
    text-align: center;
    font-weight: 600;
    background:
        linear-gradient(90deg, rgba(29, 78, 216, .06), rgba(29, 78, 216, .06)),
        linear-gradient(90deg, #f8fbff, #f6f8ff);
}

.mirai-edu-cell--traditional {
    text-align: center;
    color: #6b7280;
    background: linear-gradient(90deg, #fbfdff, #f8fafc);
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

/* Mobile tweaks – STILL A TABLE */
@media (max-width: 600px) {
    .mirai-edu-card {
        padding: 24px 16px 32px;
    }

    .mirai-edu-cell,
    .mirai-edu-head {
        font-size: 13px;
        padding: 12px;
    }

    .mirai-edu-table {
        border-spacing: 0 10px;
    }
}



@media (max-width: 768px) {
    .testimonials-grid {
        grid-template-columns: 1fr;
    }
}


.testimonial-card {
    padding: 20px;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.testimonials {
    height: 50vh;
}

.testimonial-card {
    background: var(--white);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--gray-200);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
    border-color: var(--primary-blue);
}

.t-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #d9d9d9;
}

.jiya {
    background-image: url("../images/Jiya.jpeg");
    background-size: cover;
}

.molly {
    background-image: url("../images/Molly.webp");
    background-size: cover;
}

.ritik {
    background-image: url("../images/ritik.jpeg");
    background-position-y: -30px;
    background-size: cover;
    background-repeat: no-repeat;
}

.t-info h4 {
    font-size: 1rem;
    color: var(--dark-blue);
    margin-bottom: 2px;
}

.t-info span {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.t-text {
    font-size: 0.85rem;
    color: var(--gray-600);
    line-height: 1.4;
}

/* Mirai Advantage */
.advantage {
    height: auto !important;
    min-height: 80vh;
    padding: 60px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.advantage-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    /* Further reduced gap */
    width: 100%;
    max-width: 1100px;
    /* Constrain max width slightly more */
    margin: 0 auto;
}

.adv-card {
    border-radius: 16px;
    /* Slightly tighter radius */
    padding: 20px;
    /* Reduced padding */
    position: relative;
    overflow: hidden;
    min-height: 180px;
    /* Further reduced min-height */
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(255, 255, 255, 0.6);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Gradients */
.adv-card-1,
.adv-card-3 {
    /* background: linear-gradient(90deg, , #e9f0f8);
     border-image: linear-gradient(90deg, #1136da , #e9f0f8 ) 1; */
    background:
        linear-gradient(90deg, #dce0f2, #e9f0f8) padding-box,
        linear-gradient(90deg, #7b87b6, #e9f0f8) border-box;
    border-width: 2px;
    border-radius: 16px;
}

.adv-card-2,
.adv-card-4 {
    /* background: linear-gradient(90deg, #d2f1f5, #f0f6fe);
    border-image: linear-gradient(90deg, #0acfe9, #f0f6fe) 1; */
    background:
        linear-gradient(90deg, #d2f1f7, #f0f6fe) padding-box,
        linear-gradient(90deg, #31adc1, #f0f6fe) border-box;
    border-width: 2px;
    border-radius: 16px;
}

.adv-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    /* Adjusted shadow */
}

.adv-pill {
    align-self: flex-start;
    background-color: #5b6cf4;
    color: white;
    font-size: 0.65rem;
    /* Smaller font */
    font-weight: 700;
    padding: 4px 12px;
    /* Smaller padding */
    border-radius: 50px;
    margin-bottom: 12px;
    /* Reduced margin */
    letter-spacing: 0.5px;
}

.adv-pill.cyan {
    background-color: #0EA5E9;
}

.adv-content h3 {
    font-size: 1.25rem;
    /* Smaller heading */
    font-weight: 700;
    color: #1E293B;
    margin-bottom: 6px;
    line-height: 1.2;
}

.adv-content p {
    font-size: 0.85rem;
    /* Smaller text */
    color: #475569;
    line-height: 1.4;
    max-width: 75%;
    /* Allow slightly more width to prevent wrapping */
}

.adv-floating-icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    /* Smaller icon */
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.adv-floating-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.adv-card:hover .adv-floating-icon img {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .advantage-grid {
        grid-template-columns: 1fr;
    }

    .adv-card {
        min-height: auto;
        padding: 16px;
    }

    .adv-content p {
        max-width: 100%;
        margin-bottom: 10px;
    }

    .adv-floating-icon {
        position: relative;
        right: auto;
        top: auto;
        transform: none;
        width: 40px;
        height: 40px;
        margin-top: 5px;
        align-self: flex-end;
    }
}

/* Placement Assistance */
.placement {
    background-color: #0b1a4a;
    /* Dark Blue from user/image */
    color: var(--white);
    text-align: center;
    padding: 0;
    height: 40vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.placement .section-title {
    color: var(--white);
    margin-bottom: 60px;
    font-size: 2.5rem;
    font-weight: 700;
}

.placement-grid {
    display: flex;
    justify-content: center;
    /* Centered items */
    align-items: flex-start;
    max-width: 1100px;
    margin: 0 auto;
    gap: 40px;
    /* Space between items and dividers */
}

.placement-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}

.placement-divider {
    width: 1px;
    height: 50px;
    /* Adjust based on content height */
    background-color: rgba(255, 255, 255, 0.2);
    margin-top: 10px;
    /* Align with optical center */
}

.p-icon {
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: all 0.3s ease;
}

.placement-item:hover .p-icon {
    background-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-5px);
}

.placement-item h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 5px;
    color: var(--white);
}

.placement-item p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.85rem;
    line-height: 1.3;
    max-width: 250px;
    /* Limit line length for readability */
}

.life-carousel {
    position: relative;
    right: 18%;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 20px;
    padding: 20px 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
    width: 100vw;
    margin-right: -700px;
}

.campus-tomorrow {
    padding: 0;
    height: 80vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cta-banner {
    display: flex;
    gap: 30px;
    align-items: center;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

.cta-content {
    position: relative;
    overflow: hidden;
    flex: 0 0 45%;
    color: white;
    padding: 50px 40px;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    background-image: url("../images/hitechgroupPhoto.webp");
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
    height: 100%;
    background-position: center;
}


.cta-content::before {
    content: "";
    position: absolute;
    inset: 0;
    /* background: linear-gradient(
        135deg,
        rgba(91, 108, 244, 0.88),
        rgba(74, 90, 217, 0.88)
    ); */
    background-color: #2549cac4;
    z-index: 1;
}


.cta-content h2,
.cta-content p,
.cta-content .cta-btn {
    position: relative;
    z-index: 2;
}

.cta-content h2 {
    font-size: 2.5rem;
    margin-bottom: 15px;
    line-height: 1.2;
    font-family: 'Inter', sans-serif;
    font-weight: normal;
}

.cta-content p {
    font-size: 1.1rem;
    margin-bottom: 30px;
    opacity: 0.95;
    line-height: 1.5;
}

.cta-btn {
    background-color: white;
    color: #5b6cf4;
    border: none;
    border-radius: 50px;
    font-weight: 600;
    padding: 14px 40px;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    height: auto;
    width: auto;
    height: 2.8rem;
    width: 13rem;
    display: flex;
    justify-content: center;
    align-items: center;
}


.cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* 
.cta-gallery {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto auto;
    gap: 16px;
} */
.cta-gallery {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.gallery-item {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-top {
    grid-column: 1 / 3;
    height: 150px;
    aspect-ratio: 16 / 9;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.gallery-mid-left,
.gallery-mid-right {
    height: 165px;
    background-size: cover;
}

.gallery-bottom-left,
.gallery-bottom-right {
    height: 165px;
    background-size: cover;
}

/* Scholarship Program */
.scholarship-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    padding-left: 2%;
    padding-right: 2%;
}

.scholarship-card {
    /* background: linear-gradient(180deg, #a8e2eb, transparent);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #56cadb;
    text-align: left;
    height: 200px;
    transition: all 0.3s ease; */
    background: linear-gradient(180deg, #f4fbff 0%, #ffffff 100%);
    padding: 15px;
    border-radius: 12px;
    border: 1.5px solid #6fcad6;
    text-align: left;
    min-height: 140px;
    display: flex;
    flex-direction: column;
    height: auto;
    transition: all 0.3s ease;

}

.scholarship {
    margin-top: 0;
    height: 60vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.scholarship .container {
    background: linear-gradient(180deg, #f4fbff 0%, #ffffff 100%);
    position: relative;
    padding-top: 2rem;
}

.scholarship .section-subtitle {
    margin-bottom: 30px;
}

/* 
@media (max-width: 768px) {
    .cta-banner {
        flex-direction: column;
    }

    .cta-gallery {
        grid-template-columns: 1fr;
    }
} */

.scholarship-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.05);
    border-color: #56cadb;
}

.sch-icon {
    font-size: 2rem;
    margin-bottom: 10px;
    color: var(--primary-blue);
}

.sch-icon img {
    width: 60px;
    height: auto;
}

.scholarship-card h4 {
    color: var(--dark-blue);
    margin-bottom: 6px;
    font-size: 0.95rem;
}





.scholarship-card p {
    font-size: 0.8rem;
    color: var(--text-muted);
}

/* Financing Options */



.bank-logos {
    display: flex;
    justify-content: center;
    gap: 20px;
    align-items: center;
    margin-bottom: 20px;
}

.bank-logo-item {
    padding: 0 40px;
    display: flex;
    /* Ensure logos are centered in their item container */
    align-items: center;
    justify-content: center;
}

.vertical-divider {
    width: 1px;
    height: 80px;
    /* Increased to match logo height */
    background-color: #ddd;
}

.bank-logo-img {
    height: 50px;
    width: auto;
    object-fit: contain;
}

.bank-logos {
    flex-wrap: nowrap;
}


/* 
.bank-logo-img {
    height: 80px;
    width: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
    filter: grayscale(100%);
    filter: none;
} */

.bank-logo-img:hover {
    transform: scale(1.05);
}

/* Old .bank-logo class removed as we use img now */

/* Custom logo colors based on brands */
.idfc-logo {
    color: #a10e0e;
    font-family: sans-serif;
}

.yes-logo {
    color: #004c8f;
    font-family: sans-serif;
}

.propelld-logo {
    color: #1c1c1c;
    font-family: sans-serif;
}

.bank-logo:hover {
    transform: scale(1.05);
}

/* New CTA Cards */
.cta-cards-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.cta-bottom-card {
    background: var(--white);
    border-radius: 16px;
    padding: 15px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
    /* Soft large shadow */
}

.cta-bottom-card h3 {
    font-size: 1.2rem;
    color: #000;
    margin-bottom: 3px;
    font-weight: 700;
}

.cta-bottom-card p {
    color: var(--text-muted);
    font-size: 1rem;
}

.cta-pill-btn {
    padding: 10px 25px;
    border-radius: 40px;
    /* Pill shape */
    border: none;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    white-space: nowrap;
}

.blue-btn {
    background-color: #3b82f6;
    /* Brighter blue like screenshot */
    color: white;
}

.blue-btn:hover {
    transform: scale(1.02);
    box-shadow: 0 5px 15px rgba(59, 130, 246, 0.3);
    background-color: #2563eb !important;
    color: #fff;
}

/* Contact Info Styling */
.contact-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 1rem;
    color: var(--dark-blue);
    font-weight: 500;
}

.contact-item .icon {
    color: #3b82f6;
    width: 20px;
    text-align: center;
}

.contact-item a {
    text-decoration: none;
    color: inherit;
}

.contact-item a:hover {
    color: #3b82f6;
}

.apply-action {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 15px;
}

.apply-action p {
    font-weight: 500;
    color: #000;
}

/* Unused Financing layouts removed */

/* Alternative CTA Card Style */
.cta-bottom-card.alt {
    background: linear-gradient(135deg, #f0f8ff, #e0f2ff);
    /* Light blue gradient */
    border: 1px solid #cceeff;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}

.cta-bottom-card.alt .cta-pill-btn {
    background-color: var(--primary-blue);
    color: var(--white);
}

.cta-bottom-card.alt .cta-pill-btn:hover {
    background-color: #0056b3;
    box-shadow: 0 5px 15px rgba(0, 123, 255, 0.3);
    transform: scale(1.02);
}

/* Footer */
/* .footer {
    background-color: rgb(15, 118, 186);
    border-top: 1px solid var(--gray-200);
    padding: 50px 0 20px;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--gray-200);
}

.footer-cta h3 {
    font-size: 1.25rem;
    color: var(--dark-blue);
    margin-bottom: 5px;
} */


.footer {
    width: 100%;
    background: #f8fbff;
    /* exact light background */
    border-top: 1px solid #e6eef6;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ─── Top Row ─── */
.footer-top {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 14px 0;
    border-bottom: 1px solid #e6eef6;
}

.footer-top a {
    font-size: 14px;
    font-weight: 500;
    color: #3b82f6;
    text-decoration: none;
}

.footer-top a:hover {
    text-decoration: underline;
}

.footer-top .divider {
    color: #b6c3d1;
}

/* ─── Bottom Row ─── */
.footer-bottom {
    max-width: 1400px;
    margin: 0 auto;
    padding: 18px 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-bottom p {
    margin: 0;
    font-size: 14px;
    color: #9aa3af;
}

.heart {
    color: #3b82f6;
    margin: 0 4px;
}

/* ─── Mobile Responsive ─── */
@media (max-width: 768px) {
    .footer-bottom {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
}


.hero-logo {
    margin-bottom: 24px;
}

.hero-content {
    display: flex;
    flex-direction: column;
}

.hero-badge {
    width: 11.8rem;
}

.hero-logo img {
    height: 48px;
    width: auto;
    display: block;
}

.footer-cta p {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.footer-btn {
    padding: 12px 25px;
    background-color: var(--primary-blue);
    color: var(--white);
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    font-size: 0.85rem;
    color: var(--text-muted);
}

.footer-links a {
    color: var(--text-muted);
    text-decoration: none;
    margin-right: 20px;
}

.footer-links a:hover {
    color: var(--primary-blue);
    transform: translateX(5px);
}

.footer-links a {
    color: var(--text-muted);
    text-decoration: none;
    margin-right: 20px;
    display: inline-block;
    /* Required for transform */
    transition: all 0.2s ease;
}

.bank-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    flex-wrap: nowrap;
}

.bank-logo-item {
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bank-logo-img {
    height: 80px;
    width: auto;
    object-fit: contain;
}

.propelld-logo {
    height: 100px;
}

.advantage {
    padding: 40px 0;
}


@media (max-width: 1024px) {

    .hero-container {
        flex-direction: column;
        gap: 40px;
    }

    /* .gallery-top {
        background-position-y: -8rem;
    } */

    .hero,
    .section,
    .campuses-section,
    .admission-wrapper,
    .mirai-life,
    .placement,
    .scholarship,
    .campus-tomorrow,
    .financing {
        height: auto !important;
        min-height: auto !important;
        padding-top: 30px;
        padding-bottom: 30px;
        justify-content: flex-start;
    }

    .opacity-right {
        right: -11%;
    }

    .hero-form-container {
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
    }

    .hero-info-grid {
        grid-template-columns: 1fr;
        max-width: 100%;
        gap: 12px;
    }

    .info-card {
        padding: 14px;
        max-width: 100%;
        align-items: center;
        text-align: center;
    }

    .info-card h4 {
        font-size: 0.95rem;
        width: 100%;
    }

    .info-card p {
        font-size: 0.85rem;
        width: 100%;
    }

    .card-icon {
        align-self: center;
    }

    .advantage-grid {
        grid-template-columns: 1fr;
        justify-content: center;
    }

    .adv-card {
        width: 100%;
        max-width: 500px;
        height: 250px;
        justify-self: center;
    }

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

    .scholarship-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .mirai-life,
    .section.testimonials {
        padding-bottom: 30px !important;
    }
}

@media (max-width: 770px) {

    .container {
        padding: 0 16px;
    }


    .hero {
        padding: 30px 0;
        height: auto;
    }

    .hero-container {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }

    .hero-content {
        text-align: center;
        align-items: center;
        max-width: 100%;
    }

    .hero-title {
        font-size: 42px;
        line-height: 1.15;
    }

    .hero-badge {
        font-size: 18px;
        padding: 6px 14px;
    }

    .hero-subtitle {
        display: flex;
        flex-direction: column;
        align-items: start;
    }

    .hero-subtitle p {
        justify-content: center;
    }

    .hero-info-grid {
        grid-template-columns: 1fr;
        max-width: 100%;
        margin: 0 auto;
    }

    .hero-form-container {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
        padding: 24px;
        border-radius: 16px;
    }

    /* Campus Section */
    .campus-title,
    .section-title {
        text-align: center;
        padding: 0 16px;
    }

    .campus-subtitle,
    .section-subtitle {
        text-align: center;
        padding: 0 16px;
    }

    .campus-grid {
        grid-template-columns: 1fr;
        max-width: 100%;
        margin: 0 auto;
    }

    /* Admission Process */
    .admission .container {
        padding: 0;
    }

    .admission-header-card {
        border-radius: 24px 24px 0 0;
        text-align: center;
        padding: 30px 20px;
    }

    .step-row {
        flex-direction: column;
        text-align: center;
        gap: 8px;
        padding: 20px 16px;
    }

    /* Life Carousel */
    .life-carousel-container {
        left: 0;
        width: 100vw;
        margin-left: calc(-50vw + 50%);
    }

    .opacity-left,
    .opacity-right {
        display: none;
    }

    .life-carousel {
        left: 0;
        right: 0;
        margin-right: 0;
        padding: 20px 16px;
    }

    /* Testimonials */
    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        max-width: 100%;
    }

    .testimonial-card {
        text-align: left;
    }

    /* Advantage Section */
    .advantage-grid {
        padding: 0 16px;
    }

    .adv-card {
        max-width: 100%;
        height: auto;
        min-height: 220px;
        text-align: left;
    }

    /* Placement */
    .placement-grid {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .placement-divider {
        display: none;
    }

    /* Campus of Tomorrow */
    .cta-banner {
        flex-direction: column;
        height: auto;
        padding: 0;
    }

    .cta-content {
        margin: 0;
        width: 100%;
        text-align: center;
        align-items: center;
        border-radius: 20px;
    }

    .cta-gallery {
        justify-content: center;
        width: 100%;
        grid-template-columns: 1fr;
        /* Single column for mobile */
    }

    .gallery-top {
        grid-column: span 1;
        /* Reset to single column */
    }

    .gallery-item {
        width: 100%;
        height: auto !important;
        /* Allow natural height */
    }

    .gallery-item img {
        height: auto;
        width: 100%;
        object-fit: cover;
        /* Maintain aspect ratio filling width */
    }

    /* Scholarship */
    .scholarship-grid {
        grid-template-columns: 1fr;
        padding: 0 16px;
        max-width: 100%;
        margin: 0 auto;
    }

    .scholarship-card {
        text-align: center;
    }

    /* Financing */
    .bank-logos {
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }


    .vertical-divider {
        display: none;
    }

    .cta-bottom-card {
        flex-direction: column;
        text-align: center;
        gap: 20px;
        align-items: center;
    }

    .apply-action {
        align-items: center;
        text-align: center;
    }

    .contact-info {
        text-align: center;
    }

    .contact-item {
        justify-content: center;
    }

    .footer-content,
    .footer-bottom {
        flex-direction: column;
        gap: 20px;
        text-align: center;
        align-items: center;
    }

    .propelld {
        position: relative;
        bottom: 29px;
    }
}


@media (max-width: 480px) {

    .container {
        padding: 0 12px;
    }

    .hero {
        padding: 40px 0;
    }

    .hero-title {
        font-size: 32px;
        text-align: center;
    }

    .hero-badge {
        font-size: 16px;
        padding: 6px 12px;
    }

    .hero-subtitle p {
        font-size: 13px;
    }

    .info-card {
        padding: 16px;
        gap: 6px;
        align-items: center;
        text-align: center;
    }

    .info-card h4 {
        font-size: 0.9rem;
        margin-bottom: 4px;
        width: 100%;
    }

    .info-card p {
        font-size: 0.8rem;
        line-height: 1.4;
        width: 100%;
    }

    .card-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 6px;
        align-self: center;
    }

    .hero-form-container {
        padding: 20px;
    }

    .submit-btn {
        width: 100%;
        padding: 14px;
    }

    .section-title {
        font-size: 1.8rem;
        text-align: center;
        padding: 0 12px;
    }

    .campus-title {
        font-size: 2rem;
        text-align: center;
    }

    .section-subtitle {
        font-size: 0.95rem;
        text-align: center;
    }

    .gallery-item {
        width: 100%;
        height: auto !important;
        background-position: center;
    }

    .testimonial-card,
    .adv-card,
    .scholarship-card {
        padding: 20px;
    }

    .campus-card {
        height: auto;
    }

    .life-card {
        min-width: 280px;
        height: 380px;
    }

    .cta-content h2 {
        font-size: 1.6rem;
    }

    .cta-content p {
        font-size: 0.9rem;
    }

    .cta-btn {
        padding: 12px 28px;
        font-size: 0.9rem;
    }


    .cta-pill-btn {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 376px) {
    .hero-subtitle p {
        font-size: 12px;
        text-align: start;
    }
}

@media (max-width: 768px) {

    .gallery-top,
    .gallery-mid-left,
    .gallery-mid-right,
    .gallery-bottom-left,
    .gallery-bottom-right {
        height: 180px;
    }
}

@media (max-width: 480px) {

    .gallery-top,
    .gallery-mid-left,
    .gallery-mid-right,
    .gallery-bottom-left,
    .gallery-bottom-right {
        height: 160px;
    }
}

/* @media (max-width: 520px) {
    .cta-content {
        background-position-x: -64px;
    }
} */

@media (max-width: 1024px) {
    .hero-content {
        margin: 0 auto;
    }
}



@media (max-width: 1024px) {
    .placement {
        height: auto !important;
        min-height: auto !important;
        padding: 30px 0;
    }

    .placement .container {
        display: flex;
        flex-direction: column;
    }
}


@media (max-width: 1019px) {
    .placement .container {
        display: flex;
        flex-direction: column;
    }
}

.foot {
    border: 1px solid black;
    height: 120px;
    width: 100%;
    background-color: #4350EB;
    border-color: #4350EB;
    color: white;
    text-align: center;
    font-size: 30px;
}

@media(max-width: 767px) {
    .foot {
        font-size: 20px;
        text-align: center;
    }
}


.admission-wrapper {
    max-width: 1207px;
    margin: auto;
    display: flex;
    flex-direction: row;
    gap: 23%;
    align-items: center;
    /* border: 2px solid black; */
    margin-top: 0;
    padding: 0 24px;
    height: auto !important;
}



/* LEFT MACBOOK CARD */
.left-card {
    width: 380px;
    padding: 15px;
    background-color: black;
    border-radius: 10px;
    /* margin-left: 44px; */
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mirai-macbook {
    background-size: contain;
    max-height: 470px;
    /* Keep the height limit */
    max-width: 100%;
    /* Ensure it doesn't overflow */
    width: auto;
    /* Maintain aspect ratio */
    height: auto;
    /* Maintain aspect ratio */
    object-fit: contain;
}

/* BADGE */
.macbook-badge {
    margin-top: 12px;
    margin-bottom: 90px;
    display: inline-block;
    background: #fff;
    color: #2563eb;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
}

/* IMAGE PLACEHOLDER */

/* RIGHT SIDE */
.right-content {
    flex: 1;
}

.right-content h1 {
    font-size: 38px;
    font-weight: 700;
}

.subtitle {
    margin-top: 10px;
    font-size: 16px;
    color: #6b7280;
}

/* TIMELINE */
.timeline {
    margin-top: 30px;
    padding-left: 30px;
    position: relative;
}

.mirai-signature {
    margin-top: 40px;
    margin-bottom: 90px;
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.4;
    color: white;
    font-family: "Poppins", "Inter", sans-serif;
    letter-spacing: 0.5px;
}


.heart {
    display: inline-block;
    animation: pulse 1.8s infinite ease-in-out;
}

@keyframes pulse {

    0%,
    100% {
        transform: scale(1.7);
        filter: drop-shadow(0 0 0px rgba(33, 85, 227, 0.7));
    }

    50% {
        transform: scale(1.25);
        filter: drop-shadow(0 0 10px rgb(42, 103, 224));
    }
}

.mirai-signature {
    margin-top: 40px;
    margin-bottom: 90px;
    text-align: center;

    font-size: clamp(18px, 4vw, 30px);
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;

    font-weight: 600;
    line-height: 1.4;
    color: rgb(236, 228, 228);
    font-family: "Poppins", "Inter", sans-serif;
    letter-spacing: 0.5px;

    word-wrap: break-word;
    overflow-wrap: break-word;
}


/* LINE */
.timeline::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 2px;
    background: #dbeafe;
}

/* ITEM */
.timeline-item {
    position: relative;
    margin-bottom: 24px;
}

.timeline-item h3 {
    font-size: 18px;
    font-weight: 600;
}

.timeline-item p {
    margin-top: 4px;
    font-size: 14px;
    color: #4b5563;
    max-width: 520px;
}

/* DOT */
.dot {
    position: absolute;
    left: -36px;
    top: 4px;
    width: 14px;
    height: 14px;
    background: #2563eb;
    border-radius: 50%;
}

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

@media (max-width: 1024px) {
    .admission-wrapper {
        gap: 50px;
    }

    .left-card {
        width: 340px;
        min-height: auto;
        padding: 15px;
    }
}

@media (max-width: 768px) {
    .admission-wrapper {
        flex-direction: column;
        /* 👈 THIS IS WHAT YOU WANT */
        align-items: center;
    }

    .left-card {
        width: 100%;
        max-width: 420px;
        padding: 15px;
    }

    .right-content {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
}

.placement-divider {
    width: 2px;
    height: 120px;
    background: linear-gradient(to bottom,
            transparent,
            rgba(233, 225, 225, 0.6),
            transparent);
}




@media (max-width: 480px) {
    body {
        padding: 20px 12px;
    }

    .left-card {
        padding: 24px;
        min-height: auto;
    }

    .right-content h1 {
        font-size: 28px;
    }

    .timeline {
        padding-left: 24px;
    }

    .dot {
        left: -30px;
    }
}

/* Campus of Tomorrow - Responsive for screens below 800px */
@media (max-width: 800px) {
    .campus-tomorrow {
        height: auto !important;
        padding: 40px 0 !important;
    }

    .cta-banner {
        flex-direction: column;
        gap: 24px;
        align-items: stretch;
    }

    .cta-content {
        flex: 1;
        width: 100%;
        min-height: 300px;
        padding: 40px 30px;
        text-align: center;
        align-items: center;
        border-radius: 20px;
    }

    .cta-content h2 {
        font-size: 2rem;
        margin-bottom: 12px;
    }

    .cta-content p {
        font-size: 1rem;
        margin-bottom: 24px;
    }

    .cta-btn {
        width: auto;
        padding: 12px 36px;
    }

    .cta-gallery {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .gallery-top {
        grid-column: 1 / 3;
        height: 180px;
        background-position: center;
    }

    .gallery-mid-left,
    .gallery-mid-right {
        height: 140px;
    }

    .gallery-bottom-left,
    .gallery-bottom-right {
        height: 140px;
    }

    .gallery-item {
        width: 100%;
        height: 150px !important;
        /* Ensure visibility */
        border-radius: 12px;
        background-position: center;
    }
}

/* Video Facade Styles - Performance Upgrade */
.video-facade {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: opacity 0.3s ease;
}

.video-play-btn {
    width: 60px;
    height: 60px;
    background-color: rgba(33, 33, 33, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, background-color 0.2s;
    backdrop-filter: blur(4px);
    border: 2px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.video-play-btn::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 18px solid #fff;
    margin-left: 4px;
}

.mirai-life-card:hover .video-play-btn {
    background-color: #f00;
    transform: scale(1.1);
    border-color: #fff;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.site-footer {
    background: rgb(24, 17, 227);
    padding: 18px 12px;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-signature {
    font-size: 20px;
    color: #e1eaf5;
    font-family: "Inter", sans-serif;
    margin-bottom: 6px;
    line-height: 1.4;
}

.footer-copy {
    font-size: 20px;
    color: #d1dae7;
    font-family: "Inter", sans-serif;
}

.footer-signature .heart {
    display: inline-block;
    animation: softPulse 2.5s ease-in-out infinite;
}

@keyframes softPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.5);
    }
}

/* Mobile polish */
@media (max-width: 480px) {
    .footer-signature {
        font-size: 12px;
    }

    .footer-copy {
        font-size: 10px;
    }
}

.mirai-life-card {
    border-radius: 18px;
    overflow: hidden;
}


@media (max-width: 1250px) {
    .hero-container {
        gap: 20px;
    }

    .hero-form-container {
        /* margin-right: 0; */
        width: 350px;
    }

    .hero-info-grid {
        column-gap: 10px;
        row-gap: 10px;
    }

    .hero-title {
        font-size: 300%;
    }

    /* Set all sections to auto height */
    .hero,
    .section,
    .campuses-section,
    .mirai-life,
    .testimonials,
    .advantage,
    .placement,
    .campus-tomorrow,
    .scholarship {
        height: auto !important;
        min-height: auto !important;
        padding: 5px 0;
    }

    .admission-wrapper {
        gap: 50px;
        /* Reduce from 23% */
    }
}

@media screen and (min-width: 1202px) and (max-width: 1396px) {
    .hero-form-container {
        margin-top: 23%;
    }

    .campuses-section {
        margin-top: 6rem;
    }

}

@media screen and (min-width: 1201px) and (max-width: 1249px) {
    .hero-form-container {
        margin-top: 10.3%;
    }
}

/* 1025 1197 */
@media screen and (min-width: 1025px) and (max-width: 1197px) {
    .hero-form-container {
        margin-top: 14%;
    }
}

/* 110% zoom windowed mode - approximately 1250px to 1400px */
@media screen and (min-width: 1250px) and (max-width: 1400px) {

    /* Set all sections to auto height */
    .hero,
    .section,
    .campuses-section,
    .mirai-life,
    .testimonials,
    .advantage,
    .placement,
    .campus-tomorrow,
    .scholarship {
        height: auto !important;
        min-height: auto !important;
        padding: 5px 0;
    }

    .campuses-section {
        margin-top: 0 !important;
    }

    .hero-logo {
        margin-top: 2% !important;
    }
    .hero-form-container{
        margin-top: 12%;
    }
}
button.btn.btn-default.dropdown-toggle.as-is.bs-dropdown-to-select {
     min-width: 64px;
     height: 38px;
     background-color: #d9f2f6;
     border-radius: 14px;
     border: 1.5px solid #4fb6c2;
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: 600;
     margin-right: 10px;
     padding-left: 10px;
}
.sr-only{
 display:none;
}
.form-group.label-floating.Mobile.country_dial_code.reg_mobile_div {
    flex-grow: 1;
    margin-bottom: 0px;
}
.modal-header .close{
    order:2;
}
.modal-header .modal-title{
    font-size:18px;
}
span.agree-condition {
    font-size: 12px;
}
span.help-block {
    font-size: 12px;
}
span#otpverifylink-textMobile {
    font-size: 12px;
}