
:root { --hero-card-accent: #2ea2d4; }
body .page-hero-card.page-hero-card {
    box-sizing: border-box;
    width: min(48vw, 770px);
    max-width: 100%;
    height: auto;
    min-height: 0;
    margin-inline: 0;
    padding: clamp(28px, 2.8vw, 48px) clamp(24px, 3.4vw, 54px);
    border: 0;
    border-right: 6px solid var(--hero-card-accent);
    border-radius: 0;
    background: rgb(255 255 255 / .65);
    box-shadow: none;
    color: #373435;
    text-align: left;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
body .page-hero-card.page-hero-card .hero-content,
body .page-hero-card.page-hero-card .admission-hero__content,
body .page-hero-card.page-hero-card .branches-home-banner__content { max-width: none; }
body .page-hero-card.page-hero-card h1,
body .page-hero-card.page-hero-card h2.title-text {
    margin: 0;
    color: #373435;
    font-family: "Polymath", "Poppins", sans-serif;
    font-size: clamp(34px, 3.25vw, 54px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.04em;
    text-shadow: none;
    overflow-wrap: break-word;
}
body .page-hero-card.page-hero-card h1 span { color: inherit; }
body .page-hero-card.page-hero-card p {
    max-width: 56ch;
    margin: 24px 0 0;
    color: #403d3f;
    font-family: "Sora", "Poppins", sans-serif;
    font-size: clamp(15px, 1.15vw, 20px);
    font-weight: 400;
    line-height: 1.65;
    opacity: 1;
    text-shadow: none;
}
body .page-hero-card.page-hero-card .page-hero-eyebrow {
    display: block;
    margin: 0 0 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: var(--mobile-brand-text, #054285);
    font-family: "Sora", "Poppins", sans-serif;
    font-size: clamp(11px, .95vw, 15px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .16em;
    text-transform: uppercase;
}
body .page-hero-card.page-hero-card nav { flex-wrap: wrap; color: var(--mobile-brand-text, #054285); }
body .page-hero-card.page-hero-card nav a { color: inherit; }
body .page-hero-card.page-hero-card > a,
body .page-hero-card.page-hero-card p + .flex { margin-top: 24px; }
body .page-hero-card.page-hero-card a.text-white { color: var(--mobile-brand-text, #054285); border-color: #2ea2d4; }
body .about-subpage__hero { padding-inline: 0; }
body .page-hero-card.page-hero-card--static { position: relative; }
body .franchise-hero-card { position: absolute; left: 0; bottom: 40px; z-index: 2; width: min(46vw, 720px); }
body .hero-slider.franchise-hero { margin-top: var(--site-header-height, 114px); }
body .franchise-hero .hero-slide { min-height: 650px; }

@media (max-width: 1023px) {
    body .page-hero-card.page-hero-card { width: min(70vw, 770px); }
    body .page-hero-card.page-hero-card--static { width: 100%; }
    body .franchise-hero-card { width: min(70vw, 700px); }
}
@media (max-width: 768px) {
    body { --mobile-hero-image-height: clamp(320px, 125vw, 560px); }
    body .page-hero-card.page-hero-card {
        position: relative;
        inset: auto;
        width: 100%;
        max-height: none;
        padding: 24px 20px 28px;
        margin: 0;
        border: 0;
        background: #fff;
        text-align: center;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        transform: none;
    }
    body .page-hero-card.page-hero-card h1,
    body .page-hero-card.page-hero-card h2.title-text { color: var(--mobile-brand-text, #054285); font-size: clamp(28px, 7.5vw, 36px); }
    body .page-hero-card.page-hero-card p { margin: 12px auto 0; font-size: 15px; }
    body .page-hero-card.page-hero-card .page-hero-eyebrow { margin-bottom: 12px; font-size: 11px; }
    body .page-hero-card.page-hero-card nav,
    body .page-hero-card.page-hero-card p + .flex { justify-content: center; }
    body .page-hero-card.page-hero-card .hero-content { width: 100%; }
    body .page-hero-card.page-hero-card--static { width: 100%; }

    body .hero-slider .hero-slide-image,
    body .curriculum-banner .hero-slide-image,
    body .admission-hero__image,
    body .contact-hero__image,
    body .branches-home-banner__image {
        height: auto;
        min-height: 0;
        aspect-ratio: auto;
        object-fit: contain;
    }
    body .admission-hero,
    body .contact-hero { min-height: 0; background: #fff; }
    body .hero-slider .swiper-wrapper { align-items: stretch; }
    body .hero-slider .swiper-slide { height: auto; background: #fff; }
    body .hero-pagination.swiper-pagination,
    body .franchise-hero .swiper-pagination {
        top: calc(var(--mobile-hero-image-height) - 30px);
        bottom: auto;
    }

    body.page-home .hero-pagination.swiper-pagination {
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        display: flex;
        justify-content: center;
        width: 100%;
        transform: none;
        margin: 0;
    }

    body.page-home .hero-slider {
        --mobile-brand-text: #054285;
    }
    body.page-home .hero-slider .hero-slide-image {
        height: clamp(230px, 60vw, 400px);
        object-fit: cover;
    }
    body.page-home .hero-slider .swiper,
    body.page-home .hero-slider .swiper-wrapper,
    body.page-home .hero-slider .swiper-slide {
        height: auto;
        min-height: 0;
    }
    body.page-home .page-hero-card.page-hero-card {
        padding: 20px 20px 8px;
    }


    body .franchise-hero .hero-slide {
        min-height: 0;
        padding-top: var(--mobile-hero-image-height);
        background-size: 0 0;
    }
    body .franchise-hero .hero-slide::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: var(--mobile-hero-image-height);
        background-image: inherit;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
    }
    body .franchise-hero .swiper-button-prev,
    body .franchise-hero .swiper-button-next { top: calc(var(--mobile-hero-image-height) / 2); }
}
