/* =====================================================
           01. DESIGN SYSTEM
           UNIVERSAL / GOLDEN RATIO TYPE SCALE

           16px
           × 1.61 = 26px
           × 1.61 = 42px
           × 1.61 = 67px
        ===================================================== */

:root {

    /* SIGMA BRAND */

    --blue: #123f68;
    --blue-dark: #0b3157;
    --blue-deep: #062744;

    --yellow: #f5b618;
    --yellow-dark: #dda00c;
    --yellow-soft: #fff4d1;

    /* SURFACES */

    --white: #ffffff;

    --bg: #f7f8f8;

    --blue-soft: #edf4f8;

    --warm: #f6f1ea;

    --warm-light: #fbf8f4;

    /* TEXT */

    --text: #17344f;

    --body: #607180;

    --muted: #87939d;

    /* BORDERS */

    --border:
        rgba(18, 63, 104, .12);

    --border-light:
        rgba(255, 255, 255, .14);

    /* TYPE SCALE */

    --text-base: 16px;

    --text-h3: 26px;

    --text-h2: 42px;

    --text-h1: 67px;

    /* LAYOUT */

    --container: 1360px;

    --header-height: 80px;

    /* RADIUS */

    --radius-sm: 12px;

    --radius-md: 18px;

    --radius-lg: 26px;

    --radius-xl: 34px;

    /* MOTION */

    --ease:
        cubic-bezier(.16, 1, .3, 1);

    /* SHADOW */

    --shadow-sm:
        0 12px 35px rgba(12, 48, 78, .07);

    --shadow-md:
        0 24px 65px rgba(12, 48, 78, .11);

    --shadow-lg:
        0 40px 100px rgba(5, 31, 55, .18);

}



/* =====================================================
           02. RESET
        ===================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {

    scroll-behavior: smooth;

    scroll-padding-top:
        calc(var(--header-height) + 20px);

}


body {

    margin: 0;

    overflow-x: hidden;

    background:
        var(--bg);

    color:
        var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        var(--text-base);

    line-height: 1.65;

    -webkit-font-smoothing:
        antialiased;

    text-rendering:
        optimizeLegibility;

}


body.menu-open,
body.modal-open {
    overflow: hidden;
}


img {

    display: block;
    max-width: 100%;

}


a {

    color: inherit;

    text-decoration: none;

}


button,
input,
textarea,
select {

    font: inherit;

}


button {
    cursor: pointer;
}


p {
    margin-top: 0;
}


::selection {

    background:
        var(--yellow);

    color:
        var(--blue-dark);

}



/* =====================================================
           03. TOP PAGE PROGRESS
        ===================================================== */

.page-progress {

    position: fixed;

    top: 0;
    left: 0;

    z-index: 9999;

    width: 100%;
    height: 4px;

    background:
        rgba(18, 63, 104, .08);

}


.page-progress-bar {

    width: 0;
    height: 100%;

    background:
        var(--yellow);

    transform-origin:
        left center;

    will-change: width;

}



/* =====================================================
           04. GLOBAL LAYOUT
        ===================================================== */

.container {

    width:
        min(calc(100% - 48px),
            var(--container));

    margin-inline: auto;

}


.section {

    position: relative;

    padding:
        clamp(82px,
            8vw,
            125px) 0;

}


.section-white {
    background:
        var(--white);
}


.section-soft {
    background:
        var(--blue-soft);
}


.section-warm {
    background:
        var(--warm);
}


.section-dark {

    background:
        var(--blue-deep);

    color:
        var(--white);

}



/* =====================================================
           05. TYPOGRAPHY
        ===================================================== */

h1,
h2,
h3,
h4 {

    margin-top: 0;

    color:
        var(--text);

    letter-spacing:
        -.035em;

}


h1 {

    font-size:
        clamp(46px,
            5vw,
            var(--text-h1));

    line-height:
        1.02;

    font-weight:
        700;

}


h2 {

    font-size:
        clamp(32px,
            3.3vw,
            var(--text-h2));

    line-height:
        1.09;

    font-weight:
        700;

}


h3 {

    font-size:
        clamp(21px,
            2vw,
            var(--text-h3));

    line-height:
        1.18;

    font-weight:
        700;

}


.eyebrow {

    display:
        inline-flex;

    align-items:
        center;

    gap: 9px;

    margin-bottom:
        14px;

    color:
        var(--blue);

    font-size:
        15px;

    font-weight:
        800;

    letter-spacing:
        .03em;

    text-transform:
        uppercase;

}


.eyebrow::before {

    content: "";

    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius:
        50%;

    background:
        var(--yellow);

}


.eyebrow-light {

    color:
        rgba(255,
            255,
            255,
            .65);

}


.section-lead {

    max-width:
        650px;

    color:
        var(--body);

    line-height:
        1.75;

}


.section-dark .section-lead {

    color:
        rgba(255,
            255,
            255,
            .66);

}



/* =====================================================
           06. HAND DRAWN CIRCLE
        ===================================================== */

.scribble-circle {

    position:
        relative;

    z-index: 1;

    display:
        inline-block;

    padding:
        0 .08em;

}


.scribble-circle::after {

    content: "";

    position:
        absolute;

    z-index:
        -1;

    left:
        -7%;

    top:
        -13%;

    width:
        114%;

    height:
        125%;

    border:
        3px solid var(--yellow);

    border-radius:
        49% 52% 47% 54% / 53% 44% 57% 46%;

    transform:
        rotate(-3deg);

}


.scribble-circle::before {

    content: "";

    position:
        absolute;

    z-index:
        -1;

    left:
        -4%;

    top:
        -7%;

    width:
        108%;

    height:
        116%;

    border-top:
        1.5px solid rgba(245,
            182,
            24,
            .72);

    border-radius:
        50%;

    transform:
        rotate(3deg);

}


.scribble-light::after {

    border-color:
        var(--yellow);

}



/* =====================================================
           07. BUTTONS
        ===================================================== */

.btn {

    position:
        relative;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap: 9px;

    min-height:
        50px;

    padding:
        0 21px;

    border:
        1px solid transparent;

    border-radius:
        999px;

    overflow:
        hidden;

    font-size:
        13px;

    font-weight:
        800;

    transition:
        transform .3s var(--ease),

        box-shadow .3s ease,

        background .3s ease,

        color .3s ease,

        border-color .3s ease;

}


.btn:hover {

    transform:
        translateY(-2px);

}


.btn-yellow {

    background:
        var(--yellow);

    color:
        var(--blue-dark);

    box-shadow:
        0 12px 30px rgba(245,
            182,
            24,
            .18);

}


.btn-yellow:hover {

    background:
        var(--yellow-dark);

    box-shadow:
        0 16px 38px rgba(245,
            182,
            24,
            .27);

}


.btn-blue {

    background:
        var(--blue);

    color:
        var(--white);

}


.btn-blue:hover {

    background:
        var(--blue-dark);

}


.btn-outline {

    background:
        var(--white);

    border-color:
        var(--border);

    color:
        var(--blue);

}


.btn-outline:hover {

    border-color:
        var(--blue);

    box-shadow:
        var(--shadow-sm);

}


.btn-glass {

    border-color:
        rgba(255,
            255,
            255,
            .32);

    background:
        rgba(255,
            255,
            255,
            .10);

    color:
        var(--white);

    backdrop-filter:
        blur(12px);

}


.btn-glass:hover {

    background:
        rgba(255,
            255,
            255,
            .18);

}


.text-link {

    display:
        inline-flex;

    align-items:
        center;

    gap: 8px;

    color:
        var(--blue);

    font-size:
        13px;

    font-weight:
        800;

}


.text-link span {

    transition:
        transform .3s var(--ease);

}


.text-link:hover span {

    transform:
        translateX(5px);

}



/* =====================================================
           08. HEADER
        ===================================================== */

.site-header {

    position:
        fixed;

    top: 4px;
    left: 0;

    z-index:
        3000;

    width:
        100%;

    border-bottom:
        1px solid var(--border);

    background:
        rgba(255,
            255,
            255,
            .96);

    backdrop-filter:
        blur(16px);

    transition:
        box-shadow .3s ease,

        background .3s ease;

}


.site-header.scrolled {

    background:
        rgba(255,
            255,
            255,
            .985);

    box-shadow:
        var(--shadow-sm);

}


.nav-inner {

    min-height:
        var(--header-height);

    display:
        flex;

    align-items:
        center;

    gap:
        28px;

}



/* =====================================================
           09. BRAND
        ===================================================== */

.brand {

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    flex-shrink:
        0;

}


.brand-mark {

    width:
        43px;

    height:
        46px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        9px;

    background:
        var(--blue);

    color:
        var(--white);

    font-size:
        21px;

    font-weight:
        800;

}


.brand-text strong {

    display:
        block;

    color:
        var(--blue);

    font-size:
        20px;

    line-height:
        1;

    letter-spacing:
        -.04em;

}


.brand-text small {

    display:
        block;

    margin-top:
        5px;

    color:
        var(--muted);

    font-size:
        7px;

    font-weight:
        800;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;

}



/* =====================================================
           10. DESKTOP NAV
        ===================================================== */

.main-nav {

    margin-left:
        auto;

    display:
        flex;

    align-items:
        center;

    gap:
        24px;

}


.nav-item {
    position: static;
}


.nav-link {

    display:
        flex;

    align-items:
        center;

    gap:
        5px;

    padding:
        29px 0;

    color:
        #39566e;

    font-size:
        13px;

    font-weight:
        700;

    transition:
        color .2s ease;

}


.nav-link:hover {

    color:
        var(--blue);

}


.nav-arrow {

    font-size:
        9px;

    transition:
        transform .3s var(--ease);

}


.nav-item:hover .nav-arrow {

    transform:
        rotate(180deg);

}


.nav-actions {

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

}


.nav-apply {

    padding:
        11px;

    color:
        var(--blue);

    font-size:
        12px;

    font-weight:
        800;

}


.nav-enquire {

    min-height:
        45px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0 18px;

    border: 0;

    border-radius:
        999px;

    background:
        var(--yellow);

    color:
        var(--blue-dark);

    font-size:
        12px;

    font-weight:
        800;

}



/* =====================================================
           11. DESKTOP FULL-WIDTH MEGA MENU
        ===================================================== */

.mega-menu {

    position:
        absolute;

    top:
        var(--header-height);

    left: 0;

    width:
        100%;

    opacity:
        0;

    visibility:
        hidden;

    pointer-events:
        none;

    transform:
        translateY(-7px);

    transition:
        opacity .2s ease,

        transform .32s var(--ease),

        visibility .2s ease;

}


.nav-item:hover .mega-menu {

    opacity:
        1;

    visibility:
        visible;

    pointer-events:
        auto;

    transform:
        translateY(0);

}


.mega-panel {

    background:
        var(--white);

    border-top:
        1px solid var(--border);

    border-bottom:
        1px solid var(--border);

    box-shadow:
        0 28px 55px rgba(15,
            55,
            90,
            .09);

}


.mega-inner {

    width:
        min(calc(100% - 48px),
            var(--container));

    min-height:
        290px;

    display:
        grid;

    grid-template-columns:
        .7fr 2.3fr;

    gap:
        65px;

    margin-inline:
        auto;

    padding:
        40px 0;

}


.mega-intro {

    padding-right:
        35px;

    border-right:
        1px solid var(--border);

}


.mega-intro>span {

    color:
        var(--yellow-dark);

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        .13em;

    text-transform:
        uppercase;

}


.mega-intro h3 {

    margin:
        13px 0;

    font-size:
        24px;

}


.mega-intro p {

    max-width:
        330px;

    color:
        var(--body);

    font-size:
        13px;

}


.mega-links {

    display:
        grid;

    grid-template-columns:
        repeat(3,
            1fr);

    gap:
        4px 22px;

    align-content:
        start;

}


.mega-links a {

    min-height:
        58px;

    display:
        flex;

    align-items:
        center;

    padding:
        0 10px;

    border-bottom:
        1px solid var(--border);

    color:
        #35516a;

    font-size:
        14px;

    font-weight:
        700;

    transition:
        padding .3s var(--ease),

        background .2s ease,

        color .2s ease;

}


.mega-links a::after {

    content:
        "↗";

    margin-left:
        auto;

    color:
        var(--yellow-dark);

    opacity:
        0;

    transform:
        translateX(-4px);

    transition:
        opacity .2s ease,

        transform .25s var(--ease);

}


.mega-links a:hover {

    padding-left:
        15px;

    background:
        #fafbfc;

    color:
        var(--blue);

}


.mega-links a:hover::after {

    opacity:
        1;

    transform:
        translateX(0);

}



/* =====================================================
           12. MOBILE MENU BUTTON
        ===================================================== */

.mobile-menu-btn {

    display:
        none;

}



/* =====================================================
           13. MOBILE NAV
        ===================================================== */

.mobile-navigation {

    display:
        none;

}



/* =====================================================
           14. HERO — FULL SCREEN IMAGE
        ===================================================== */

.hero {

    position:
        relative;

    min-height:
        100svh;

    display:
        flex;

    align-items:
        flex-end;

    overflow:
        hidden;

    padding:
        160px 0 72px;

    background:
        var(--blue-deep);

}


.hero-background {

    position:
        absolute;

    inset: 0;

    overflow:
        hidden;

}


.hero-background img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center;

    transform:
        scale(1.035);

    animation:
        heroImageIn 1.8s var(--ease) both;

    will-change:
        transform;

}


@keyframes heroImageIn {

    from {

        transform:
            scale(1.10);

    }

    to {

        transform:
            scale(1.035);

    }

}


.hero-overlay {

    position:
        absolute;

    inset: 0;

    background:

        linear-gradient(90deg,
            rgba(4,
                27,
                50,
                .90) 0%,

            rgba(4,
                27,
                50,
                .66) 43%,

            rgba(4,
                27,
                50,
                .20) 76%),

        linear-gradient(0deg,
            rgba(3,
                25,
                46,
                .84) 0%,

            transparent 56%);

}


.hero-content {

    position:
        relative;

    z-index:
        4;

}


.hero-copy {

    max-width:
        680px;

}


.hero-badge {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    min-height:
        34px;

    margin-bottom:
        19px;

    padding:
        0 13px;

    border:
        1px solid rgba(255,
            255,
            255,
            .16);

    border-radius:
        999px;

    background:
        rgba(255,
            255,
            255,
            .10);

    color:
        var(--white);

    backdrop-filter:
        blur(10px);

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        .10em;

    text-transform:
        uppercase;

}


.hero-badge::before {

    content: "";

    width:
        6px;

    height:
        6px;

    border-radius:
        50%;

    background:
        var(--yellow);

}


.hero h1 {

    max-width:
        680px;

    margin-bottom:
        20px;

    color:
        var(--white);

}


.hero-copy>p {

    max-width:
        570px;

    margin-bottom:
        0;

    color:
        rgba(255,
            255,
            255,
            .77);

    font-size:
        16px;

}


.hero-actions {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        10px;

    margin-top:
        28px;

}


.hero-bottom-info {

    max-width:
        940px;

    display:
        grid;

    grid-template-columns:
        repeat(3,
            1fr);

    margin-top:
        76px;

    border-top:
        1px solid rgba(255,
            255,
            255,
            .20);

}


.hero-bottom-info>div {

    padding:
        19px 22px 4px 0;

    border-right:
        1px solid rgba(255,
            255,
            255,
            .16);

}


.hero-bottom-info>div+div {

    padding-left:
        22px;

}


.hero-bottom-info small {

    display:
        block;

    margin-bottom:
        4px;

    color:
        var(--yellow);

    font-size:
        9px;

    font-weight:
        800;

}


.hero-bottom-info strong {

    display:
        block;

    color:
        var(--white);

    font-size:
        14px;

}


.hero-bottom-info span {

    display:
        block;

    margin-top:
        4px;

    color:
        rgba(255,
            255,
            255,
            .54);

    font-size:
        10px;

}


.hero-scroll-cue {

    position:
        absolute;

    right:
        0;

    bottom:
        5px;

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    color:
        rgba(255,
            255,
            255,
            .67);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;

}


.scroll-line {

    position:
        relative;

    width:
        48px;

    height:
        1px;

    overflow:
        hidden;

    background:
        rgba(255,
            255,
            255,
            .23);

}


.scroll-line i {

    position:
        absolute;

    inset:
        0;

    background:
        var(--yellow);

    animation:
        scrollLine 1.8s ease-in-out infinite;

}


@keyframes scrollLine {

    0% {

        transform:
            translateX(-100%);

    }

    50% {

        transform:
            translateX(0);

    }

    100% {

        transform:
            translateX(100%);

    }

}



/* =====================================================
           15. TRUST STRIP
        ===================================================== */

.trust-strip {

    position:
        relative;

    z-index:
        5;

    margin-top:
        -32px;

}


.trust-strip-inner {

    display:
        grid;

    grid-template-columns:
        repeat(4,
            1fr);

    overflow:
        hidden;

    border:
        1px solid var(--border);

    border-radius:
        var(--radius-lg);

    background:
        var(--white);

    box-shadow:
        var(--shadow-md);

}


.trust-strip-item {

    min-height:
        112px;

    padding:
        23px;

    border-right:
        1px solid var(--border);

}


.trust-strip-item:last-child {

    border-right:
        0;

}


.trust-strip-item small {

    display:
        block;

    margin-bottom:
        8px;

    color:
        var(--yellow-dark);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;

}


.trust-strip-item strong {

    display:
        block;

    color:
        var(--blue);

    font-size:
        15px;

}


.trust-strip-item span {

    display:
        block;

    margin-top:
        4px;

    color:
        var(--body);

    font-size:
        11px;

}



/* =====================================================
           16. SCHOOL OVERVIEW
        ===================================================== */

.overview {

    background:
        var(--white);

}


.overview-grid {

    display:
        grid;

    grid-template-columns:
        .62fr 1.38fr;

    gap:
        90px;

    align-items:
        start;

}


.overview-side {

    position:
        sticky;

    top:
        125px;

}


.overview-main {

    max-width:
        870px;

}


.overview-main>p {

    color:
        var(--body);

    font-size:
        17px;

    line-height:
        1.78;

}


.overview-photo {

    height:
        390px;

    margin-top:
        34px;

    overflow:
        hidden;

    border-radius:
        var(--radius-lg);

}


.overview-photo img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

}


.overview-points {

    display:
        grid;

    grid-template-columns:
        repeat(2,
            1fr);

    gap:
        9px;

    margin-top:
        24px;

}


.overview-point {

    padding:
        17px;

    border:
        1px solid var(--border);

    border-radius:
        var(--radius-sm);

    background:
        var(--bg);

}


.overview-point strong {

    display:
        block;

    margin-bottom:
        5px;

    color:
        var(--blue);

    font-size:
        15px;

}


.overview-point span {

    color:
        var(--body);

    font-size:
        13px;

}



/* =====================================================
           17. WHY SIGMA
        ===================================================== */

.why-sigma {

    background:
        var(--blue-soft);

}


.why-head {

    display:
        grid;

    grid-template-columns:
        1fr .6fr;

    gap:
        70px;

    align-items:
        end;

    margin-bottom:
        45px;

}


.why-head p {

    color:
        var(--body);

}


.why-grid {

    display:
        grid;

    grid-template-columns:
        repeat(5,
            1fr);

    border-top:
        1px solid var(--border);

}


.why-item {

    min-height:
        265px;

    padding:
        26px 22px;

    border-right:
        1px solid var(--border);

}


.why-item:first-child {

    padding-left:
        0;

}


.why-item:last-child {

    border-right:
        0;

}


.why-number {

    color:
        var(--yellow-dark);

    font-size:
        10px;

    font-weight:
        800;

}


.why-icon {

    width:
        52px;

    height:
        52px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    margin-top:
        54px;

    border-radius:
        50%;

    background:
        var(--white);

    color:
        var(--blue);

    font-size:
        18px;

}


.why-item h3 {

    margin:
        18px 0 8px;

    font-size:
        19px;

}


.why-item p {

    color:
        var(--body);

    font-size:
        12px;

}



/* =====================================================
           18. ACADEMICS
        ===================================================== */

.academics {

    background:
        var(--white);

}


.academic-head {

    display:
        grid;

    grid-template-columns:
        1fr .6fr;

    gap:
        70px;

    align-items:
        end;

    margin-bottom:
        45px;

}


.academic-head p {

    color:
        var(--body);

}


.academic-grid {

    display:
        grid;

    grid-template-columns:
        repeat(3,
            1fr);

    gap:
        14px;

}


.academic-card {

    overflow:
        hidden;

    border:
        1px solid var(--border);

    border-radius:
        var(--radius-md);

    background:
        var(--white);

    transition:
        transform .45s var(--ease),

        box-shadow .45s ease;

}


.academic-card:hover {

    transform:
        translateY(-6px);

    box-shadow:
        var(--shadow-md);

}


.academic-image {

    height:
        225px;

    overflow:
        hidden;

}


.academic-image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform .9s var(--ease);

}


.academic-card:hover .academic-image img {

    transform:
        scale(1.05);

}


.academic-body {

    padding:
        25px;

}


.academic-tag {

    color:
        var(--yellow-dark);

    font-size:
        12px;

    font-weight:
        800;

    letter-spacing:
        .10em;

    text-transform:
        uppercase;

}


.academic-body h3 {

    margin:
        12px 0 9px;

}


.academic-body p {

    color:
        var(--body);

    font-size:
        13px;

}



/* =====================================================
           19. DAY + RESIDENTIAL SELECTOR
        ===================================================== */

.school-options {

    background:
        var(--warm-light);

}


.school-options-head {

    display:
        grid;

    grid-template-columns:
        1fr .6fr;

    gap:
        70px;

    align-items:
        end;

    margin-bottom:
        45px;

}


.school-options-head p {

    color:
        var(--body);

}


.school-options-grid {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        14px;

}


.school-option {

    position:
        relative;

    min-height:
        560px;

    overflow:
        hidden;

    border-radius:
        var(--radius-lg);

    isolation:
        isolate;

}


.school-option img {

    position:
        absolute;

    inset: 0;

    z-index:
        -2;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform 1s var(--ease);

}


.school-option:hover img {

    transform:
        scale(1.05);

}


.school-option::after {

    content: "";

    position:
        absolute;

    inset: 0;

    z-index:
        -1;

    background:
        linear-gradient(to top,
            rgba(5,
                31,
                55,
                .92) 0%,

            rgba(5,
                31,
                55,
                .08) 72%);

}


.school-option-content {

    position:
        absolute;

    left: 0;
    right: 0;
    bottom: 0;

    padding:
        34px;

}


.school-option-content small {

    color:
        var(--yellow);

    font-size:
        12px;

    font-weight:
        800;

    letter-spacing:
        .10em;

    text-transform:
        uppercase;

}


.school-option-content h3 {

    margin:
        11px 0;

    color:
        var(--white);

}


.school-option-content p {

    max-width:
        510px;

    color:
        rgba(255,
            255,
            255,
            .70);

    font-size:
        13px;

}


.school-option-content .text-link {

    color:
        var(--white);

}



/* =====================================================
           20. DARK LEGACY SECTION
        ===================================================== */

.legacy {

    overflow:
        hidden;

    background:
        var(--blue-deep);

    color:
        var(--white);

}


.legacy-head {

    max-width:
        760px;

    margin-bottom:
        40px;

}


.legacy-head h2 {

    color:
        var(--white);

}


.legacy-panel {

    display:
        grid;

    grid-template-columns:
        1.2fr .8fr;

    overflow:
        hidden;

    border:
        1px solid rgba(255,
            255,
            255,
            .12);

    border-radius:
        var(--radius-lg);

}


.legacy-main {

    position:
        relative;

    min-height:
        455px;

    padding:
        clamp(35px,
            5vw,
            60px);

    overflow:
        hidden;

    background:
        rgba(255,
            255,
            255,
            .055);

}


.legacy-main::after {

    content:
        "SIGMA";

    position:
        absolute;

    right:
        -45px;

    bottom:
        -35px;

    color:
        rgba(255,
            255,
            255,
            .035);

    font-size:
        145px;

    font-weight:
        800;

    letter-spacing:
        -.08em;

    pointer-events:
        none;

}


.legacy-label {

    color:
        rgba(255,
            255,
            255,
            .46);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;

}


.legacy-main h2 {

    position:
        relative;

    z-index:
        2;

    margin:
        52px 0 17px;

    color:
        var(--white);

}


.legacy-main p {

    position:
        relative;

    z-index:
        2;

    max-width:
        580px;

    color:
        rgba(255,
            255,
            255,
            .66);

}


.legacy-side {

    min-height:
        455px;

    display:
        flex;

    flex-direction:
        column;

    padding:
        clamp(35px,
            4vw,
            55px);

    background:
        var(--yellow);

}


.legacy-side .legacy-label {

    color:
        rgba(11,
            49,
            87,
            .62);

}


.legacy-side h3 {

    margin:
        auto 0 15px;

    color:
        var(--blue-dark);

}


.legacy-side p {

    max-width:
        400px;

    color:
        rgba(11,
            49,
            87,
            .75);

    font-size:
        13px;

}



/* =====================================================
           21. FULL RESIDENTIAL SECTION
        ===================================================== */

.residential {

    background:
        var(--white);

}


.residential-head {

    max-width:
        760px;

    margin-bottom:
        46px;

}


.residential-grid {

    display:
        grid;

    grid-template-columns:
        1.08fr .92fr;

    gap:
        70px;

    align-items:
        center;

}


.residential-images {

    position:
        relative;

    min-height:
        620px;

}


.residential-main {

    position:
        absolute;

    inset:
        0 50px 45px 0;

    overflow:
        hidden;

    border-radius:
        var(--radius-lg);

}


.residential-main img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

}


.residential-small {

    position:
        absolute;

    right: 0;
    bottom: 0;

    width:
        44%;

    height:
        215px;

    overflow:
        hidden;

    border:
        7px solid var(--white);

    border-radius:
        var(--radius-md);

    box-shadow:
        var(--shadow-md);

}


.residential-small img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

}


.residential-badge {

    position:
        absolute;

    left:
        20px;

    bottom:
        80px;

    z-index:
        3;

    max-width:
        215px;

    padding:
        15px 17px;

    border:
        1px solid var(--border);

    border-radius:
        var(--radius-md);

    background:
        rgba(255,
            255,
            255,
            .94);

    box-shadow:
        var(--shadow-md);

    backdrop-filter:
        blur(12px);

}


.residential-badge strong {

    display:
        block;

    color:
        var(--blue);

    font-size:
        13px;

}


.residential-badge span {

    display:
        block;

    margin-top:
        4px;

    color:
        var(--body);

    font-size:
        10px;

}


.residential-copy>p {

    color:
        var(--body);

}


.residential-features {

    margin:
        32px 0;

    border-top:
        1px solid var(--border);

}


.residential-feature {

    display:
        grid;

    grid-template-columns:
        135px 1fr;

    gap:
        20px;

    padding:
        17px 0;

    border-bottom:
        1px solid var(--border);

}


.residential-feature strong {

    color:
        var(--blue);

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;

}


.residential-feature span {

    color:
        var(--body);

    font-size:
        13px;

}



/* =====================================================
           22. BEYOND ACADEMICS
        ===================================================== */

.activities {

    overflow:
        hidden;

    background:
        var(--blue-soft);

}


.activities-head {

    display:
        grid;

    grid-template-columns:
        1fr .6fr;

    gap:
        70px;

    align-items:
        end;

    margin-bottom:
        45px;

}


.activities-head p {

    color:
        var(--body);

}


.activity-grid {

    display:
        grid;

    grid-template-columns:
        repeat(4,
            1fr);

    gap:
        12px;

}


.activity-card {

    position:
        relative;

    height:
        410px;

    overflow:
        hidden;

    border-radius:
        var(--radius-md);

    transition:
        transform .45s var(--ease);

}


.activity-card:nth-child(2),
.activity-card:nth-child(4) {

    transform:
        translateY(38px);

}


.activity-card:hover {

    transform:
        translateY(-5px);

}


.activity-card:nth-child(2):hover,
.activity-card:nth-child(4):hover {

    transform:
        translateY(31px);

}


.activity-card img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform .9s var(--ease);

}


.activity-card:hover img {

    transform:
        scale(1.05);

}


.activity-label {

    position:
        absolute;

    left:
        14px;

    bottom:
        14px;

    padding:
        8px 12px;

    border-radius:
        999px;

    background:
        rgba(255,
            255,
            255,
            .94);

    color:
        var(--blue);

    font-size:
        10px;

    font-weight:
        800;

    backdrop-filter:
        blur(8px);

}



/* =====================================================
           23. CAMPUS / GALLERY
        ===================================================== */

.gallery {

    background:
        var(--white);

}


.gallery-head {

    display:
        grid;

    grid-template-columns:
        1fr .55fr;

    gap:
        65px;

    align-items:
        end;

    margin-bottom:
        45px;

}


.gallery-head p {

    color:
        var(--body);

}


.gallery-grid {

    display:
        grid;

    grid-template-columns:
        repeat(12,
            1fr);

    grid-auto-rows:
        220px;

    gap:
        11px;

}


.gallery-item {

    position:
        relative;

    overflow:
        hidden;

    border-radius:
        var(--radius-md);

}


.gallery-item:nth-child(1) {

    grid-column:
        span 7;

    grid-row:
        span 2;

}


.gallery-item:nth-child(2),
.gallery-item:nth-child(3) {

    grid-column:
        span 5;

}


.gallery-item:nth-child(4),
.gallery-item:nth-child(5),
.gallery-item:nth-child(6) {

    grid-column:
        span 4;

}


.gallery-item img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform .9s var(--ease);

}


.gallery-item:hover img {

    transform:
        scale(1.05);

}


.gallery-label {

    position:
        absolute;

    left:
        13px;

    bottom:
        13px;

    padding:
        7px 10px;

    border-radius:
        999px;

    background:
        rgba(255,
            255,
            255,
            .94);

    color:
        var(--blue);

    font-size:
        10px;

    font-weight:
        800;

    backdrop-filter:
        blur(8px);

}



/* =====================================================
           24. TESTIMONIAL / TRUST
        ===================================================== */

.trust-section {

    background:
        var(--warm);

}


.trust-head {

    max-width:
        730px;

    margin-bottom:
        42px;

}


.trust-grid {

    display:
        grid;

    grid-template-columns:
        1.15fr .85fr;

    gap:
        14px;

}


.trust-story {

    min-height:
        390px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        flex-end;

    padding:
        36px;

    border-radius:
        var(--radius-lg);

    background:
        var(--white);

    border:
        1px solid var(--border);

}


.trust-story blockquote {

    max-width:
        700px;

    margin:
        0;

    color:
        var(--text);

    font-size:
        24px;

    line-height:
        1.35;

    letter-spacing:
        -.025em;

}


.trust-story footer {

    margin-top:
        30px;

    color:
        var(--body);

    font-size:
        12px;

}


.trust-side {

    display:
        grid;

    grid-template-rows:
        1fr 1fr;

    gap:
        14px;

}


.trust-mini {

    padding:
        27px;

    border:
        1px solid var(--border);

    border-radius:
        var(--radius-lg);

    background:
        var(--white);

}


.trust-mini small {

    color:
        var(--yellow-dark);

    font-size:
        9px;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .09em;

}


.trust-mini h3 {

    margin:
        14px 0 8px;

}


.trust-mini p {

    color:
        var(--body);

    font-size:
        12px;

}



/* =====================================================
           25. DARK ADMISSIONS
        ===================================================== */

.admissions {

    background:

        radial-gradient(circle at 80% 30%,
            rgba(245,
                182,
                24,
                .10),
            transparent 30%),

        linear-gradient(135deg,
            var(--blue-dark),
            var(--blue));

    color:
        var(--white);

}


.admissions h2 {

    color:
        var(--white);

}


.admissions-head {

    display:
        grid;

    grid-template-columns:
        1fr .6fr;

    gap:
        70px;

    align-items:
        end;

}


.admissions-head p {

    color:
        rgba(255,
            255,
            255,
            .67);

}


.steps {

    margin-top:
        48px;

    border-top:
        1px solid rgba(255,
            255,
            255,
            .15);

}


.step {

    min-height:
        78px;

    display:
        grid;

    grid-template-columns:
        60px 1fr auto;

    gap:
        20px;

    align-items:
        center;

    border-bottom:
        1px solid rgba(255,
            255,
            255,
            .15);

    transition:
        padding .35s var(--ease),

        background .3s ease;

}


.step:hover {

    padding-left:
        12px;

    background:
        rgba(255,
            255,
            255,
            .04);

}


.step small {

    color:
        var(--yellow);

    font-weight:
        800;

}


.step strong {

    font-size:
        17px;

}



/* =====================================================
           26. FAQ
        ===================================================== */

.faq {

    background:
        var(--white);

}


.faq-grid {

    display:
        grid;

    grid-template-columns:
        .65fr 1.35fr;

    gap:
        90px;

}


.faq-intro {

    position:
        sticky;

    top:
        120px;

    align-self:
        start;

}


.faq-list {

    border-top:
        1px solid var(--border);

}


.faq-item {

    border-bottom:
        1px solid var(--border);

}


.faq-question {

    width:
        100%;

    display:
        grid;

    grid-template-columns:
        1fr auto;

    gap:
        20px;

    align-items:
        center;

    padding:
        22px 0;

    border: 0;

    background:
        transparent;

    color:
        var(--text);

    text-align:
        left;

    font-size:
        15px;

    font-weight:
        700;

}


.faq-icon {

    width:
        31px;

    height:
        31px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        var(--blue-soft);

    color:
        var(--blue);

    transition:
        transform .3s var(--ease),

        background .3s ease;

}


.faq-answer {

    display:
        grid;

    grid-template-rows:
        0fr;

    transition:
        grid-template-rows .4s var(--ease);

}


.faq-answer>div {

    overflow:
        hidden;

}


.faq-answer p {

    max-width:
        680px;

    margin:
        0 0 22px;

    color:
        var(--body);

    font-size:
        13px;

}


.faq-item.active .faq-answer {

    grid-template-rows:
        1fr;

}


.faq-item.active .faq-icon {

    transform:
        rotate(45deg);

    background:
        var(--yellow);

}



/* =====================================================
           27. ENQUIRY SECTION
        ===================================================== */

.enquiry-section {

    background:

        linear-gradient(135deg,
            #edf4f8,
            #f8f6f0);

}


.enquiry-layout {

    display:
        grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap:
        85px;

    align-items:
        center;

}


.enquiry-copy>p {

    max-width:
        570px;

    color:
        var(--body);

}


.enquiry-trust {

    display:
        flex;

    flex-direction:
        column;

    gap:
        11px;

    margin-top:
        30px;

}


.enquiry-trust>div {

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

}


.enquiry-trust>div>span {

    width:
        24px;

    height:
        24px;

    flex:
        0 0 24px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        var(--yellow);

    color:
        var(--blue-dark);

    font-size:
        10px;

    font-weight:
        800;

}


.enquiry-trust p {

    margin:
        0;

    color:
        var(--text);

    font-size:
        13px;

    font-weight:
        700;

}


.enquiry-card {

    padding:
        clamp(28px,
            4vw,
            45px);

    border:
        1px solid var(--border);

    border-radius:
        var(--radius-lg);

    background:
        var(--white);

    box-shadow:
        var(--shadow-md);

}


.form-header>span {

    color:
        var(--yellow-dark);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;

}


.form-header h3 {

    margin:
        7px 0 4px;

}


.form-header p {

    margin-bottom:
        26px;

    color:
        var(--body);

    font-size:
        12px;

}


.form-grid {

    display:
        grid;

    grid-template-columns:
        repeat(2,
            1fr);

    gap:
        15px;

}


.form-field {

    display:
        flex;

    flex-direction:
        column;

    gap:
        7px;

}


.form-field.full {

    grid-column:
        1 / -1;

}


.form-field>label {

    color:
        var(--text);

    font-size:
        11px;

    font-weight:
        800;

}


.form-field input,
.form-field select {

    width:
        100%;

    height:
        52px;

    padding:
        0 15px;

    outline: none;

    border:
        1px solid var(--border);

    border-radius:
        12px;

    background:
        #fafbfc;

    color:
        var(--text);

    font-size:
        13px;

    transition:
        border-color .2s ease,

        box-shadow .2s ease,

        background .2s ease;

}


.form-field input:focus,
.form-field select:focus {

    border-color:
        var(--blue);

    background:
        var(--white);

    box-shadow:
        0 0 0 3px rgba(18,
            63,
            104,
            .07);

}


.choice-row {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

}


.choice-pill {

    position:
        relative;

}


.choice-pill input {

    position:
        absolute;

    opacity:
        0;

    pointer-events:
        none;

}


.choice-pill span {

    min-height:
        42px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0 14px;

    border:
        1px solid var(--border);

    border-radius:
        999px;

    background:
        var(--white);

    color:
        var(--body);

    font-size:
        11px;

    font-weight:
        700;

    cursor:
        pointer;

}


.choice-pill input:checked+span {

    border-color:
        var(--blue);

    background:
        var(--blue-soft);

    color:
        var(--blue);

}


.enquiry-submit {

    width:
        100%;

    margin-top:
        21px;

    border:
        0;

}


.privacy-note {

    display:
        block;

    margin-top:
        10px;

    color:
        var(--muted);

    font-size:
        9px;

    text-align:
        center;

}



/* =====================================================
           28. ENQUIRY POPUP
        ===================================================== */

.enquiry-modal {

    position:
        fixed;

    inset: 0;

    z-index:
        7000;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        20px;

    opacity:
        0;

    visibility:
        hidden;

    pointer-events:
        none;

    transition:
        opacity .28s ease,

        visibility .28s ease;

}


.enquiry-modal.active {

    opacity:
        1;

    visibility:
        visible;

    pointer-events:
        auto;

}


.enquiry-modal-backdrop {

    position:
        absolute;

    inset: 0;

    background:
        rgba(5,
            31,
            55,
            .76);

    backdrop-filter:
        blur(10px);

}


.enquiry-modal-card {

    position:
        relative;

    z-index:
        2;

    width:
        min(100%,
            900px);

    max-height:
        calc(100svh - 40px);

    display:
        grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap:
        45px;

    overflow-y:
        auto;

    padding:
        clamp(28px,
            4vw,
            48px);

    border-radius:
        28px;

    background:
        var(--white);

    box-shadow:
        var(--shadow-lg);

    transform:
        translateY(20px) scale(.98);

    transition:
        transform .45s var(--ease);

}


.enquiry-modal.active .enquiry-modal-card {

    transform:
        translateY(0) scale(1);

}


.modal-close {

    position:
        absolute;

    top:
        14px;

    right:
        14px;

    width:
        38px;

    height:
        38px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border: 0;

    border-radius:
        50%;

    background:
        var(--blue-soft);

    color:
        var(--blue);

    font-size:
        22px;

}


.modal-intro p {

    color:
        var(--body);

}


.modal-form {

    display:
        flex;

    flex-direction:
        column;

    gap:
        13px;

    padding-top:
        12px;

}



/* =====================================================
           29. FOOTER
        ===================================================== */

.site-footer {

    min-height:
        100svh;

    display:
        flex;

    flex-direction:
        column;

    overflow:
        hidden;

    padding-top:
        clamp(75px,
            7vw,
            110px);

    background:
        var(--blue-deep);

    color:
        var(--white);

}


.footer-grid {

    display:
        grid;

    grid-template-columns:
        1.2fr .7fr .7fr .7fr;

    gap:
        55px;

}


.footer-main h2 {

    max-width:
        520px;

    color:
        var(--white);

}


.footer-main p {

    max-width:
        450px;

    color:
        rgba(255,
            255,
            255,
            .58);

}


.footer-col {

    display:
        flex;

    flex-direction:
        column;

    gap:
        10px;

}


.footer-col>strong {

    margin-bottom:
        10px;

    color:
        var(--yellow);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        .11em;

    text-transform:
        uppercase;

}


.footer-col a,
.footer-col p {

    margin:
        0;

    color:
        rgba(255,
            255,
            255,
            .62);

    font-size:
        12px;

    transition:
        color .2s ease;

}


.footer-col a:hover {

    color:
        var(--white);

}


.footer-socials {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

    margin-top:
        19px;

}


.footer-socials a {

    width:
        37px;

    height:
        37px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid rgba(255,
            255,
            255,
            .16);

    border-radius:
        50%;

    color:
        var(--white);

    font-size:
        9px;

    font-weight:
        800;

    transition:
        transform .3s var(--ease),

        background .3s ease,

        color .3s ease;

}


.footer-socials a:hover {

    transform:
        translateY(-3px);

    background:
        var(--yellow);

    color:
        var(--blue-dark);

}


.footer-bottom {

    margin-top:
        auto;

}


.footer-meta {

    display:
        flex;

    justify-content:
        space-between;

    gap:
        25px;

    padding:
        35px 0 20px;

    border-bottom:
        1px solid rgba(255,
            255,
            255,
            .10);

    color:
        rgba(255,
            255,
            255,
            .35);

    font-size:
        9px;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;

}


.footer-sigma {

    margin:
        10px 0 -4vw;

    color:
        rgba(255,
            255,
            255,
            .055);

    font-size:
        clamp(110px,
            24vw,
            340px);

    line-height:
        .72;

    font-weight:
        800;

    letter-spacing:
        -.08em;

    text-align:
        center;

    white-space:
        nowrap;

    transform:
        translateY(var(--footer-parallax,
                0px));

    will-change:
        transform;

}



/* =====================================================
           30. MOBILE STICKY CTA
        ===================================================== */

.mobile-action-bar {

    display:
        none;

}



/* =====================================================
           31. MICRO ANIMATIONS
        ===================================================== */

.reveal {

    opacity:
        0;

    transform:
        translate3d(0,
            27px,
            0);

    transition:
        opacity .8s var(--ease),

        transform .8s var(--ease);

}


.reveal.visible {
    opacity:
        1;

    transform:
        translate3d(0,
            0,
            0);

}


.reveal-delay-1 {

    transition-delay:
        .08s;

}


.reveal-delay-2 {

    transition-delay:
        .16s;

}


.reveal-delay-3 {

    transition-delay:
        .24s;

}


.reveal.visible .scribble-circle::after {

    animation:
        scribbleIn .75s .15s var(--ease) both;

}


@keyframes scribbleIn {

    from {

        opacity:
            0;

        transform:
            rotate(-8deg) scale(.78);

    }

    to {

        opacity:
            1;

        transform:
            rotate(-3deg) scale(1);

    }

}


.micro-lift {

    transition:
        transform .4s var(--ease),

        box-shadow .4s ease;

}


.micro-lift:hover {

    transform:
        translateY(-6px);

    box-shadow:
        var(--shadow-md);

}



/* =====================================================
           32. RESPONSIVE
        ===================================================== */

@media (max-width: 1180px) {

    .main-nav {
        gap:
            15px;
    }


    .nav-apply {
        display:
            none;
    }


    .why-grid {

        grid-template-columns:
            repeat(3,
                1fr);

    }


    .activity-grid {

        grid-template-columns:
            repeat(2,
                1fr);

    }


    .activity-card:nth-child(n) {

        transform:
            none;

    }


    .activity-card:nth-child(n):hover {

        transform:
            translateY(-5px);

    }

}



/* =====================================================
           TABLET / MOBILE NAV
        ===================================================== */

@media (max-width: 920px) {

    .main-nav,
    .nav-actions {

        display:
            none;

    }


    .mobile-menu-btn {

        position:
            relative;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        margin-left:
            auto;

        width:
            44px;

        height:
            44px;

        border: 0;

        border-radius:
            50%;

        background:
            var(--blue);

    }


    .mobile-menu-btn span {

        position:
            absolute;

        width:
            18px;

        height:
            1.5px;

        display:
            block;

        background:
            var(--white);

        transition:
            transform .3s var(--ease),

            opacity .2s ease;

    }


    .mobile-menu-btn span:nth-child(1) {

        transform:
            translateY(-5px);

    }


    .mobile-menu-btn span:nth-child(3) {

        transform:
            translateY(5px);

    }


    .mobile-menu-btn.active span:nth-child(1) {

        transform:
            rotate(45deg);

    }


    .mobile-menu-btn.active span:nth-child(2) {

        opacity:
            0;

    }


    .mobile-menu-btn.active span:nth-child(3) {

        transform:
            rotate(-45deg);

    }



    /* MOBILE NAV */

    .mobile-navigation {

        position:
            fixed;

        top:
            calc(var(--header-height) + 4px);

        left: 0;
        right: 0;
        bottom: 0;

        z-index:
            2999;

        display:
            block;

        overflow-y:
            auto;

        background:
            var(--white);

        opacity:
            0;

        visibility:
            hidden;

        transform:
            translateY(-12px);

        transition:
            opacity .3s ease,

            transform .4s var(--ease),

            visibility .3s ease;

    }


    .mobile-navigation.active {

        opacity:
            1;

        visibility:
            visible;

        transform:
            translateY(0);

    }


    .mobile-nav-inner {

        width:
            calc(100% - 32px);

        margin-inline:
            auto;

        padding:
            16px 0 125px;

    }


    .mobile-nav-group {

        border-bottom:
            1px solid var(--border);

    }


    .mobile-nav-parent,
    .mobile-single-link {

        width:
            100%;

        min-height:
            61px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        padding:
            0;

        border: 0;

        background:
            transparent;

        color:
            var(--text);

        text-align:
            left;

        font-size:
            17px;

        font-weight:
            700;

    }


    .mobile-single-link {

        border-bottom:
            1px solid var(--border);

    }


    .mobile-nav-plus {

        color:
            var(--yellow-dark);

        font-size:
            21px;

        transition:
            transform .3s var(--ease);

    }


    .mobile-nav-group.open .mobile-nav-plus {

        transform:
            rotate(45deg);

    }


    .mobile-submenu {

        max-height:
            0;

        overflow:
            hidden;

        /* ONE TAB / LEVEL INSIDE */

        padding-left:
            24px;

        opacity:
            0;

        transition:
            max-height .4s var(--ease),

            opacity .3s ease,

            padding-bottom .3s ease;

    }


    .mobile-nav-group.open .mobile-submenu {

        max-height:
            450px;

        opacity:
            1;

        padding-bottom:
            15px;

    }


    .mobile-submenu a {

        position:
            relative;

        display:
            block;

        padding:
            9px 0 9px 13px;

        color:
            var(--body);

        font-size:
            13px;

        font-weight:
            600;

    }


    .mobile-submenu a::before {

        content: "";

        position:
            absolute;

        left: 0;

        top:
            50%;

        width:
            4px;

        height:
            4px;

        border-radius:
            50%;

        background:
            var(--yellow);

        transform:
            translateY(-50%);

    }


    .mobile-nav-cta {

        display:
            grid;

        grid-template-columns:
            1fr 1fr;

        gap:
            8px;

        margin-top:
            22px;

    }



    /* HERO */

    .hero {

        padding:
            125px 0 95px;

    }


    .hero-overlay {

        background:

            linear-gradient(0deg,
                rgba(4,
                    27,
                    50,
                    .95) 0%,

                rgba(4,
                    27,
                    50,
                    .71) 55%,

                rgba(4,
                    27,
                    50,
                    .20) 100%);

    }


    .hero-bottom-info {

        grid-template-columns:
            1fr;

        margin-top:
            44px;

    }


    .hero-bottom-info>div {

        padding:
            10px 0;

        border-right:
            0;

        border-bottom:
            1px solid rgba(255,
                255,
                255,
                .14);

    }


    .hero-bottom-info>div+div {

        padding-left:
            0;

    }


    .hero-scroll-cue {

        display:
            none;

    }



    /* GENERAL GRIDS */

    .overview-grid,
    .why-head,
    .academic-head,
    .school-options-head,
    .legacy-panel,
    .residential-grid,
    .activities-head,
    .gallery-head,
    .trust-grid,
    .admissions-head,
    .faq-grid,
    .enquiry-layout,
    .footer-grid,
    .enquiry-modal-card {

        grid-template-columns:
            1fr;

    }


    .overview-grid,
    .residential-grid,
    .faq-grid {

        gap:
            48px;

    }


    .overview-side,
    .faq-intro {

        position:
            static;

    }


    .academic-grid {

        grid-template-columns:
            repeat(2,
                1fr);

    }


    .school-options-grid {

        grid-template-columns:
            1fr;

    }


    .legacy-side {

        min-height:
            330px;

    }


    .why-grid {

        grid-template-columns:
            repeat(2,
                1fr);

    }


    .gallery-grid {

        grid-template-columns:
            repeat(2,
                1fr);

        grid-auto-rows:
            260px;

    }


    .gallery-item:nth-child(n) {

        grid-column:
            span 1;

        grid-row:
            span 1;

    }


    .gallery-item:nth-child(1) {

        grid-column:
            span 2;

    }


    .enquiry-layout {

        gap:
            42px;

    }



    /* MOBILE CTA BAR */

    .mobile-action-bar {

        position:
            fixed;

        left:
            14px;

        right:
            14px;

        bottom:
            calc(12px + env(safe-area-inset-bottom));

        z-index:
            6000;

        display:
            grid;

        grid-template-columns:
            1fr 1.25fr 1fr;

        gap:
            4px;

        padding:
            5px;

        border:
            1px solid rgba(16,
                61,
                104,
                .12);

        border-radius:
            20px;

        background:
            rgba(248,
                249,
                250,
                .97);

        box-shadow:
            0 15px 40px rgba(5,
                35,
                60,
                .20);

        backdrop-filter:
            blur(18px);

    }


    .mobile-action {

        min-height:
            46px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        border: 0;

        border-radius:
            15px;

        background:
            transparent;

        color:
            var(--text);

        font-size:
            11px;

        font-weight:
            800;

    }


    .mobile-action-primary {

        background:
            var(--yellow);

        color:
            var(--blue-dark);

    }


    .site-footer {

        padding-bottom:
            90px;

    }

}



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

@media (max-width: 640px) {

    .container {

        width:
            calc(100% - 28px);

    }


    h1 {

        font-size:
            42px;

    }


    h2 {

        font-size:
            32px;

    }


    h3 {

        font-size:
            22px;

    }


    .nav-inner {

        min-height:
            72px;

    }


    :root {

        --header-height:
            72px;

    }


    .brand-mark {

        width:
            37px;

        height:
            40px;

    }


    .brand-text strong {

        font-size:
            18px;

    }


    .hero {

        min-height:
            100svh;

        padding:
            118px 0 92px;

    }


    .hero-copy>p {

        font-size:
            14px;

    }


    .hero-actions {

        flex-direction:
            row;

    }


    .hero-actions .btn {

        width:
            auto;

        padding:
            0 16px;

    }


    .hero-bottom-info {

        display:
            none;

    }


    .trust-strip {

        margin-top:
            -22px;

    }


    .trust-strip-inner {

        grid-template-columns:
            repeat(2,
                1fr);

    }


    .trust-strip-item {

        min-height:
            100px;

        padding:
            18px 14px;

        border-bottom:
            1px solid var(--border);

    }


    .trust-strip-item:nth-child(2n) {

        border-right:
            0;

    }


    .overview-points,
    .why-grid,
    .academic-grid,
    .activity-grid {

        grid-template-columns:
            1fr;

    }


    .why-item {

        min-height:
            220px;

        padding-left:
            0;

        border-right:
            0;

        border-bottom:
            1px solid var(--border);

    }


    .why-icon {

        margin-top:
            35px;

    }


    .school-option {

        min-height:
            480px;

    }


    .school-option-content {

        padding:
            25px;

    }


    .residential-images {

        min-height:
            450px;

    }


    .residential-main {

        inset:
            0 24px 34px 0;

    }


    .residential-small {

        height:
            160px;

        border-width:
            5px;

    }


    .residential-badge {

        left:
            12px;

        bottom:
            58px;

        max-width:
            185px;

    }


    .residential-feature {

        grid-template-columns:
            1fr;

        gap:
            5px;

    }


    .activity-grid {

        gap:
            10px;

    }


    .activity-card {

        height:
            380px;

    }


    .gallery-grid {

        display:
            flex;

        flex-direction:
            column;

    }


    .gallery-item {

        height:
            315px;

    }


    .trust-story {

        min-height:
            320px;

        padding:
            25px;

    }


    .trust-story blockquote {

        font-size:
            20px;

    }


    .form-grid {

        grid-template-columns:
            1fr;

    }


    .form-field.full {

        grid-column:
            auto;

    }


    .enquiry-card {

        padding:
            23px 18px;

    }


    .enquiry-modal {

        padding:
            9px;

    }


    .enquiry-modal-card {

        padding:
            55px 19px 24px;

        border-radius:
            22px;

    }


    .footer-meta {

        flex-direction:
            column;

    }


    .footer-sigma {

        font-size:
            27vw;

    }

}



/* =====================================================
           REDUCED MOTION
        ===================================================== */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {

        scroll-behavior:
            auto !important;

        animation-duration:
            .01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .01ms !important;

    }


    .reveal {

        opacity:
            1;

        transform:
            none;

    }

}


/* ABOUT US PAGE START  */

/* ================================================================
   ================================================================
   ABOUT SIGMA PAGE
   ONLY UNIQUE ABOUT PAGE STYLES
   ================================================================
   ================================================================ */


/* ================================================================
   01. HERO
================================================================ */

.about-hero {
    position: relative;

    min-height: 690px;

    display: flex;
    align-items: flex-end;

    overflow: hidden;

    padding:
        160px 0 72px;

    background: var(--blue-deep);
    color: var(--white);
}


.about-hero-image {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transform: scale(1.025);
}


.about-hero-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(90deg,
            rgba(5, 38, 67, .95) 0%,
            rgba(5, 38, 67, .83) 42%,
            rgba(5, 38, 67, .43) 75%,
            rgba(5, 38, 67, .26) 100%),
        linear-gradient(0deg,
            rgba(5, 38, 67, .70),
            transparent 60%);
}


/*
 * IMPORTANT:
 * Horizontal spacing comes ONLY from global .container.
 */

.about-hero .container {
    position: relative;
    z-index: 2;
    width: 100%;
}


.about-hero-inner {
    max-width: 850px;
    padding-bottom: 62px;
}


.about-breadcrumb {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 34px;

    color:
        rgba(255, 255, 255, .57);

    font-size: 12px;
}


.about-breadcrumb a {
    color:
        rgba(255, 255, 255, .57);

    transition:
        color .25s ease;
}


.about-breadcrumb a:hover {
    color: var(--yellow);
}


.about-breadcrumb span:last-child {
    color: var(--white);

    font-weight: 700;
}


.about-hero .eyebrow {
    color: var(--yellow);
}


.about-hero h1 {
    max-width: 800px;

    margin-bottom: 22px;

    color: var(--white);

    font-size:
        clamp(43px,
            5.2vw,
            67px);

    line-height: 1.02;
}


.about-hero-copy {
    max-width: 620px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .68);

    font-size: 16px;

    line-height: 1.7;
}


.about-hero-meta {
    display: flex;
    align-items: center;

    gap: 42px;

    margin-top: 40px;

    flex-wrap: wrap;
}


.about-hero-meta-item {
    padding-left: 15px;

    border-left:
        2px solid var(--yellow);
}


.about-hero-meta-item strong {
    display: block;

    margin-bottom: 5px;

    color: var(--white);

    font-size: 15px;
}


.about-hero-meta-item span {
    display: block;

    color:
        rgba(255, 255, 255, .45);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}



/* ================================================================
   02. WHO WE ARE
================================================================ */

.about-story {
    background: var(--white);
}


.about-story-grid {
    display: grid;

    grid-template-columns:
        .7fr 1.3fr;

    gap:
        clamp(60px,
            8vw,
            120px);

    align-items: start;
}


.about-story-title {
    position: sticky;

    top: 120px;
}


.about-story-title h2 {
    max-width: 410px;

    margin-bottom: 0;
}


.about-story-lead {
    max-width: 720px;

    margin-bottom: 30px;

    color: var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(23px,
            2.2vw,
            31px);

    line-height: 1.4;

    letter-spacing: -.025em;
}


.about-story-copy {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 30px;
}


.about-story-copy p {
    margin-bottom: 0;

    font-size: 14px;
}


.about-story-image {
    position: relative;

    margin-top: 45px;

    overflow: hidden;

    border-radius: 24px;
}


.about-story-image img {
    width: 100%;
    height: 470px;

    object-fit: cover;

    transition:
        transform .9s var(--ease);
}


.about-story-image:hover img {
    transform: scale(1.025);
}


.about-story-image-note {
    position: absolute;

    right: 18px;
    bottom: 18px;

    width: 250px;

    padding: 18px;

    border-radius: 15px;

    background:
        rgba(5, 38, 67, .9);

    backdrop-filter:
        blur(12px);
}


.about-story-image-note small {
    display: block;

    margin-bottom: 6px;

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.about-story-image-note strong {
    display: block;

    color: var(--white);

    font-size: 15px;

    line-height: 1.4;
}



/* ================================================================
   03. DIFFERENCE
================================================================ */

.about-difference {
    background: var(--soft-blue);
}


.about-difference-head {
    display: grid;

    grid-template-columns:
        1fr .65fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 48px;
}


.about-difference-head h2 {
    max-width: 620px;

    margin-bottom: 0;
}


.about-difference-head>p {
    max-width: 450px;

    margin-bottom: 3px;
}


.about-difference-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}


.about-difference-card {
    min-height: 290px;

    padding: 27px;

    display: flex;
    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.about-difference-card:hover {
    transform:
        translateY(-6px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.about-difference-card>span {
    display: block;

    margin-bottom: auto;

    color:
        rgba(18, 63, 104, .17);

    font-size: 43px;
    font-weight: 800;

    line-height: 1;
}


.about-difference-card h3 {
    margin:
        40px 0 8px;

    font-size: 20px;
}


.about-difference-card p {
    margin-bottom: 0;

    font-size: 13px;

    line-height: 1.6;
}



/* ================================================================
   04. LEGACY
================================================================ */

.about-legacy {
    overflow: hidden;

    background: var(--blue-deep);

    color: var(--white);
}


.about-legacy .eyebrow {
    color: var(--yellow);
}


.about-legacy-grid {
    display: grid;

    grid-template-columns:
        .9fr 1.1fr;

    gap:
        clamp(55px,
            7vw,
            95px);

    align-items: center;
}


.about-legacy-content h2 {
    max-width: 540px;

    color: var(--white);
}


.about-legacy-lead {
    max-width: 560px;

    color:
        rgba(255, 255, 255, .62);
}


.about-legacy-points {
    margin-top: 32px;

    border-top:
        1px solid rgba(255, 255, 255, .13);
}


.about-legacy-point {
    display: grid;

    grid-template-columns:
        42px 1fr;

    gap: 15px;

    padding: 19px 0;

    border-bottom:
        1px solid rgba(255, 255, 255, .13);
}


.about-legacy-icon {
    width: 37px;
    height: 37px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow);

    color: var(--blue-deep);

    font-size: 13px;
    font-weight: 800;
}


.about-legacy-point small {
    display: block;

    margin-bottom: 3px;

    color:
        rgba(255, 255, 255, .43);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.about-legacy-point strong {
    display: block;

    margin-bottom: 4px;

    color: var(--white);

    font-size: 14px;
}


.about-legacy-point p {
    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .52);

    font-size: 12px;

    line-height: 1.55;
}


.about-legacy-image {
    position: relative;

    height: 520px;

    overflow: hidden;

    border-radius: 26px;
}


.about-legacy-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s var(--ease);
}


.about-legacy-image:hover img {
    transform: scale(1.025);
}


.about-legacy-image-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .91),
            rgba(5, 38, 67, .06) 65%);
}


.about-legacy-image-content {
    position: absolute;

    left: 30px;
    right: 30px;
    bottom: 29px;

    z-index: 2;
}


.about-legacy-image-content small {
    display: inline-block;

    margin-bottom: 10px;

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.about-legacy-image-content h3 {
    max-width: 420px;

    margin-bottom: 0;

    color: var(--white);

    font-size:
        clamp(25px,
            2.5vw,
            36px);
}



/* ================================================================
   05. LEARNING
================================================================ */

.about-learning {
    background: var(--warm);
}


.about-learning-grid {
    display: grid;

    grid-template-columns:
        .95fr 1.05fr;

    gap:
        clamp(55px,
            7vw,
            95px);

    align-items: center;
}


.about-learning-image {
    position: relative;

    overflow: visible;
}


.about-learning-image>img {
    width: 100%;
    height: 540px;

    object-fit: cover;

    border-radius: 25px;
}


.about-learning-stamp {
    position: absolute;

    right: -25px;
    bottom: 28px;

    width: 125px;
    height: 125px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 4px;

    padding: 21px;

    border-radius: 50%;

    background: var(--yellow);

    color: var(--blue-deep);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .06em;

    text-align: center;

    transform: rotate(-7deg);
}


.about-learning-stamp span {
    opacity: .45;
}


.about-learning-content h2 {
    max-width: 580px;
}


.about-learning-content>p {
    max-width: 560px;
}


.about-learning-list {
    margin:
        27px 0 28px;

    border-top:
        1px solid var(--border);
}


.about-learning-item {
    display: grid;

    grid-template-columns:
        40px 1fr;

    gap: 15px;

    padding: 15px 0;

    border-bottom:
        1px solid var(--border);
}


.about-learning-item>span {
    width: 35px;
    height: 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-size: 10px;
    font-weight: 800;
}


.about-learning-item strong {
    display: block;

    margin-bottom: 2px;

    font-size: 14px;
}


.about-learning-item p {
    margin-bottom: 0;

    font-size: 12px;
}



/* ================================================================
   06. NEXT PAGE
================================================================ */

.about-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.about-next-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.about-next .eyebrow {
    color: var(--blue);
}


.about-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.about-next h2 span {
    color:
        rgba(5, 38, 67, .42);

    font-weight: 500;
}


.about-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.about-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



/* ================================================================
   07. TABLET
================================================================ */

@media (max-width: 1100px) {

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

}



/* ================================================================
   08. MOBILE / TABLET
================================================================ */

@media (max-width: 900px) {

    .about-hero {
        min-height: 650px;
    }


    .about-hero-inner {
        max-width: 720px;

        padding-top: 135px;
        padding-bottom: 50px;
    }


    .about-story-grid,
    .about-legacy-grid,
    .about-learning-grid {
        grid-template-columns: 1fr;

        gap: 45px;
    }


    .about-story-title {
        position: static;
    }


    .about-difference-head {
        grid-template-columns: 1fr;

        gap: 15px;

        margin-bottom: 38px;
    }


    .about-learning-image {
        max-width: 650px;
    }


    .about-learning-stamp {
        right: 15px;
    }

}



/* ================================================================
   09. SMALL MOBILE
================================================================ */

@media (max-width: 600px) {

    .about-hero {
        min-height: 620px;
    }


    .about-hero-image {
        object-position:
            58% center;
    }


    .about-hero-inner {
        padding-top: 115px;
        padding-bottom: 40px;
    }


    .about-breadcrumb {
        margin-bottom: 28px;
    }


    .about-hero h1 {
        font-size:
            clamp(39px,
                12vw,
                52px);
    }


    .about-hero-copy {
        font-size: 14px;
    }


    .about-hero-meta {
        display: grid;

        grid-template-columns:
            1fr 1fr;

        gap: 17px;

        margin-top: 30px;
    }


    .about-hero-meta-item:last-child {
        grid-column:
            1 / -1;
    }


    .about-story-copy {
        grid-template-columns: 1fr;

        gap: 0;
    }


    .about-story-copy p+p {
        margin-top: 14px;
    }


    .about-story-image img {
        height: 370px;
    }


    .about-story-image-note {
        left: 12px;
        right: 12px;
        bottom: 12px;

        width: auto;
    }


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


    .about-difference-card {
        min-height: 235px;
    }


    .about-legacy-image {
        height: 410px;
    }


    .about-legacy-image-content {
        left: 21px;
        right: 21px;
        bottom: 21px;
    }


    .about-learning-image>img {
        height: 410px;
    }


    .about-learning-stamp {
        right: 12px;
        bottom: 15px;

        width: 105px;
        height: 105px;

        font-size: 8px;
    }


    .about-next-inner {
        align-items: flex-start;
        flex-direction: column;
    }


    .about-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* ================================================================
   ================================================================
   GLOBAL FULL SCREEN QUOTE SECTION
   REUSE ON INNER PAGES
   ================================================================
   ================================================================ */

.quote-section {
    position: relative;

    min-height: 100svh;

    display: flex;
    align-items: center;

    overflow: hidden;

    background-image:
        var(--quote-bg);

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

    color: var(--white);
}


/* ================================================================
   BACKGROUND OVERLAY
================================================================ */

.quote-section-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .58) 0%,
            rgba(5, 38, 67, .72) 48%,
            rgba(5, 38, 67, .84) 100%);
}


/*
 * Subtle vignette so the text
 * stays readable on different images.
 */

.quote-section-overlay::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        radial-gradient(circle at center,
            rgba(5, 38, 67, .05) 0%,
            rgba(5, 38, 67, .18) 50%,
            rgba(5, 38, 67, .43) 100%);
}


/* ================================================================
   INNER
================================================================ */

.quote-section-inner {
    position: relative;

    z-index: 2;

    width: 100%;
}


/* ================================================================
   CONTENT
================================================================ */

.quote-content {
    max-width: 1050px;

    margin-inline: auto;

    text-align: center;
}


.quote-eyebrow {
    justify-content: center;

    margin-bottom: 30px;

    color:
        rgba(255, 255, 255, .67);
}


.quote-mark {
    height: 65px;

    margin-bottom: 4px;

    color: var(--yellow);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(80px,
            9vw,
            125px);

    line-height: .72;
}


/* ================================================================
   QUOTE
================================================================ */

.quote-content blockquote {
    max-width: 1000px;

    margin:
        0 auto;

    color: var(--white);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(36px,
            5vw,
            67px);

    font-weight: 700;

    line-height: 1.13;

    letter-spacing: -.045em;

    text-wrap: balance;
}


.quote-content blockquote span {
    position: relative;

    display: inline-block;

    color: var(--yellow);
}


/* ================================================================
   HAND-DRAWN UNDERLINE
================================================================ */

.quote-content blockquote span::after {
    content: "";

    position: absolute;

    left: 3%;
    bottom: -8px;

    width: 94%;
    height: 9px;

    border-top:
        2px solid var(--yellow);

    border-radius: 50%;

    transform:
        rotate(-1deg);

    opacity: .85;
}


/* ================================================================
   CAPTION
================================================================ */

.quote-caption {
    margin-top: 38px;

    color:
        rgba(255, 255, 255, .55);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: .03em;

    text-transform: uppercase;
}


/* ================================================================
   OPTIONAL IMAGE MOTION
================================================================ */

.quote-section {
    background-attachment: fixed;
}


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

@media (max-width: 900px) {

    .quote-section {
        min-height: 85svh;

        /*
         * Fixed backgrounds behave badly
         * on many mobile browsers.
         */

        background-attachment: scroll;
    }


    .quote-content {
        max-width: 760px;
    }


    .quote-content blockquote {
        font-size:
            clamp(34px,
                7vw,
                52px);
    }

}


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

@media (max-width: 600px) {

    .quote-section {
        min-height: 82svh;

        background-position:
            center center;
    }


    .quote-eyebrow {
        margin-bottom: 24px;
    }


    .quote-mark {
        height: 50px;

        font-size: 80px;
    }


    .quote-content blockquote {
        max-width: 100%;

        font-size:
            clamp(30px,
                9vw,
                42px);

        line-height: 1.15;
    }


    .quote-caption {
        margin-top: 30px;

        font-size: 8px;
    }

}


/* ================================================================
   REDUCED MOTION
================================================================ */

@media (prefers-reduced-motion: reduce) {

    .quote-section {
        background-attachment: scroll;
    }

}

/* ABOUT US PAGE END  */

/* VISION AND MISSION PAGE START  */

/* ================================================================
   ================================================================
   VISION & MISSION PAGE
   ONLY PAGE-SPECIFIC STYLES
   ================================================================
   ================================================================ */


/* ================================================================
   01. HERO
================================================================ */

.vision-hero {
    position: relative;

    min-height: 620px;

    display: flex;
    align-items: flex-end;

    overflow: hidden;

    background: var(--blue-deep);

    color: var(--white);
}


.vision-hero-image {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transform: scale(1.025);
}


.vision-hero-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(90deg,
            rgba(5, 38, 67, .95) 0%,
            rgba(5, 38, 67, .80) 45%,
            rgba(5, 38, 67, .38) 100%),
        linear-gradient(0deg,
            rgba(5, 38, 67, .72),
            transparent 60%);
}


.vision-hero .container {
    position: relative;

    z-index: 2;

    width: 100%;
}


.vision-hero-inner {
    max-width: 820px;
    padding-bottom: 65px;
}


.vision-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 9px;

    margin-bottom: 35px;

    color:
        rgba(255, 255, 255, .53);

    font-size: 12px;
}


.vision-breadcrumb a {
    color:
        rgba(255, 255, 255, .53);

    transition:
        color .25s ease;
}


.vision-breadcrumb a:hover {
    color: var(--yellow);
}


.vision-breadcrumb span:last-child {
    color: var(--white);

    font-weight: 700;
}


.vision-hero .eyebrow {
    color: var(--yellow);
}


.vision-hero h1 {
    max-width: 700px;

    margin-bottom: 22px;

    color: var(--white);

    font-size:
        clamp(44px,
            5.3vw,
            67px);
}


.vision-hero p {
    max-width: 580px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .67);

    font-size: 16px;

    line-height: 1.7;
}



/* ================================================================
   02. VISION
================================================================ */

.vision-block {
    background: var(--white);
}


.vision-block-grid {
    display: grid;

    grid-template-columns:
        .42fr 1.58fr;

    gap:
        clamp(50px,
            8vw,
            120px);

    align-items: start;
}


.vision-block-label>span {
    display: block;

    margin-bottom: 28px;

    color:
        rgba(18, 63, 104, .14);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(70px,
            8vw,
            115px);

    font-weight: 800;

    line-height: .8;
}


.vision-statement h2 {
    max-width: 900px;

    margin-bottom: 30px;

    font-size:
        clamp(32px,
            4vw,
            52px);

    line-height: 1.16;
}


.vision-statement>p {
    max-width: 700px;
    margin-bottom: 0;
}



/* ================================================================
   03. IMAGE BREAK
================================================================ */

.vision-image-break {
    padding:
        0 0 clamp(80px,
            8vw,
            120px);

    background: var(--white);
}


.vision-image-frame {
    position: relative;

    height:
        clamp(430px,
            52vw,
            680px);

    overflow: hidden;

    border-radius: 27px;
}


.vision-image-frame img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s var(--ease);
}


.vision-image-frame:hover img {
    transform: scale(1.025);
}


.vision-image-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .86),
            rgba(5, 38, 67, .06) 65%);
}


.vision-image-copy {
    position: absolute;

    left:
        clamp(25px,
            4vw,
            55px);

    right:
        clamp(25px,
            4vw,
            55px);

    bottom:
        clamp(25px,
            4vw,
            52px);

    z-index: 2;
}


.vision-image-copy small {
    display: block;

    margin-bottom: 12px;

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.vision-image-copy h3 {
    max-width: 600px;

    margin-bottom: 0;

    color: var(--white);

    font-size:
        clamp(28px,
            3.5vw,
            48px);

    line-height: 1.12;
}



/* ================================================================
   04. MISSION
================================================================ */

.mission-block {
    background: var(--soft-blue);
}


.mission-header {
    display: grid;

    grid-template-columns:
        1fr .55fr;

    gap: 65px;

    align-items: end;

    margin-bottom: 55px;
}


.mission-number {
    display: block;

    margin-bottom: 25px;

    color:
        rgba(18, 63, 104, .13);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(65px,
            7vw,
            100px);

    font-weight: 800;

    line-height: .75;
}


.mission-header h2 {
    max-width: 650px;

    margin-bottom: 0;
}


.mission-header>p {
    max-width: 440px;

    margin-bottom: 4px;
}


.mission-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;
}


.mission-card {
    position: relative;

    min-height: 310px;

    padding:
        clamp(25px,
            3vw,
            38px);

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border:
        1px solid var(--border);

    border-radius: 22px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.mission-card:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.mission-card-number {
    display: block;

    margin-bottom: auto;

    color: var(--yellow-dark);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .05em;
}


.mission-card h3 {
    max-width: 430px;

    margin:
        55px 0 10px;

    font-size:
        clamp(21px,
            2vw,
            27px);
}


.mission-card p {
    max-width: 430px;

    margin-bottom: 0;

    font-size: 13px;

    line-height: 1.65;
}



/* ================================================================
   05. VALUES
================================================================ */

.vision-values {
    background: var(--white);
}


.vision-values-header {
    max-width: 750px;

    margin-bottom: 52px;
}


.vision-values-header h2 {
    margin-bottom: 0;
}


.vision-values-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    border-top:
        1px solid var(--border);
}


.vision-value {
    min-height: 190px;

    display: grid;

    grid-template-columns:
        50px 1fr;

    gap: 18px;

    align-items: start;

    padding:
        28px 28px 0px 10px;

    border-right:
        1px solid var(--border);

    border-bottom:
        1px solid var(--border);
}


.vision-value:nth-child(3n) {
    border-right: 0;
}


.vision-value:nth-child(4),
.vision-value:nth-child(5),
.vision-value:nth-child(6) {
    padding-top: 32px;
}


.vision-value>span {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-size: 12px;
    font-weight: 800;
}


.vision-value h3 {
    margin-bottom: 7px;

    font-size: 18px;
}


.vision-value p {
    margin-bottom: 0;

    font-size: 13px;

    line-height: 1.55;
}



/* ================================================================
   06. NEXT PAGE
================================================================ */

.vision-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.vision-next-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.vision-next .eyebrow {
    color: var(--blue);
}


.vision-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.vision-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.vision-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.vision-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



/* ================================================================
   07. TABLET
================================================================ */

@media (max-width: 900px) {

    .vision-hero {
        min-height: 600px;
    }


    .vision-hero-inner {
        padding-top: 130px;
        padding-bottom: 50px;
    }


    .vision-block-grid {
        grid-template-columns: 1fr;

        gap: 35px;
    }


    .vision-block-label>span {
        margin-bottom: 20px;

        font-size: 70px;
    }


    .vision-statement>p {
        margin-left: 0;
    }


    .mission-header {
        grid-template-columns: 1fr;

        gap: 15px;
    }


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


    .vision-value:nth-child(3n) {
        border-right:
            1px solid var(--border);
    }


    .vision-value:nth-child(even) {
        border-right: 0;
    }

}



/* ================================================================
   08. SMALL MOBILE
================================================================ */

@media (max-width: 600px) {

    .vision-hero {
        min-height: 570px;
    }


    .vision-hero-image {
        object-position:
            58% center;
    }


    .vision-hero-inner {
        padding-top: 110px;
        padding-bottom: 40px;
    }


    .vision-breadcrumb {
        margin-bottom: 27px;
    }


    .vision-hero h1 {
        font-size:
            clamp(40px,
                12vw,
                52px);
    }


    .vision-hero p {
        font-size: 14px;
    }


    .vision-statement h2 {
        font-size:
            clamp(30px,
                9vw,
                42px);
    }


    .vision-image-frame {
        height: 400px;

        border-radius: 20px;
    }


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


    .mission-card {
        min-height: 250px;
    }


    .mission-card h3 {
        margin-top: 42px;
    }


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


    .vision-value {
        min-height: auto;

        border-right: 0 !important;

        padding:
            24px 0;
    }


    .vision-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .vision-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* VISION AND MISSION PAGE END  */



/* LEADERSHIP PAGE START  */

/* ================================================================
   ================================================================
   LEADERSHIP PAGE
   ONLY PAGE-SPECIFIC STYLES
   ================================================================
   ================================================================ */


/* ================================================================
   01. INTRODUCTION
================================================================ */

.leadership-intro {
    background: var(--white);
}


.leadership-intro-grid {
    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap:
        clamp(55px,
            8vw,
            120px);

    align-items: start;
}


.leadership-intro-title h2 {
    max-width: 520px;

    margin-bottom: 0;
}


.leadership-intro-copy {
    padding-top: 13px;
}


.leadership-intro-lead {
    max-width: 690px;

    margin-bottom: 27px;

    color: var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(23px,
            2.3vw,
            31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.leadership-intro-copy>p:not(.leadership-intro-lead) {
    max-width: 650px;

    margin-bottom: 0;
}



/* ================================================================
   02. LEADER SPOTLIGHT
================================================================ */

.leadership-spotlight {
    background: var(--warm);
}


.leadership-spotlight-grid {
    display: grid;

    grid-template-columns:
        1fr .95fr;

    gap:
        clamp(55px,
            7vw,
            100px);

    align-items: center;
}


.leadership-spotlight-image {
    position: relative;

    height:
        clamp(520px,
            52vw,
            670px);

    overflow: hidden;

    border-radius: 26px;
}


.leadership-spotlight-image>img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s var(--ease);
}


.leadership-spotlight-image:hover>img {
    transform:
        scale(1.025);
}


.leadership-image-label {
    position: absolute;

    left: 18px;
    right: 18px;
    bottom: 18px;

    max-width: 330px;

    padding: 20px;

    border-radius: 16px;

    background:
        rgba(5, 38, 67, .90);

    backdrop-filter:
        blur(12px);
}


.leadership-image-label small {
    display: block;

    margin-bottom: 6px;

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.leadership-image-label strong {
    display: block;

    color: var(--white);

    font-size: 17px;

    line-height: 1.4;
}


.leadership-spotlight-content h2 {
    max-width: 610px;
}


.leadership-spotlight-lead {
    max-width: 580px;

    color: var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(19px,
            1.8vw,
            24px);

    font-weight: 600;

    line-height: 1.5;
}


.leadership-spotlight-content>p {
    max-width: 580px;
}


.leadership-signature {
    margin-top: 34px;

    padding-top: 22px;

    border-top:
        1px solid var(--border);
}


.leadership-signature strong {
    display: block;

    margin-bottom: 3px;

    color: var(--blue-deep);

    font-size: 14px;
}


.leadership-signature span {
    display: block;

    color: var(--body);

    font-size: 11px;
}



/* ================================================================
   03. LEADERSHIP PHILOSOPHY
================================================================ */

.leadership-philosophy {
    background: var(--blue-deep);

    color: var(--white);
}


.leadership-philosophy .eyebrow {
    color: var(--yellow);
}


.leadership-philosophy-head {
    display: grid;

    grid-template-columns:
        1fr .55fr;

    gap: 65px;

    align-items: end;

    margin-bottom: 55px;
}


.leadership-philosophy-head h2 {
    max-width: 650px;

    margin-bottom: 0;

    color: var(--white);
}


.leadership-philosophy-head>p {
    max-width: 410px;

    margin-bottom: 3px;

    color:
        rgba(255, 255, 255, .57);
}


.leadership-principles {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    border-top:
        1px solid rgba(255, 255, 255, .14);
}


.leadership-principle {
    min-height: 315px;

    padding:
        28px 26px 28px 0;

    display: flex;
    flex-direction: column;

    border-right:
        1px solid rgba(255, 255, 255, .14);

    transition:
        padding-left .35s var(--ease);
}


.leadership-principle+.leadership-principle {
    padding-left: 26px;
}


.leadership-principle:last-child {
    border-right: 0;
}


.leadership-principle:hover {
    padding-left: 14px;
}


.leadership-principle+.leadership-principle:hover {
    padding-left: 38px;
}


.leadership-principle>span {
    display: block;

    margin-bottom: auto;

    color: var(--yellow);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .12em;
}


.leadership-principle h3 {
    margin:
        60px 0 9px;

    color: var(--white);

    font-size:
        clamp(20px,
            1.8vw,
            25px);
}


.leadership-principle p {
    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .53);

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   04. LEADERSHIP TEAM
================================================================ */

.leadership-team {
    background: var(--white);
}


.leadership-team-head {
    max-width: 720px;

    margin-bottom: 50px;
}


.leadership-team-head h2 {
    margin-bottom: 18px;
}


.leadership-team-head p {
    max-width: 560px;

    margin-bottom: 0;
}


.leadership-team-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 16px;
}


.leader-card {
    overflow: hidden;

    border:
        1px solid var(--border);

    border-radius: 22px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.leader-card:hover {
    transform:
        translateY(-6px);

    box-shadow:
        0 24px 55px rgba(5, 38, 67, .09);
}


.leader-card-image {
    height: 350px;

    overflow: hidden;
}


.leader-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s var(--ease);
}


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


.leader-card-content {
    padding: 25px;
}


.leader-card-content small {
    display: block;

    margin-bottom: 9px;

    color: var(--yellow-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.leader-card-content h3 {
    margin-bottom: 10px;

    font-size:
        clamp(20px,
            1.8vw,
            25px);
}


.leader-card-content p {
    margin-bottom: 0;

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   05. NEXT PAGE
================================================================ */

.leadership-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.leadership-next-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.leadership-next .eyebrow {
    color: var(--blue);
}


.leadership-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.leadership-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.leadership-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.leadership-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



/* ================================================================
   06. TABLET
================================================================ */

@media (max-width: 1000px) {

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


    .leadership-principle:nth-child(2) {
        border-right: 0;
    }


    .leadership-principle {
        border-bottom:
            1px solid rgba(255, 255, 255, .14);
    }


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

}



/* ================================================================
   07. MOBILE / TABLET
================================================================ */

@media (max-width: 900px) {

    .leadership-intro-grid,
    .leadership-spotlight-grid {
        grid-template-columns: 1fr;

        gap: 42px;
    }


    .leadership-philosophy-head {
        grid-template-columns: 1fr;

        gap: 18px;
    }


    .leadership-spotlight-image {
        max-width: 680px;

        height: 560px;
    }

}



/* ================================================================
   08. MOBILE
================================================================ */

@media (max-width: 600px) {

    .leadership-intro-lead {
        font-size: 22px;
    }


    .leadership-spotlight-image {
        height: 440px;

        border-radius: 20px;
    }


    .leadership-image-label {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }


    .leadership-principles {
        grid-template-columns: 1fr;
    }


    .leadership-principle,
    .leadership-principle+.leadership-principle {
        min-height: 235px;

        padding:
            24px 0;

        border-right: 0;

        border-bottom:
            1px solid rgba(255, 255, 255, .14);
    }


    .leadership-principle:hover,
    .leadership-principle+.leadership-principle:hover {
        padding-left: 0;
    }


    .leadership-team-grid {
        grid-template-columns: 1fr;
    }


    .leader-card-image {
        height: 330px;
    }


    .leadership-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .leadership-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* ================================================================
   LEADERSHIP — SIGMA + BELLWETHER
================================================================ */

.leadership-legacy {
    background: var(--soft-blue);
}


.leadership-legacy-head {
    max-width: 780px;

    margin-bottom: 48px;
}


.leadership-legacy-head h2 {
    margin-bottom: 0;
}


.leadership-legacy-head h2 span {
    color: var(--blue);
}


.leadership-legacy-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;
}


.leadership-legacy-card {
    position: relative;

    min-height: 430px;

    padding:
        clamp(28px, 4vw, 48px);

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border:
        1px solid var(--border);

    border-radius: 25px;

    background: var(--white);
}


.leadership-legacy-card-dark {
    background: var(--blue-deep);

    border-color:
        rgba(255, 255, 255, .08);

    color: var(--white);
}


.leadership-legacy-number {
    margin-bottom: auto;

    color:
        rgba(18, 63, 104, .15);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(65px, 7vw, 100px);

    font-weight: 800;

    line-height: .8;
}


.leadership-legacy-card-dark .leadership-legacy-number {
    color:
        rgba(255, 255, 255, .09);
}


.leadership-legacy-content {
    margin-top: 70px;
}


.leadership-legacy-content small {
    display: block;

    margin-bottom: 10px;

    color: var(--yellow-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.leadership-legacy-card-dark .leadership-legacy-content small {
    color: var(--yellow);
}


.leadership-legacy-content h3 {
    margin-bottom: 15px;

    font-size:
        clamp(28px, 3vw, 40px);
}


.leadership-legacy-card-dark h3 {
    color: var(--white);
}


.leadership-legacy-content p {
    max-width: 540px;

    margin-bottom: 26px;
}


.leadership-legacy-card-dark p {
    color:
        rgba(255, 255, 255, .58);
}


.leadership-legacy-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 7px;
}


.leadership-legacy-tags span {
    padding:
        8px 11px;

    border:
        1px solid var(--border);

    border-radius: 100px;

    color: var(--blue);

    font-size: 12px;
    font-weight: 700;
}


.leadership-legacy-card-dark .leadership-legacy-tags span {
    border-color:
        rgba(255, 255, 255, .14);

    color:
        rgba(255, 255, 255, .7);
}



/* ================================================================
   HUMAN LEADERS
================================================================ */

.leadership-people {
    background: var(--white);
}


.leadership-people-head {
    display: grid;

    grid-template-columns:
        1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.leadership-people-head h2 {
    max-width: 650px;

    margin-bottom: 0;
}


.leadership-people-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.leadership-people-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 13px;
}


.leader-person-card {
    overflow: hidden;

    border:
        1px solid var(--border);

    border-radius: 22px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.leader-person-card:hover {
    transform:
        translateY(-6px);

    box-shadow:
        0 24px 55px rgba(5, 38, 67, .09);
}


.leader-person-image {
    position: relative;

    height: 550px;

    overflow: hidden;

    background: var(--soft-blue);
}


.leader-person-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center top;

    transition:
        transform .8s var(--ease);
}


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


.leader-person-index {
    position: absolute;

    top: 15px;
    right: 15px;

    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(5, 38, 67, .86);

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;

    backdrop-filter:
        blur(10px);
}


.leader-person-content {
    padding: 23px;
}


.leader-person-role {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.leader-person-content h3 {
    margin-bottom: 11px;

    font-size:
        clamp(20px, 1.8vw, 25px);
}


.leader-person-content p {
    margin-bottom: 19px;
    font-size: 12px;
    line-height: 1.65;
}


.leader-person-link {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    padding-top: 15px;

    border-top:
        1px solid var(--border);

    color: var(--blue);

    font-size: 10px;
    font-weight: 800;
}


.leader-person-link span {
    font-size: 15px;

    transition:
        transform .25s ease;
}


.leader-person-link:hover span {
    transform:
        translate(3px, -3px);
}



/* ================================================================
   PRINCIPAL / CEO SPOTLIGHT
================================================================ */

.leadership-spotlight {
    background: var(--warm);
}


.leadership-spotlight-grid {
    display: grid;

    grid-template-columns:
        .9fr 1.1fr;

    gap:
        clamp(55px, 7vw, 100px);

    align-items: center;
}


.leadership-spotlight-image {
    position: relative;

    height:
        clamp(520px, 53vw, 680px);

    overflow: hidden;

    border-radius: 26px;
}


.leadership-spotlight-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position:
        center top;
}


.leadership-spotlight-badge {
    position: absolute;

    left: 18px;
    bottom: 18px;

    padding:
        12px 16px;

    border-radius: 100px;

    background: var(--yellow);

    color: var(--blue-deep);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.leadership-spotlight-content h2 {
    max-width: 670px;
}


.leadership-spotlight-quote {
    display: grid;

    grid-template-columns:
        48px 1fr;

    gap: 15px;

    max-width: 650px;

    margin-top: 32px;
}


.leadership-spotlight-quote>span {
    color: var(--yellow-dark);

    font-family:
        Georgia,
        serif;

    font-size: 72px;

    line-height: .8;
}


.leadership-spotlight-quote p {
    margin-bottom: 0;

    color: var(--text);

    font-size:
        clamp(17px, 1.6vw, 22px);

    line-height: 1.6;
}


.leadership-spotlight-person {
    margin-top: 33px;

    padding-top: 20px;

    border-top:
        1px solid var(--border);
}


.leadership-spotlight-person strong {
    display: block;

    margin-bottom: 4px;

    color: var(--blue-deep);

    font-size: 16px;
}


.leadership-spotlight-person span {
    color: var(--body);

    font-size: 11px;
}



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

@media (max-width: 1100px) {

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

}


@media (max-width: 900px) {

    .leadership-legacy-grid,
    .leadership-people-head,
    .leadership-spotlight-grid {
        grid-template-columns: 1fr;
    }


    .leadership-people-head {
        gap: 15px;
    }


    .leadership-spotlight-image {
        max-width: 650px;
    }

}


@media (max-width: 600px) {

    .leadership-legacy-grid,
    .leadership-people-grid {
        grid-template-columns: 1fr;
    }


    .leadership-legacy-card {
        min-height: 370px;
    }


    .leader-person-image {
        height: 430px;
    }


    .leader-person-content p {
        min-height: auto;
    }


    .leadership-spotlight-image {
        height: 450px;

        border-radius: 20px;
    }


    .leadership-spotlight-quote {
        grid-template-columns:
            35px 1fr;
    }


    .leadership-spotlight-quote>span {
        font-size: 55px;
    }

}

/* LEADERSHIP PAGE END  */


/* ================================================================
   ================================================================
   AWARDS & RECOGNITION PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


/* ================================================================
   INTRODUCTION
================================================================ */

.awards-intro {
    background: var(--white);
}


.awards-intro-grid {
    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap:
        clamp(55px, 8vw, 120px);

    align-items: start;
}


.awards-intro-title h2 {
    max-width: 540px;

    margin-bottom: 0;
}


.awards-intro-copy {
    padding-top: 12px;
}


.awards-intro-lead {
    max-width: 680px;

    margin-bottom: 25px;

    color: var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.awards-intro-copy>p:not(.awards-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   INSTITUTIONAL LEGACY
================================================================ */

.awards-legacy {
    background: var(--soft-blue);
}


.awards-legacy-head {
    max-width: 760px;

    margin-bottom: 48px;
}


.awards-legacy-head h2 {
    margin-bottom: 18px;
}


.awards-legacy-head p {
    max-width: 600px;

    margin-bottom: 0;
}


.awards-legacy-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;
}


.awards-legacy-card {
    min-height: 430px;

    padding:
        clamp(28px, 4vw, 46px);

    display: flex;
    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 24px;

    background: var(--white);
}


.awards-legacy-card-dark {
    border-color:
        rgba(255, 255, 255, .08);

    background: var(--blue-deep);

    color: var(--white);
}


.awards-legacy-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: auto;
}


.awards-legacy-top>span {
    color:
        rgba(18, 63, 104, .15);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(65px, 7vw, 100px);

    font-weight: 800;

    line-height: .8;
}


.awards-legacy-card-dark .awards-legacy-top>span {
    color:
        rgba(255, 255, 255, .09);
}


.awards-legacy-top small {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.awards-legacy-card-dark .awards-legacy-top small {
    color: var(--yellow);
}


.awards-legacy-content {
    margin-top: 70px;
}


.awards-legacy-content h3 {
    margin-bottom: 14px;

    font-size:
        clamp(28px, 3vw, 40px);
}


.awards-legacy-card-dark h3 {
    color: var(--white);
}


.awards-legacy-content p {
    max-width: 520px;

    margin-bottom: 25px;
}


.awards-legacy-card-dark p {
    color:
        rgba(255, 255, 255, .58);
}


.awards-text-link {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--blue);

    font-size: 11px;

    font-weight: 800;
}


.awards-legacy-card-dark .awards-text-link {
    color: var(--yellow);
}



/* ================================================================
   ACHIEVEMENT AREAS
================================================================ */

.awards-achievement {
    background: var(--white);
}


.awards-achievement-head {
    display: grid;

    grid-template-columns:
        1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.awards-achievement-head h2 {
    max-width: 600px;

    margin-bottom: 0;
}


.awards-achievement-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.awards-achievement-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}


.achievement-card {
    min-height: 315px;

    padding: 26px;

    display: flex;

    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.achievement-card:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.achievement-number {
    color: var(--yellow-dark);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: .05em;
}


.achievement-icon {
    width: 54px;
    height: 54px;

    margin-top: auto;
    margin-bottom: 25px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-size: 17px;

    font-weight: 800;
}


.achievement-card h3 {
    margin-bottom: 9px;

    font-size:
        clamp(20px, 1.8vw, 25px);
}


.achievement-card p {
    margin-bottom: 0;

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   AWARD SHOWCASE
================================================================ */

.awards-showcase {
    background: var(--warm);
}


.awards-showcase-head {
    max-width: 680px;

    margin-bottom: 48px;
}


.awards-showcase-head h2 {
    margin-bottom: 15px;
}


.awards-showcase-head p {
    max-width: 540px;

    margin-bottom: 0;
}


.awards-showcase-grid {
    display: grid;

    gap: 10px;
}


.award-card {
    min-height: 175px;

    display: grid;

    grid-template-columns:
        120px 1fr 70px;

    gap: 35px;

    align-items: center;

    padding:
        25px clamp(25px, 3.5vw, 45px);

    border:
        1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .3s var(--ease),
        border-color .3s ease;
}


.award-card:hover {
    transform:
        translateX(6px);

    border-color:
        rgba(18, 63, 104, .26);
}


.award-card-year {
    color:
        rgba(18, 63, 104, .18);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(35px, 4vw, 52px);

    font-weight: 800;
}


.award-card-content small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.award-card-content h3 {
    margin-bottom: 7px;

    font-size:
        clamp(19px, 1.8vw, 25px);
}


.award-card-content p {
    max-width: 590px;

    margin-bottom: 0;

    font-size: 12px;
}


.award-card-icon {
    width: 52px;
    height: 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow);

    color: var(--blue-deep);

    font-size: 17px;
}



/* ================================================================
   NEXT PAGE
================================================================ */

.awards-next {
    padding:
        clamp(60px, 6vw, 82px) 0;

    background: var(--yellow);
}


.awards-next-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.awards-next .eyebrow {
    color: var(--blue);
}


.awards-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px, 4.2vw, 55px);
}


.awards-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.awards-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.awards-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 1050px) {

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

}


@media (max-width: 900px) {

    .awards-intro-grid,
    .awards-legacy-grid,
    .awards-achievement-head {
        grid-template-columns: 1fr;
    }


    .awards-achievement-head {
        gap: 16px;
    }


    .award-card {
        grid-template-columns:
            90px 1fr 55px;

        gap: 20px;
    }

}


@media (max-width: 600px) {

    .awards-achievement-grid {
        grid-template-columns: 1fr;
    }


    .awards-legacy-card {
        min-height: 380px;
    }


    .award-card {
        grid-template-columns: 1fr;

        gap: 16px;

        padding: 25px;
    }


    .award-card-icon {
        width: 44px;
        height: 44px;
    }


    .awards-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .awards-next-arrow {
        width: 64px;
        height: 64px;
    }

}


/* CAREER PAGE START  */

/* ================================================================
   ================================================================
   CAREERS PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


/* ================================================================
   01. INTRODUCTION
================================================================ */

.careers-intro {
    background: var(--white);
}


.careers-intro-grid {
    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap:
        clamp(55px,
            8vw,
            120px);

    align-items: start;
}


.careers-intro-title h2 {
    max-width: 550px;

    margin-bottom: 0;
}


.careers-intro-copy {
    padding-top: 12px;
}


.careers-intro-lead {
    max-width: 690px;

    margin-bottom: 26px;

    color: var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(23px,
            2.3vw,
            31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.careers-intro-copy>p:not(.careers-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   02. WHY SIGMA
================================================================ */

.careers-why {
    background: var(--soft-blue);
}


.careers-why-head {
    display: grid;

    grid-template-columns:
        1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.careers-why-head h2 {
    max-width: 650px;

    margin-bottom: 0;
}


.careers-why-head>p {
    max-width: 410px;

    margin-bottom: 4px;
}


.careers-why-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}


.career-benefit-card {
    min-height: 320px;

    padding: 27px;

    display: flex;
    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.career-benefit-card:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.career-benefit-number {
    color: var(--yellow-dark);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .05em;
}


.career-benefit-icon {
    width: 54px;
    height: 54px;

    margin-top: auto;
    margin-bottom: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-size: 20px;
    font-weight: 800;
}


.career-benefit-card h3 {
    margin-bottom: 9px;

    font-size:
        clamp(20px,
            1.8vw,
            25px);
}


.career-benefit-card p {
    margin-bottom: 0;

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   03. CULTURE
================================================================ */

.careers-culture {
    background: var(--white);
}


.careers-culture-grid {
    display: grid;

    grid-template-columns:
        1fr .95fr;

    gap:
        clamp(55px,
            7vw,
            100px);

    align-items: center;
}


.careers-culture-image {
    position: relative;

    height:
        clamp(510px,
            52vw,
            670px);

    overflow: hidden;

    border-radius: 26px;
}


.careers-culture-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s var(--ease);
}


.careers-culture-image:hover img {
    transform:
        scale(1.025);
}


.careers-culture-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .78),
            rgba(5, 38, 67, 0) 52%);
}


.careers-culture-image-copy {
    position: absolute;

    left:
        clamp(24px,
            4vw,
            45px);

    right:
        clamp(24px,
            4vw,
            45px);

    bottom:
        clamp(24px,
            4vw,
            42px);

    z-index: 2;
}


.careers-culture-image-copy small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.careers-culture-image-copy strong {
    display: block;

    max-width: 390px;

    color: var(--white);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(27px,
            3vw,
            40px);

    line-height: 1.17;

    letter-spacing: -.03em;
}


.careers-culture-content h2 {
    max-width: 580px;
}


.careers-culture-content>p {
    max-width: 530px;

    margin-bottom: 34px;
}


.careers-values {
    border-top:
        1px solid var(--border);
}


.careers-value {
    display: grid;

    grid-template-columns:
        45px 1fr;

    gap: 20px;

    padding:
        19px 0;

    border-bottom:
        1px solid var(--border);
}


.careers-value>span {
    color: var(--yellow-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .05em;

    padding-top: 5px;
}


.careers-value h3 {
    margin-bottom: 4px;

    font-size: 17px;
}


.careers-value p {
    margin-bottom: 0;

    font-size: 12px;
}



/* ================================================================
   04. CURRENT OPPORTUNITIES
================================================================ */

.careers-openings {
    background: var(--warm);
}


.careers-openings-head {
    display: grid;

    grid-template-columns:
        1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.careers-openings-head h2 {
    max-width: 650px;

    margin-bottom: 0;
}


.careers-openings-head>p {
    max-width: 430px;

    margin-bottom: 4px;
}


.careers-job-list {
    border-top:
        1px solid var(--border);
}


.career-job {
    display: grid;

    grid-template-columns:
        60px minmax(0, 1fr) 180px 60px;

    gap: 25px;

    align-items: center;

    min-height: 160px;

    padding:
        26px 0;

    border-bottom:
        1px solid var(--border);

    transition:
        padding-left .35s var(--ease);
}


.career-job:hover {
    padding-left: 12px;
}


.career-job-number {
    color:
        rgba(18, 63, 104, .22);

    font-family:
        "Manrope",
        sans-serif;

    font-size: 23px;
    font-weight: 800;
}


.career-job-main small {
    display: block;

    margin-bottom: 6px;

    color: var(--yellow-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.career-job-main h3 {
    margin-bottom: 7px;

    font-size:
        clamp(20px,
            2vw,
            27px);
}


.career-job-main p {
    max-width: 520px;

    margin-bottom: 0;

    font-size: 12px;
}


.career-job-meta {
    display: flex;
    flex-direction: column;

    gap: 6px;
}


.career-job-meta span {
    color: var(--body);

    font-size: 10px;
    font-weight: 600;
}


.career-job-action {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 17px;

    transition:
        transform .3s var(--ease),
        background .3s ease;
}


.career-job:hover .career-job-action {
    transform:
        rotate(-8deg);

    background: var(--blue);
}



/* OPEN APPLICATION */

.careers-open-application {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 45px;

    margin-top: 50px;

    padding:
        clamp(28px,
            4vw,
            46px);

    border-radius: 23px;

    background: var(--blue-deep);

    color: var(--white);
}


.careers-open-application small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.careers-open-application h3 {
    max-width: 570px;

    margin-bottom: 8px;

    color: var(--white);

    font-size:
        clamp(24px,
            2.5vw,
            34px);
}


.careers-open-application p {
    max-width: 520px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .58);
}



/* ================================================================
   05. HIRING PROCESS
================================================================ */

.careers-process {
    background: var(--blue-deep);

    color: var(--white);
}


.careers-process .eyebrow {
    color: var(--yellow);
}


.careers-process-head {
    max-width: 700px;

    margin-bottom: 55px;
}


.careers-process-head h2 {
    margin-bottom: 0;

    color: var(--white);
}


.careers-process-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    border-top:
        1px solid rgba(255, 255, 255, .13);
}


.career-process-step {
    min-height: 310px;

    padding:
        28px 25px 28px 0;

    display: flex;
    flex-direction: column;

    border-right:
        1px solid rgba(255, 255, 255, .13);
}


.career-process-step+.career-process-step {
    padding-left: 25px;
}


.career-process-step:last-child {
    border-right: 0;
}


.career-process-step>span {
    margin-bottom: auto;

    color:
        rgba(255, 255, 255, .16);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(48px,
            5vw,
            70px);

    font-weight: 800;

    line-height: .9;
}


.career-process-step small {
    display: block;

    margin-top: 55px;
    margin-bottom: 7px;

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.career-process-step h3 {
    margin-bottom: 8px;

    color: var(--white);

    font-size:
        clamp(19px,
            1.8vw,
            24px);
}


.career-process-step p {
    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .52);

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   06. NEXT PAGE
================================================================ */

.careers-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.careers-next-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.careers-next .eyebrow {
    color: var(--blue);
}


.careers-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.careers-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.careers-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.careers-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



/* ================================================================
   RESPONSIVE — 1050px
================================================================ */

@media (max-width: 1050px) {

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


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


    .career-process-step:nth-child(2) {
        border-right: 0;
    }


    .career-process-step {
        border-bottom:
            1px solid rgba(255, 255, 255, .13);
    }

}



/* ================================================================
   RESPONSIVE — 900px
================================================================ */

@media (max-width: 900px) {

    .careers-intro-grid,
    .careers-why-head,
    .careers-culture-grid,
    .careers-openings-head {
        grid-template-columns: 1fr;
    }


    .careers-why-head,
    .careers-openings-head {
        gap: 17px;
    }


    .careers-culture-image {
        max-width: 700px;

        height: 560px;
    }


    .career-job {
        grid-template-columns:
            45px minmax(0, 1fr) 55px;
    }


    .career-job-meta {
        grid-column:
            2 / 3;

        grid-row: 2;

        flex-direction: row;

        flex-wrap: wrap;

        gap: 8px 18px;
    }


    .career-job-action {
        grid-column: 3;

        grid-row:
            1 / 3;
    }


    .careers-open-application {
        align-items: flex-start;

        flex-direction: column;
    }

}



/* ================================================================
   RESPONSIVE — 600px
================================================================ */

@media (max-width: 600px) {

    .careers-intro-lead {
        font-size: 22px;
    }


    .careers-why-grid,
    .careers-process-grid {
        grid-template-columns: 1fr;
    }


    .careers-culture-image {
        height: 430px;

        border-radius: 20px;
    }


    .career-benefit-card {
        min-height: 270px;
    }


    .career-job {
        grid-template-columns:
            1fr 48px;

        gap: 15px;

        min-height: auto;

        padding:
            25px 0;
    }


    .career-job:hover {
        padding-left: 0;
    }


    .career-job-number {
        grid-column:
            1 / -1;

        font-size: 17px;
    }


    .career-job-main {
        grid-column: 1;
    }


    .career-job-meta {
        grid-column: 1;

        grid-row: auto;
    }


    .career-job-action {
        grid-column: 2;

        grid-row: 2;

        align-self: center;

        width: 46px;
        height: 46px;
    }


    .career-process-step,
    .career-process-step+.career-process-step {
        min-height: 250px;

        padding:
            25px 0;

        border-right: 0;
    }


    .career-process-step small {
        margin-top: 38px;
    }


    .careers-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .careers-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* CAREER PAGE END  */

/* ACADEMIC OVERVIEW START  */

/* ================================================================
   ================================================================
   ACADEMIC OVERVIEW
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.academic-intro {
    background: var(--white);
}


.academic-intro-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.academic-intro-title h2 {
    max-width: 560px;
    margin-bottom: 0;
}


.academic-intro-copy {
    padding-top: 12px;
}


.academic-intro-lead {
    max-width: 690px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.academic-intro-copy>p:not(.academic-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   LEARNING METHOD
================================================================ */

.academic-method {
    background: var(--soft-blue);
}


.academic-method-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.academic-method-head h2 {
    max-width: 670px;

    margin-bottom: 0;
}


.academic-method-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.academic-method-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 12px;
}


.academic-method-card {
    min-height: 330px;

    padding: 27px;

    display: flex;
    flex-direction: column;

    border: 1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.academic-method-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.academic-method-card>span {
    color: var(--yellow-dark);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: .05em;
}


.academic-method-letter {
    width: 55px;
    height: 55px;

    margin-top: auto;
    margin-bottom: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-size: 18px;
    font-weight: 800;
}


.academic-method-card h3 {
    margin-bottom: 9px;

    font-size: clamp(20px, 1.8vw, 25px);
}


.academic-method-card p {
    margin-bottom: 0;

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   CURRICULUM + ASTERIA
================================================================ */

.academic-framework {
    background: var(--white);
}


.academic-framework-head {
    max-width: 720px;

    margin-bottom: 50px;
}


.academic-framework-head h2 {
    margin-bottom: 0;
}


.academic-framework-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}


.academic-framework-card {
    overflow: hidden;

    border: 1px solid var(--border);

    border-radius: 25px;

    background: var(--white);
}


.academic-framework-card-dark {
    background: var(--blue-deep);

    border-color: rgba(255, 255, 255, .08);

    color: var(--white);
}


.academic-framework-image {
    height: 370px;

    overflow: hidden;
}


.academic-framework-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s var(--ease);
}


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


.academic-framework-content {
    padding: clamp(27px, 4vw, 42px);
}


.academic-framework-content small {
    display: block;

    margin-bottom: 9px;

    color: var(--yellow-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.academic-framework-card-dark .academic-framework-content small {
    color: var(--yellow);
}


.academic-framework-content h3 {
    margin-bottom: 13px;

    font-size: clamp(27px, 3vw, 38px);
}


.academic-framework-card-dark h3 {
    color: var(--white);
}


.academic-framework-content p {
    max-width: 530px;

    margin-bottom: 24px;
}


.academic-framework-card-dark p {
    color: rgba(255, 255, 255, .58);
}


.academic-text-link {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--blue);

    font-size: 11px;
    font-weight: 800;
}


.academic-framework-card-dark .academic-text-link {
    color: var(--yellow);
}



/* ================================================================
   WHOLE CHILD
================================================================ */

.academic-whole-child {
    background: var(--blue-deep);

    color: var(--white);
}


.academic-whole-child .eyebrow {
    color: var(--yellow);
}


.academic-whole-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.academic-whole-head h2 {
    max-width: 680px;

    margin-bottom: 0;

    color: var(--white);
}


.academic-whole-head>p {
    max-width: 410px;

    margin-bottom: 4px;

    color: rgba(255, 255, 255, .57);
}


.academic-whole-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top:
        1px solid rgba(255, 255, 255, .14);
}


.academic-whole-card {
    min-height: 330px;

    padding: 28px 25px 28px 0;

    display: flex;
    flex-direction: column;

    border-right:
        1px solid rgba(255, 255, 255, .14);
}


.academic-whole-card+.academic-whole-card {
    padding-left: 25px;
}


.academic-whole-card:last-child {
    border-right: 0;
}


.academic-whole-code {
    display: block;

    margin-bottom: auto;

    color: var(--yellow);

    font-family: "Manrope", sans-serif;

    font-size: clamp(42px, 4vw, 58px);

    font-weight: 800;

    letter-spacing: -.05em;
}


.academic-whole-card small {
    display: block;

    margin-top: 55px;
    margin-bottom: 7px;

    color: rgba(255, 255, 255, .38);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.academic-whole-card h3 {
    margin-bottom: 8px;

    color: var(--white);

    font-size: clamp(19px, 1.8vw, 24px);
}


.academic-whole-card p {
    margin-bottom: 0;

    color: rgba(255, 255, 255, .52);

    font-size: 12px;

    line-height: 1.65;
}


.academic-whole-action {
    margin-top: 45px;
}



/* ================================================================
   DAY + RESIDENTIAL
================================================================ */

.academic-school-model {
    background: var(--warm);
}


.academic-school-head {
    max-width: 720px;

    margin-bottom: 50px;
}


.academic-school-head h2 {
    margin-bottom: 17px;
}


.academic-school-head p {
    max-width: 580px;

    margin-bottom: 0;
}


.academic-school-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}


.academic-school-card {
    overflow: hidden;

    border: 1px solid var(--border);

    border-radius: 24px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.academic-school-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 24px 55px rgba(5, 38, 67, .08);
}


.academic-school-image {
    position: relative;

    height: 390px;

    overflow: hidden;
}


.academic-school-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s var(--ease);
}


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


.academic-school-label {
    position: absolute;

    left: 17px;
    bottom: 17px;

    padding: 10px 14px;

    border-radius: 100px;

    background: var(--yellow);

    color: var(--blue-deep);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .09em;

    text-transform: uppercase;
}


.academic-school-content {
    padding: clamp(25px, 3.5vw, 38px);
}


.academic-school-content>span {
    display: block;

    margin-bottom: 28px;

    color: var(--yellow-dark);

    font-size: 10px;
    font-weight: 800;
}


.academic-school-content h3 {
    max-width: 480px;

    margin-bottom: 12px;

    font-size: clamp(24px, 2.5vw, 33px);
}


.academic-school-content p {
    max-width: 520px;

    margin-bottom: 23px;
}



/* ================================================================
   ACADEMIC JOURNEY
================================================================ */

.academic-journey {
    background: var(--white);
}


.academic-journey-head {
    max-width: 720px;

    margin-bottom: 52px;
}


.academic-journey-head h2 {
    margin-bottom: 16px;
}


.academic-journey-head p {
    max-width: 570px;

    margin-bottom: 0;
}


.academic-journey-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid var(--border);
}


.academic-journey-stage {
    min-height: 310px;

    padding: 28px 25px 28px 0;

    display: flex;
    flex-direction: column;

    border-right: 1px solid var(--border);
}


.academic-journey-stage+.academic-journey-stage {
    padding-left: 25px;
}


.academic-journey-stage:last-child {
    border-right: 0;
}


.academic-journey-stage>span {
    margin-bottom: auto;

    color: rgba(18, 63, 104, .16);

    font-family: "Manrope", sans-serif;

    font-size: clamp(48px, 5vw, 70px);

    font-weight: 800;

    line-height: .9;
}


.academic-journey-stage small {
    display: block;

    margin-top: 55px;
    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.academic-journey-stage h3 {
    margin-bottom: 8px;

    font-size: clamp(20px, 1.8vw, 25px);
}


.academic-journey-stage p {
    margin-bottom: 0;

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   EXPLORE ACADEMICS
================================================================ */

.academic-explore {
    background: var(--warm);
}


.academic-explore-head {
    max-width: 650px;

    margin-bottom: 45px;
}


.academic-explore-head h2 {
    margin-bottom: 0;
}


.academic-explore-grid {
    border-top: 1px solid var(--border);
}


.academic-explore-card {
    display: grid;

    grid-template-columns:
        65px 1fr 55px;

    gap: 25px;

    align-items: center;

    min-height: 125px;

    padding: 22px 0;

    border-bottom:
        1px solid var(--border);

    color: var(--text);

    transition:
        padding-left .35s var(--ease);
}


.academic-explore-card:hover {
    padding-left: 12px;
}


.academic-explore-card>span {
    color: rgba(18, 63, 104, .22);

    font-size: 13px;
    font-weight: 800;
}


.academic-explore-card small {
    display: block;

    margin-bottom: 4px;

    color: var(--yellow-dark);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.academic-explore-card h3 {
    margin-bottom: 0;

    font-size: clamp(21px, 2.2vw, 29px);
}


.academic-explore-card>strong {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 16px;

    transition:
        transform .3s var(--ease),
        background .3s ease;
}


.academic-explore-card:hover>strong {
    transform: rotate(-8deg);

    background: var(--blue);
}



/* ================================================================
   NEXT PAGE
================================================================ */

.academic-next {
    padding:
        clamp(60px, 6vw, 82px) 0;

    background: var(--yellow);
}


.academic-next-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.academic-next .eyebrow {
    color: var(--blue);
}


.academic-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size: clamp(34px, 4.2vw, 55px);
}


.academic-next h2 span {
    color: rgba(5, 38, 67, .42);
}


.academic-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.academic-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 1050px) {

    .academic-method-grid,
    .academic-whole-grid,
    .academic-journey-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .academic-whole-card:nth-child(2),
    .academic-journey-stage:nth-child(2) {
        border-right: 0;
    }


    .academic-whole-card,
    .academic-journey-stage {
        border-bottom:
            1px solid var(--border);
    }


    .academic-whole-card {
        border-bottom-color:
            rgba(255, 255, 255, .14);
    }

}



@media (max-width: 900px) {

    .academic-intro-grid,
    .academic-method-head,
    .academic-framework-grid,
    .academic-whole-head,
    .academic-school-grid {
        grid-template-columns: 1fr;
    }


    .academic-method-head,
    .academic-whole-head {
        gap: 18px;
    }


    .academic-framework-image,
    .academic-school-image {
        height: 420px;
    }

}



@media (max-width: 600px) {

    .academic-intro-lead {
        font-size: 22px;
    }


    .academic-method-grid,
    .academic-whole-grid,
    .academic-journey-grid {
        grid-template-columns: 1fr;
    }


    .academic-method-card {
        min-height: 270px;
    }


    .academic-framework-image,
    .academic-school-image {
        height: 330px;
    }


    .academic-whole-card,
    .academic-whole-card+.academic-whole-card,
    .academic-journey-stage,
    .academic-journey-stage+.academic-journey-stage {
        min-height: 250px;

        padding: 25px 0;

        border-right: 0;
    }


    .academic-explore-card {
        grid-template-columns:
            40px 1fr 46px;

        gap: 14px;
    }


    .academic-explore-card:hover {
        padding-left: 0;
    }


    .academic-explore-card>strong {
        width: 44px;
        height: 44px;
    }


    .academic-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .academic-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* ACADEMIC OVERVIEW END  */

/* CURICULUM PAGE START  */

/* ================================================================
   ================================================================
   CURRICULUM PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.curriculum-intro {
    background: var(--white);
}


.curriculum-intro-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.curriculum-intro-title h2 {
    max-width: 550px;
    margin-bottom: 0;
}


.curriculum-intro-copy {
    padding-top: 12px;
}


.curriculum-intro-lead {
    max-width: 690px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.curriculum-intro-copy>p:not(.curriculum-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   LEARNING AREAS
================================================================ */

.curriculum-areas {
    background: var(--warm);
}


.curriculum-areas-head {
    display: grid;
    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.curriculum-areas-head h2 {
    max-width: 650px;
    margin-bottom: 0;
}


.curriculum-areas-head>p {
    max-width: 420px;
    margin-bottom: 4px;
}


.curriculum-areas-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 12px;
}


.curriculum-area-card {
    min-height: 315px;

    padding: 27px;

    display: flex;
    flex-direction: column;

    border: 1px solid var(--border);
    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.curriculum-area-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.curriculum-area-number {
    color: var(--yellow-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .05em;
}


.curriculum-area-code {
    width: 58px;
    height: 58px;

    margin-top: auto;
    margin-bottom: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-size: 15px;
    font-weight: 800;
}


.curriculum-area-card h3 {
    margin-bottom: 9px;

    font-size: clamp(20px, 1.8vw, 25px);
}


.curriculum-area-card p {
    margin-bottom: 0;

    font-size: 12px;
    line-height: 1.65;
}



/* ================================================================
   CONNECTED LEARNING
================================================================ */

.curriculum-connected {
    background: var(--white);
}


.curriculum-connected-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;

    gap: clamp(55px, 7vw, 100px);

    align-items: center;
}


.curriculum-connected-content h2 {
    max-width: 600px;
}


.curriculum-connected-lead {
    max-width: 550px;

    color: var(--text);

    font-size: clamp(18px, 1.8vw, 23px);
    font-weight: 600;

    line-height: 1.55;
}


.curriculum-connected-content>p {
    max-width: 550px;
}


.curriculum-connected-image {
    position: relative;

    height: clamp(520px, 53vw, 680px);

    overflow: hidden;

    border-radius: 26px;
}


.curriculum-connected-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s var(--ease);
}


.curriculum-connected-image:hover img {
    transform: scale(1.025);
}


.curriculum-connected-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .82),
            rgba(5, 38, 67, 0) 52%);
}


.curriculum-connected-caption {
    position: absolute;

    z-index: 2;

    left: clamp(24px, 4vw, 42px);
    right: clamp(24px, 4vw, 42px);
    bottom: clamp(24px, 4vw, 40px);
}


.curriculum-connected-caption small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.curriculum-connected-caption strong {
    display: block;

    max-width: 480px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: clamp(25px, 2.8vw, 38px);

    line-height: 1.2;

    letter-spacing: -.03em;
}



/* ================================================================
   LEARNING IN PRACTICE
================================================================ */

.curriculum-practice {
    background: var(--blue-deep);

    color: var(--white);
}


.curriculum-practice .eyebrow {
    color: var(--yellow);
}


.curriculum-practice-head {
    display: grid;
    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.curriculum-practice-head h2 {
    max-width: 650px;

    margin-bottom: 0;

    color: var(--white);
}


.curriculum-practice-head>p {
    max-width: 420px;

    margin-bottom: 4px;

    color: rgba(255, 255, 255, .57);
}


.curriculum-practice-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 13px;
}


.curriculum-practice-card {
    overflow: hidden;

    border:
        1px solid rgba(255, 255, 255, .1);

    border-radius: 22px;

    background:
        rgba(255, 255, 255, .045);
}


.curriculum-practice-image {
    height: 320px;

    overflow: hidden;
}


.curriculum-practice-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s var(--ease);
}


.curriculum-practice-card:hover .curriculum-practice-image img {
    transform: scale(1.04);
}


.curriculum-practice-content {
    padding: 25px;
}


.curriculum-practice-content>span {
    display: block;

    margin-bottom: 25px;

    color: var(--yellow);

    font-size: 12px;
    font-weight: 800;
}


.curriculum-practice-content h3 {
    margin-bottom: 8px;

    color: var(--white);

    font-size: clamp(21px, 2vw, 27px);
}


.curriculum-practice-content p {
    margin-bottom: 0;

    color: rgba(255, 255, 255, .53);

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   LEARNING CYCLE
================================================================ */

.curriculum-cycle {
    background: var(--white);
}


.curriculum-cycle-head {
    max-width: 700px;

    margin-bottom: 52px;
}


.curriculum-cycle-head h2 {
    margin-bottom: 0;
}


.curriculum-cycle-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);

    border-top: 1px solid var(--border);
}


.curriculum-cycle-step {
    min-height: 310px;

    padding: 28px 22px 28px 0;

    display: flex;
    flex-direction: column;

    border-right: 1px solid var(--border);
}


.curriculum-cycle-step+.curriculum-cycle-step {
    padding-left: 22px;
}


.curriculum-cycle-step:last-child {
    border-right: 0;
}


.curriculum-cycle-step>span {
    margin-bottom: auto;

    color: rgba(18, 63, 104, .16);

    font-family: "Manrope", sans-serif;

    font-size: clamp(45px, 4vw, 62px);

    font-weight: 800;

    line-height: .9;
}


.curriculum-cycle-step small {
    display: block;

    margin-top: 50px;
    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.curriculum-cycle-step h3 {
    margin-bottom: 8px;

    font-size: clamp(19px, 1.7vw, 23px);
}


.curriculum-cycle-step p {
    margin-bottom: 0;

    font-size: 11px;

    line-height: 1.65;
}



/* ================================================================
   ASSESSMENT
================================================================ */

.curriculum-assessment {
    background: var(--warm);
}


.curriculum-assessment-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.curriculum-assessment-title h2 {
    max-width: 560px;

    margin-bottom: 0;
}


.curriculum-assessment-lead {
    max-width: 650px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(22px, 2.2vw, 30px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.curriculum-assessment-content>p {
    max-width: 620px;
}


.curriculum-assessment-list {
    margin-top: 35px;

    border-top: 1px solid var(--border);
}


.curriculum-assessment-list>div {
    display: grid;
    grid-template-columns: 45px 1fr;

    gap: 20px;

    padding: 17px 0;

    border-bottom: 1px solid var(--border);
}


.curriculum-assessment-list span {
    color: var(--yellow-dark);

    font-size: 12px;
    font-weight: 800;

    padding-top: 4px;
}


.curriculum-assessment-list p {
    margin: 0;

    color: var(--text);

    font-size: 13px;
    font-weight: 600;
}



/* ================================================================
   ASTERIA BRIDGE
================================================================ */

.curriculum-asteria {
    background: var(--white);
}


.curriculum-asteria-card {
    display: grid;
    grid-template-columns: 1.2fr .8fr;

    min-height: 540px;

    overflow: hidden;

    border-radius: 27px;

    background: var(--blue-deep);

    color: var(--white);
}


.curriculum-asteria-copy {
    padding: clamp(35px, 6vw, 75px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}


.curriculum-asteria-copy .eyebrow {
    color: var(--yellow);
}


.curriculum-asteria-copy h2 {
    max-width: 650px;

    color: var(--white);
}


.curriculum-asteria-copy h2 span {
    color: var(--yellow);
}


.curriculum-asteria-copy p {
    max-width: 570px;

    color: rgba(255, 255, 255, .58);
}


.curriculum-asteria-copy .btn {
    align-self: flex-start;

    margin-top: 10px;
}


.curriculum-asteria-visual {
    display: flex;
    align-items: center;
    justify-content: center;

    padding: clamp(30px, 5vw, 65px);

    background: var(--yellow);
}


.curriculum-asteria-visual img {
    width: min(100%, 370px);
    height: auto;

    object-fit: contain;
}



/* ================================================================
   NEXT PAGE
================================================================ */

.curriculum-next {
    padding: clamp(60px, 6vw, 82px) 0;

    background: var(--yellow);
}


.curriculum-next-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.curriculum-next .eyebrow {
    color: var(--blue);
}


.curriculum-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size: clamp(34px, 4.2vw, 55px);
}


.curriculum-next h2 span {
    color: rgba(5, 38, 67, .42);
}


.curriculum-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.curriculum-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 1050px) {

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


    .curriculum-cycle-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}


@media (max-width: 900px) {

    .curriculum-intro-grid,
    .curriculum-areas-head,
    .curriculum-connected-grid,
    .curriculum-practice-head,
    .curriculum-assessment-grid,
    .curriculum-asteria-card {
        grid-template-columns: 1fr;
    }


    .curriculum-areas-head,
    .curriculum-practice-head {
        gap: 18px;
    }


    .curriculum-practice-grid {
        grid-template-columns: 1fr;
    }


    .curriculum-practice-image {
        height: 420px;
    }


    .curriculum-connected-image {
        height: 560px;
    }


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


    .curriculum-asteria-visual {
        min-height: 380px;
    }

}


@media (max-width: 600px) {

    .curriculum-intro-lead,
    .curriculum-assessment-lead {
        font-size: 22px;
    }


    .curriculum-areas-grid,
    .curriculum-cycle-grid {
        grid-template-columns: 1fr;
    }


    .curriculum-area-card {
        min-height: 270px;
    }


    .curriculum-connected-image {
        height: 430px;

        border-radius: 20px;
    }


    .curriculum-practice-image {
        height: 330px;
    }


    .curriculum-cycle-step,
    .curriculum-cycle-step+.curriculum-cycle-step {
        min-height: 240px;

        padding: 25px 0;

        border-right: 0;

        border-bottom:
            1px solid var(--border);
    }


    .curriculum-asteria-card {
        border-radius: 20px;
    }


    .curriculum-asteria-visual {
        min-height: 300px;
    }


    .curriculum-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .curriculum-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* CURICULUM PAGE END  */

/* DAY SCHOOL START  */

/* ================================================================
   ================================================================
   DAY SCHOOL PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.day-intro {
    background: var(--white);
}


.day-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.day-intro-title h2 {
    max-width: 560px;

    margin-bottom: 0;
}


.day-intro-copy {
    padding-top: 12px;
}


.day-intro-lead {
    max-width: 690px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.day-intro-copy>p:not(.day-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   DAY RHYTHM
================================================================ */

.day-rhythm {
    background: var(--warm);
}


.day-rhythm-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.day-rhythm-head h2 {
    max-width: 650px;

    margin-bottom: 0;
}


.day-rhythm-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.day-rhythm-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 12px;
}


.day-rhythm-card {
    min-height: 290px;

    padding: 27px;

    display: flex;
    flex-direction: column;

    border: 1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.day-rhythm-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.day-rhythm-number {
    margin-bottom: auto;

    color: rgba(18, 63, 104, .18);

    font-family: "Manrope", sans-serif;

    font-size: clamp(42px, 4vw, 58px);

    font-weight: 800;

    line-height: .9;
}


.day-rhythm-card small {
    display: block;

    margin-top: 55px;
    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.day-rhythm-card h3 {
    margin-bottom: 8px;

    font-size: clamp(20px, 1.8vw, 25px);
}


.day-rhythm-card p {
    margin-bottom: 0;

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   ACADEMIC LEARNING
================================================================ */

.day-learning {
    background: var(--white);
}


.day-learning-grid {
    display: grid;

    grid-template-columns: 1.05fr .95fr;

    gap: clamp(55px, 7vw, 100px);

    align-items: center;
}


.day-learning-image {
    position: relative;

    height: clamp(520px, 53vw, 690px);

    overflow: hidden;

    border-radius: 26px;
}


.day-learning-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .9s var(--ease);
}


.day-learning-image:hover img {
    transform: scale(1.025);
}


.day-learning-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .82),
            rgba(5, 38, 67, 0) 52%);
}


.day-learning-image-copy {
    position: absolute;

    z-index: 2;

    left: clamp(24px, 4vw, 44px);
    right: clamp(24px, 4vw, 44px);
    bottom: clamp(24px, 4vw, 42px);
}


.day-learning-image-copy small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.day-learning-image-copy strong {
    display: block;

    max-width: 410px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: clamp(28px, 3vw, 42px);

    line-height: 1.17;

    letter-spacing: -.035em;
}


.day-learning-content h2 {
    max-width: 580px;
}


.day-learning-lead {
    max-width: 540px;

    color: var(--text);

    font-size: clamp(18px, 1.8vw, 23px);

    font-weight: 600;

    line-height: 1.55;
}


.day-learning-content>p {
    max-width: 530px;
}


.day-learning-list {
    margin-top: 30px;
    margin-bottom: 27px;

    border-top: 1px solid var(--border);
}


.day-learning-list>div {
    display: grid;

    grid-template-columns: 45px 1fr;

    gap: 18px;

    padding: 16px 0;

    border-bottom: 1px solid var(--border);
}


.day-learning-list span {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    padding-top: 3px;
}


.day-learning-list p {
    margin: 0;

    color: var(--text);

    font-size: 13px;

    font-weight: 600;
}


.day-text-link {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--blue);

    font-size: 11px;

    font-weight: 800;
}



/* ================================================================
   BEYOND CLASSROOM
================================================================ */

.day-beyond {
    background: var(--blue-deep);

    color: var(--white);
}


.day-beyond .eyebrow {
    color: var(--yellow);
}


.day-beyond-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.day-beyond-head h2 {
    max-width: 680px;

    margin-bottom: 0;

    color: var(--white);
}


.day-beyond-head>p {
    max-width: 420px;

    margin-bottom: 4px;

    color: rgba(255, 255, 255, .57);
}


.day-beyond-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 13px;
}


.day-beyond-card {
    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, .1);

    border-radius: 22px;

    background: rgba(255, 255, 255, .045);
}


.day-beyond-image {
    height: 330px;

    overflow: hidden;
}


.day-beyond-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s var(--ease);
}


.day-beyond-card:hover .day-beyond-image img {
    transform: scale(1.04);
}


.day-beyond-content {
    padding: 25px;
}


.day-beyond-content>span {
    display: block;

    margin-bottom: 24px;

    color: rgba(255, 255, 255, .2);

    font-family: "Manrope", sans-serif;

    font-size: 28px;

    font-weight: 800;
}


.day-beyond-content small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.day-beyond-content h3 {
    margin-bottom: 9px;

    color: var(--white);

    font-size: clamp(22px, 2vw, 28px);
}


.day-beyond-content p {
    margin-bottom: 22px;

    color: rgba(255, 255, 255, .55);

    font-size: 12px;

    line-height: 1.65;
}


.day-beyond-content .day-text-link {
    color: var(--yellow);
}



/* ================================================================
   OUTCOMES
================================================================ */

.day-outcomes {
    background: var(--white);
}


.day-outcomes-head {
    max-width: 720px;

    margin-bottom: 52px;
}


.day-outcomes-head h2 {
    margin-bottom: 15px;
}


.day-outcomes-head p {
    max-width: 580px;

    margin-bottom: 0;
}


.day-outcomes-grid {
    display: grid;

    grid-template-columns: repeat(5, 1fr);

    border-top: 1px solid var(--border);
}


.day-outcome-card {
    min-height: 290px;

    padding: 27px 22px 27px 0;

    display: flex;

    flex-direction: column;

    border-right: 1px solid var(--border);
}


.day-outcome-card+.day-outcome-card {
    padding-left: 22px;
}


.day-outcome-card:last-child {
    border-right: 0;
}


.day-outcome-card>span {
    margin-bottom: auto;

    color: rgba(18, 63, 104, .16);

    font-family: "Manrope", sans-serif;

    font-size: clamp(42px, 4vw, 60px);

    font-weight: 800;

    line-height: .9;
}


.day-outcome-card h3 {
    margin-top: 55px;
    margin-bottom: 8px;

    font-size: clamp(19px, 1.7vw, 23px);
}


.day-outcome-card p {
    margin-bottom: 0;

    font-size: 11px;

    line-height: 1.65;
}



/* ================================================================
   PARENT SECTION
================================================================ */

.day-parent {
    background: var(--warm);
}


.day-parent-card {
    display: grid;

    grid-template-columns: 1fr 1fr;

    min-height: 550px;

    overflow: hidden;

    border-radius: 26px;

    background: var(--blue-deep);

    color: var(--white);
}


.day-parent-copy {
    padding: clamp(36px, 6vw, 75px);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.day-parent-copy .eyebrow {
    color: var(--yellow);
}


.day-parent-copy h2 {
    max-width: 600px;

    color: var(--white);
}


.day-parent-copy p {
    max-width: 540px;

    color: rgba(255, 255, 255, .58);
}


.day-parent-copy .btn {
    align-self: flex-start;

    margin-top: 12px;
}


.day-parent-visual {
    min-height: 550px;

    overflow: hidden;
}


.day-parent-visual img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s var(--ease);
}


.day-parent-card:hover .day-parent-visual img {
    transform: scale(1.03);
}



/* ================================================================
   RESIDENTIAL BRIDGE
================================================================ */

.day-residential-bridge {
    background: var(--white);
}


.day-residential-grid {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: clamp(55px, 7vw, 100px);

    align-items: center;
}


.day-residential-copy h2 {
    max-width: 580px;
}


.day-residential-copy p {
    max-width: 550px;
}


.day-residential-copy .btn {
    margin-top: 10px;
}


.day-residential-image {
    position: relative;

    height: clamp(490px, 50vw, 650px);

    overflow: hidden;

    border-radius: 26px;
}


.day-residential-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s var(--ease);
}


.day-residential-image:hover img {
    transform: scale(1.025);
}


.day-residential-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .8),
            rgba(5, 38, 67, 0) 50%);
}


.day-residential-label {
    position: absolute;

    z-index: 2;

    left: clamp(24px, 4vw, 42px);
    right: clamp(24px, 4vw, 42px);
    bottom: clamp(24px, 4vw, 40px);
}


.day-residential-label small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.day-residential-label strong {
    display: block;

    max-width: 440px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: clamp(27px, 3vw, 40px);

    line-height: 1.18;

    letter-spacing: -.035em;
}



/* ================================================================
   NEXT PAGE
================================================================ */

.day-next {
    padding: clamp(60px, 6vw, 82px) 0;

    background: var(--yellow);
}


.day-next-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;
}


.day-next .eyebrow {
    color: var(--blue);
}


.day-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size: clamp(34px, 4.2vw, 55px);
}


.day-next h2 span {
    color: rgba(5, 38, 67, .42);
}


.day-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.day-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 1050px) {

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


    .day-outcomes-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}



@media (max-width: 900px) {

    .day-intro-grid,
    .day-rhythm-head,
    .day-learning-grid,
    .day-beyond-head,
    .day-parent-card,
    .day-residential-grid {
        grid-template-columns: 1fr;
    }


    .day-rhythm-head,
    .day-beyond-head {
        gap: 18px;
    }


    .day-learning-image,
    .day-residential-image {
        height: 560px;
    }


    .day-beyond-grid {
        grid-template-columns: 1fr;
    }


    .day-beyond-image {
        height: 430px;
    }


    .day-parent-visual {
        min-height: 450px;
    }

}



@media (max-width: 600px) {

    .day-intro-lead {
        font-size: 22px;
    }


    .day-rhythm-grid,
    .day-outcomes-grid {
        grid-template-columns: 1fr;
    }


    .day-rhythm-card {
        min-height: 255px;
    }


    .day-learning-image,
    .day-residential-image {
        height: 430px;

        border-radius: 20px;
    }


    .day-beyond-image {
        height: 330px;
    }


    .day-outcome-card,
    .day-outcome-card+.day-outcome-card {
        min-height: 230px;

        padding: 25px 0;

        border-right: 0;

        border-bottom:
            1px solid var(--border);
    }


    .day-parent-card {
        border-radius: 20px;
    }


    .day-parent-visual {
        min-height: 350px;
    }


    .day-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .day-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* DAY SCHOOL END  */


/* RESIDENTIAL SCHOOL START  */

/* ================================================================
   ================================================================
   RESIDENTIAL SCHOOL PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.residential-intro {
    background: var(--white);
}


.residential-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.residential-intro-title h2 {
    max-width: 570px;

    margin-bottom: 0;
}


.residential-intro-copy {
    padding-top: 12px;
}


.residential-intro-lead {
    max-width: 680px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.residential-intro-copy>p:not(.residential-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   IMMERSIVE STORY
================================================================ */

.residential-story {
    position: relative;

    min-height: 82svh;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    color: var(--white);
}


.residential-story-image {
    position: absolute;

    inset: 0;
}


.residential-story-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.residential-story-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .08) 0%,
            rgba(5, 38, 67, .2) 35%,
            rgba(5, 38, 67, .88) 100%);
}


.residential-story-inner {
    position: relative;

    z-index: 2;

    width: 100%;

    padding-top: 100px;
    padding-bottom: clamp(65px, 8vw, 110px);
}


.residential-story-copy {
    max-width: 790px;
}


.residential-story-copy .eyebrow {
    color: var(--yellow);
}


.residential-story-copy h2 {
    max-width: 760px;

    margin-bottom: 20px;

    color: var(--white);

    font-size: clamp(40px, 5vw, 68px);
}


.residential-story-copy h2 span {
    color: var(--yellow);
}


.residential-story-copy p {
    max-width: 520px;

    margin-bottom: 0;

    color: rgba(255, 255, 255, .66);

    font-size: clamp(16px, 1.6vw, 20px);
}



/* ================================================================
   DAILY RHYTHM
================================================================ */

.residential-rhythm {
    background: var(--warm);
}


.residential-rhythm-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.residential-rhythm-head h2 {
    max-width: 670px;

    margin-bottom: 0;
}


.residential-rhythm-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.residential-rhythm-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 12px;
}


.residential-rhythm-card {
    min-height: 330px;

    padding: 27px;

    display: flex;

    flex-direction: column;

    border: 1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.residential-rhythm-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.residential-rhythm-number {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .05em;
}


.residential-rhythm-icon {
    width: 58px;
    height: 58px;

    margin-top: auto;
    margin-bottom: 22px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-family: "Manrope", sans-serif;

    font-size: 12px;

    font-weight: 800;
}


.residential-rhythm-card small {
    display: block;

    margin-bottom: 6px;

    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.residential-rhythm-card h3 {
    margin-bottom: 8px;

    font-size: clamp(20px, 1.8vw, 25px);
}


.residential-rhythm-card p {
    margin-bottom: 0;

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   HOME AWAY FROM HOME
================================================================ */

.residential-home {
    background: var(--white);
}


.residential-home-grid {
    display: grid;

    grid-template-columns: 1.08fr .92fr;

    gap: clamp(55px, 7vw, 100px);

    align-items: center;
}


.residential-home-image {
    position: relative;

    height: clamp(560px, 55vw, 720px);

    overflow: hidden;

    border-radius: 26px;
}


.residential-home-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .9s var(--ease);
}


.residential-home-image:hover img {
    transform: scale(1.025);
}


.residential-home-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .85),
            rgba(5, 38, 67, 0) 52%);
}


.residential-home-label {
    position: absolute;

    z-index: 2;

    left: clamp(24px, 4vw, 44px);
    right: clamp(24px, 4vw, 44px);
    bottom: clamp(24px, 4vw, 42px);
}


.residential-home-label small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.residential-home-label strong {
    display: block;

    max-width: 470px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: clamp(27px, 3vw, 40px);

    line-height: 1.18;

    letter-spacing: -.035em;
}


.residential-home-content h2 {
    max-width: 610px;
}


.residential-home-lead {
    max-width: 530px;

    color: var(--text);

    font-size: clamp(18px, 1.8vw, 23px);

    font-weight: 600;

    line-height: 1.55;
}


.residential-home-content>p {
    max-width: 550px;
}


.residential-home-list {
    margin-top: 30px;
    margin-bottom: 27px;

    border-top: 1px solid var(--border);
}


.residential-home-list>div {
    display: grid;

    grid-template-columns: 45px 1fr;

    gap: 18px;

    padding: 16px 0;

    border-bottom: 1px solid var(--border);
}


.residential-home-list span {
    padding-top: 3px;

    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;
}


.residential-home-list p {
    margin: 0;

    color: var(--text);

    font-size: 13px;

    font-weight: 600;
}


.residential-text-link {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--blue);

    font-size: 11px;

    font-weight: 800;
}



/* ================================================================
   SUPPORT
================================================================ */

.residential-support {
    background: var(--blue-deep);

    color: var(--white);
}


.residential-support .eyebrow {
    color: var(--yellow);
}


.residential-support-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.residential-support-head h2 {
    max-width: 680px;

    margin-bottom: 0;

    color: var(--white);
}


.residential-support-head>p {
    max-width: 420px;

    margin-bottom: 4px;

    color: rgba(255, 255, 255, .58);
}


.residential-support-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 12px;
}


.residential-support-card {
    min-height: 330px;

    padding: 26px;

    display: flex;

    flex-direction: column;

    border:
        1px solid rgba(255, 255, 255, .1);

    border-radius: 20px;

    background:
        rgba(255, 255, 255, .045);

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.residential-support-card:hover {
    transform: translateY(-5px);

    background:
        rgba(255, 255, 255, .075);
}


.residential-support-card>span {
    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;
}


.residential-support-icon {
    width: 55px;
    height: 55px;

    margin-top: auto;
    margin-bottom: 24px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(245, 182, 24, .13);

    color: var(--yellow);

    font-size: 16px;

    font-weight: 800;
}


.residential-support-card h3 {
    margin-bottom: 9px;

    color: var(--white);

    font-size: clamp(19px, 1.7vw, 24px);
}


.residential-support-card p {
    margin-bottom: 0;

    color: rgba(255, 255, 255, .53);

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   STUDY / NIGHT PREP
================================================================ */

.residential-study {
    background: var(--warm);
}


.residential-study-card {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    min-height: 590px;

    overflow: hidden;

    border-radius: 27px;

    background: var(--white);

    box-shadow:
        0 24px 70px rgba(5, 38, 67, .07);
}


.residential-study-copy {
    padding: clamp(36px, 6vw, 75px);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.residential-study-copy h2 {
    max-width: 580px;
}


.residential-study-lead {
    max-width: 500px;

    color: var(--text);

    font-size: clamp(18px, 1.8vw, 23px);

    font-weight: 600;

    line-height: 1.55;
}


.residential-study-copy p {
    max-width: 510px;
}


.residential-study-copy .btn {
    align-self: flex-start;

    margin-top: 10px;
}


.residential-study-image {
    position: relative;

    min-height: 590px;

    overflow: hidden;
}


.residential-study-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .8s var(--ease);
}


.residential-study-card:hover .residential-study-image img {
    transform: scale(1.03);
}


.residential-study-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .78),
            rgba(5, 38, 67, 0) 52%);
}


.residential-study-note {
    position: absolute;

    z-index: 2;

    left: 35px;
    right: 35px;
    bottom: 35px;
}


.residential-study-note small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.residential-study-note strong {
    display: block;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: clamp(25px, 2.7vw, 38px);

    line-height: 1.18;
}



/* ================================================================
   WELLBEING
================================================================ */

.residential-wellbeing {
    background: var(--white);
}


.residential-wellbeing-grid {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: clamp(55px, 7vw, 100px);

    align-items: center;
}


.residential-wellbeing-copy h2 {
    max-width: 590px;
}


.residential-wellbeing-lead {
    max-width: 520px;

    color: var(--text);

    font-size: clamp(18px, 1.8vw, 23px);

    font-weight: 600;

    line-height: 1.55;
}


.residential-wellbeing-copy>p {
    max-width: 530px;
}


.residential-wellbeing-points {
    margin-top: 35px;

    border-top: 1px solid var(--border);
}


.residential-wellbeing-points>div {
    display: grid;

    grid-template-columns: .75fr 1.25fr;

    gap: 25px;

    padding: 18px 0;

    border-bottom: 1px solid var(--border);
}


.residential-wellbeing-points strong {
    color: var(--blue);

    font-size: 12px;
}


.residential-wellbeing-points span {
    color: var(--body);

    font-size: 12px;

    line-height: 1.6;
}


.residential-wellbeing-image {
    height: clamp(520px, 52vw, 680px);

    overflow: hidden;

    border-radius: 26px;
}


.residential-wellbeing-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .8s var(--ease);
}


.residential-wellbeing-image:hover img {
    transform: scale(1.025);
}



/* ================================================================
   SPORTS / RECREATION
================================================================ */

.residential-play {
    background: var(--warm);
}


.residential-play-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 50px;
}


.residential-play-head h2 {
    max-width: 680px;

    margin-bottom: 0;
}


.residential-play-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.residential-play-visual {
    position: relative;

    min-height: 72svh;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    border-radius: 27px;
}


.residential-play-visual>img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.residential-play-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .05) 0%,
            rgba(5, 38, 67, .18) 38%,
            rgba(5, 38, 67, .9) 100%);
}


.residential-play-content {
    position: relative;

    z-index: 2;

    max-width: 620px;

    padding:
        clamp(35px, 6vw, 70px);
}


.residential-play-content small {
    display: block;

    margin-bottom: 9px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.residential-play-content h3 {
    margin-bottom: 15px;

    color: var(--white);

    font-size: clamp(31px, 4vw, 52px);

    line-height: 1.13;
}


.residential-play-content p {
    max-width: 480px;

    color: rgba(255, 255, 255, .62);
}


.residential-play-content .btn {
    margin-top: 10px;
}



/* ================================================================
   GROWTH OUTCOMES
================================================================ */

.residential-growth {
    background: var(--white);
}


.residential-growth-head {
    max-width: 700px;

    margin-bottom: 52px;
}


.residential-growth-head h2 {
    margin-bottom: 0;
}


.residential-growth-grid {
    display: grid;

    grid-template-columns: repeat(5, 1fr);

    border-top: 1px solid var(--border);
}


.residential-growth-card {
    min-height: 300px;

    padding: 28px 22px 28px 0;

    display: flex;

    flex-direction: column;

    border-right: 1px solid var(--border);
}


.residential-growth-card+.residential-growth-card {
    padding-left: 22px;
}


.residential-growth-card:last-child {
    border-right: 0;
}


.residential-growth-card>span {
    margin-bottom: auto;

    color: rgba(18, 63, 104, .16);

    font-family: "Manrope", sans-serif;

    font-size: clamp(42px, 4vw, 60px);

    font-weight: 800;

    line-height: .9;
}


.residential-growth-card h3 {
    margin-top: 55px;
    margin-bottom: 8px;

    font-size: clamp(19px, 1.7vw, 23px);
}


.residential-growth-card p {
    margin-bottom: 0;

    font-size: 11px;

    line-height: 1.65;
}



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

.residential-parent {
    background: var(--warm);
}


.residential-parent-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.residential-parent-title h2 {
    max-width: 570px;

    margin-bottom: 0;
}


.residential-parent-copy {
    padding-top: 12px;
}


.residential-parent-lead {
    max-width: 620px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.residential-parent-copy>p {
    max-width: 620px;
}


.residential-parent-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 28px;
}



/* ================================================================
   NEXT PAGE
================================================================ */

.residential-next {
    padding: clamp(60px, 6vw, 82px) 0;

    background: var(--yellow);
}


.residential-next-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.residential-next .eyebrow {
    color: var(--blue);
}


.residential-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size: clamp(34px, 4.2vw, 55px);
}


.residential-next h2 span {
    color: rgba(5, 38, 67, .42);
}


.residential-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.residential-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 1050px) {

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


    .residential-growth-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}



@media (max-width: 900px) {

    .residential-intro-grid,
    .residential-rhythm-head,
    .residential-home-grid,
    .residential-support-head,
    .residential-study-card,
    .residential-wellbeing-grid,
    .residential-play-head,
    .residential-parent-grid {
        grid-template-columns: 1fr;
    }


    .residential-rhythm-head,
    .residential-support-head,
    .residential-play-head {
        gap: 18px;
    }


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


    .residential-home-image,
    .residential-wellbeing-image {
        height: 560px;
    }


    .residential-study-image {
        min-height: 500px;
    }


    .residential-story {
        min-height: 72svh;
    }

}



@media (max-width: 600px) {

    .residential-intro-lead,
    .residential-parent-lead {
        font-size: 22px;
    }


    .residential-story {
        min-height: 70svh;
    }


    .residential-story-copy h2 {
        font-size: clamp(34px, 10vw, 46px);
    }


    .residential-rhythm-grid,
    .residential-support-grid,
    .residential-growth-grid {
        grid-template-columns: 1fr;
    }


    .residential-rhythm-card,
    .residential-support-card {
        min-height: 280px;
    }


    .residential-home-image,
    .residential-wellbeing-image {
        height: 430px;

        border-radius: 20px;
    }


    .residential-study-card,
    .residential-play-visual {
        border-radius: 20px;
    }


    .residential-study-image {
        min-height: 390px;
    }


    .residential-play-visual {
        min-height: 650px;
    }


    .residential-growth-card,
    .residential-growth-card+.residential-growth-card {
        min-height: 230px;

        padding: 25px 0;

        border-right: 0;

        border-bottom:
            1px solid var(--border);
    }


    .residential-wellbeing-points>div {
        grid-template-columns: 1fr;

        gap: 5px;
    }


    .residential-parent-actions {
        flex-direction: column;

        align-items: flex-start;
    }


    .residential-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .residential-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* RESIDENTIAL SCHOOL END  */

/* ASTERIA START  */

/* ================================================================
   ================================================================
   ASTERIA PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.asteria-intro {
    background: var(--white);
}


.asteria-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.asteria-intro-title h2 {
    max-width: 570px;

    margin-bottom: 0;
}


.asteria-intro-copy {
    padding-top: 12px;
}


.asteria-intro-lead {
    max-width: 680px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.asteria-intro-copy>p:not(.asteria-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   BEYOND MARKS
================================================================ */

.asteria-beyond {
    position: relative;

    min-height: 82svh;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    color: var(--white);
}


.asteria-beyond-image {
    position: absolute;

    inset: 0;
}


.asteria-beyond-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 1.1s var(--ease);
}


.asteria-beyond:hover .asteria-beyond-image img {
    transform: scale(1.025);
}


.asteria-beyond-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .08) 0%,
            rgba(5, 38, 67, .22) 35%,
            rgba(5, 38, 67, .9) 100%);
}


.asteria-beyond-inner {
    position: relative;

    z-index: 2;

    width: 100%;

    padding-top: 100px;

    padding-bottom:
        clamp(65px,
            8vw,
            110px);
}


.asteria-beyond-copy {
    max-width: 900px;
}


.asteria-beyond-copy .eyebrow {
    color: var(--yellow);
}


.asteria-beyond-copy h2 {
    max-width: 850px;

    margin-bottom: 22px;

    color: var(--white);

    font-size:
        clamp(39px,
            5vw,
            66px);
}


.asteria-beyond-copy h2 span {
    display: block;

    margin-top: 7px;

    color: var(--yellow);
}


.asteria-beyond-copy p {
    max-width: 520px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .65);

    font-size:
        clamp(16px,
            1.6vw,
            20px);
}



/* ================================================================
   IQ + EQ + SQ
================================================================ */

.asteria-intelligence {
    background: var(--warm);
}


.asteria-intelligence-head {
    display: grid;

    grid-template-columns:
        1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.asteria-intelligence-head h2 {
    max-width: 650px;

    margin-bottom: 0;
}


.asteria-intelligence-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.asteria-intelligence-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;
}


.asteria-intelligence-card {
    min-height: 470px;

    padding:
        clamp(25px,
            3vw,
            36px);

    display: flex;

    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 23px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.asteria-intelligence-card:hover {
    transform:
        translateY(-6px);

    box-shadow:
        0 24px 60px rgba(5, 38, 67, .09);
}


.asteria-intelligence-top {
    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: auto;
}


.asteria-intelligence-top>span {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .05em;
}


.asteria-intelligence-top strong {
    color:
        rgba(18, 63, 104, .11);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(65px,
            7vw,
            100px);

    font-weight: 800;

    line-height: .8;

    letter-spacing: -.07em;
}


.asteria-intelligence-card>small {
    display: block;

    margin-top: 70px;

    margin-bottom: 8px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.asteria-intelligence-card h3 {
    margin-bottom: 10px;

    font-size:
        clamp(25px,
            2.4vw,
            34px);
}


.asteria-intelligence-card>p {
    max-width: 340px;

    margin-bottom: 25px;

    font-size: 12px;

    line-height: 1.65;
}


.asteria-intelligence-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    margin-top: auto;
}


.asteria-intelligence-tags span {
    padding: 7px 10px;

    border-radius: 30px;

    background: var(--yellow-soft);

    color: var(--blue);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .04em;
}



/* ================================================================
   METHOD
================================================================ */

.asteria-method {
    background: var(--blue-deep);

    color: var(--white);
}


.asteria-method .eyebrow {
    color: var(--yellow);
}


.asteria-method-grid {
    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap:
        clamp(60px,
            8vw,
            120px);

    align-items: start;
}


.asteria-method-copy {
    position: sticky;

    top: 150px;
}


.asteria-method-copy h2 {
    max-width: 530px;

    color: var(--white);
}


.asteria-method-lead {
    max-width: 470px;

    color: rgba(255, 255, 255, .76);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(19px,
            1.9vw,
            24px);

    font-weight: 600;

    line-height: 1.5;
}


.asteria-method-copy>p:not(.asteria-method-lead) {
    max-width: 470px;

    color:
        rgba(255, 255, 255, .5);
}


.asteria-method-steps {
    border-top:
        1px solid rgba(255, 255, 255, .13);
}


.asteria-method-step {
    display: grid;

    grid-template-columns:
        80px 1fr;

    gap: 30px;

    min-height: 220px;

    padding: 34px 0;

    border-bottom:
        1px solid rgba(255, 255, 255, .13);
}


.asteria-method-step>span {
    color:
        rgba(255, 255, 255, .15);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(38px,
            4vw,
            55px);

    font-weight: 800;

    line-height: 1;
}


.asteria-method-step small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.asteria-method-step h3 {
    margin-bottom: 8px;

    color: var(--white);

    font-size:
        clamp(22px,
            2vw,
            28px);
}


.asteria-method-step p {
    max-width: 450px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .5);

    font-size: 12px;
}



/* ================================================================
   LEARNING IN ACTION
================================================================ */

.asteria-action {
    background: var(--white);
}


.asteria-action-head {
    display: grid;

    grid-template-columns:
        1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.asteria-action-head h2 {
    max-width: 650px;

    margin-bottom: 0;
}


.asteria-action-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.asteria-action-grid {
    display: grid;

    grid-template-columns:
        1.2fr .8fr;

    grid-template-rows:
        repeat(2, 330px);

    gap: 12px;
}


.asteria-action-card {
    position: relative;

    min-height: 0;

    overflow: hidden;

    border-radius: 22px;
}


.asteria-action-large {
    grid-row:
        1 / 3;
}


.asteria-action-card>img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s var(--ease);
}


.asteria-action-card:hover>img {
    transform:
        scale(1.035);
}


.asteria-action-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .88),
            rgba(5, 38, 67, .02) 65%);
}


.asteria-action-content {
    position: absolute;

    z-index: 2;

    left:
        clamp(22px,
            3vw,
            36px);

    right:
        clamp(22px,
            3vw,
            36px);

    bottom:
        clamp(22px,
            3vw,
            34px);
}


.asteria-action-content small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.asteria-action-content h3 {
    margin-bottom: 8px;

    color: var(--white);

    font-size:
        clamp(22px,
            2.4vw,
            32px);
}


.asteria-action-large .asteria-action-content h3 {
    font-size:
        clamp(28px,
            3vw,
            42px);
}


.asteria-action-content p {
    max-width: 430px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .62);

    font-size: 11px;
}



/* ================================================================
   OUTCOMES
================================================================ */

.asteria-outcomes {
    background: var(--warm);
}


.asteria-outcomes-head {
    max-width: 720px;

    margin-bottom: 52px;
}


.asteria-outcomes-head h2 {
    margin-bottom: 15px;
}


.asteria-outcomes-head p {
    max-width: 580px;

    margin-bottom: 0;
}


.asteria-outcomes-grid {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    border-top:
        1px solid var(--border);
}


.asteria-outcome {
    min-height: 300px;

    padding:
        28px 22px 28px 0;

    display: flex;

    flex-direction: column;

    border-right:
        1px solid var(--border);
}


.asteria-outcome+.asteria-outcome {
    padding-left: 22px;
}


.asteria-outcome:last-child {
    border-right: 0;
}


.asteria-outcome>span {
    margin-bottom: auto;

    color:
        rgba(18, 63, 104, .15);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(42px,
            4vw,
            60px);

    font-weight: 800;

    line-height: .9;
}


.asteria-outcome h3 {
    margin-top: 55px;

    margin-bottom: 8px;

    font-size:
        clamp(19px,
            1.7vw,
            23px);
}


.asteria-outcome p {
    margin-bottom: 0;

    font-size: 11px;

    line-height: 1.65;
}



/* ================================================================
   CBSE + ASTERIA
================================================================ */

.asteria-cbse {
    background: var(--white);
}


.asteria-cbse-card {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    min-height: 620px;

    overflow: hidden;

    border-radius: 27px;

    background: var(--blue-deep);

    color: var(--white);
}


.asteria-cbse-copy {
    padding:
        clamp(40px,
            6vw,
            75px);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.asteria-cbse-copy .eyebrow {
    color: var(--yellow);
}


.asteria-cbse-copy h2 {
    max-width: 580px;

    color: var(--white);
}


.asteria-cbse-lead {
    max-width: 520px;

    color:
        rgba(255, 255, 255, .76);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(18px,
            1.8vw,
            23px);

    font-weight: 600;

    line-height: 1.55;
}


.asteria-cbse-copy>p:not(.asteria-cbse-lead) {
    max-width: 520px;

    color:
        rgba(255, 255, 255, .52);
}


.asteria-cbse-copy .btn {
    align-self: flex-start;

    margin-top: 10px;
}



/* ORBIT VISUAL */

.asteria-cbse-visual {
    min-height: 620px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 45px;

    background:
        radial-gradient(circle at center,
            rgba(245, 182, 24, .11),
            rgba(5, 38, 67, 0) 65%);
}


.asteria-orbit {
    position: relative;

    width:
        min(430px,
            100%);

    aspect-ratio: 1;

    border:
        1px solid rgba(255, 255, 255, .12);

    border-radius: 50%;
}


.asteria-orbit::before {
    content: "";

    position: absolute;

    inset: 17%;

    border:
        1px solid rgba(255, 255, 255, .1);

    border-radius: 50%;
}


.asteria-orbit-center {
    position: absolute;

    z-index: 3;

    top: 50%;
    left: 50%;

    width: 145px;
    height: 145px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 20px;

    transform:
        translate(-50%,
            -50%);

    border-radius: 50%;

    background: var(--white);

    box-shadow:
        0 20px 60px rgba(0, 0, 0, .18);
}


.asteria-orbit-center img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}


.asteria-orbit-item {
    position: absolute;

    width: 82px;
    height: 82px;

    display: flex;

    align-items: center;
    justify-content: center;

    border:
        1px solid rgba(255, 255, 255, .13);

    border-radius: 50%;

    background: var(--blue);

    color: var(--white);

    font-size: 10px;

    font-weight: 800;
}


.asteria-orbit-one {
    top: -20px;
    left: 50%;

    transform:
        translateX(-50%);
}


.asteria-orbit-two {
    top: 50%;
    right: -20px;

    transform:
        translateY(-50%);
}


.asteria-orbit-three {
    bottom: -20px;
    left: 50%;

    transform:
        translateX(-50%);
}


.asteria-orbit-four {
    top: 50%;
    left: -20px;

    transform:
        translateY(-50%);
}



/* ================================================================
   NEXT PAGE
================================================================ */

.asteria-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.asteria-next-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;
}


.asteria-next .eyebrow {
    color: var(--blue);
}


.asteria-next h2 {
    max-width: 750px;

    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.asteria-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.asteria-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.asteria-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



/* ================================================================
   RESPONSIVE — 1050
================================================================ */

@media (max-width: 1050px) {

    .asteria-outcomes-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

}



/* ================================================================
   RESPONSIVE — 900
================================================================ */

@media (max-width: 900px) {

    .asteria-intro-grid,
    .asteria-intelligence-head,
    .asteria-method-grid,
    .asteria-action-head,
    .asteria-cbse-card {
        grid-template-columns: 1fr;
    }


    .asteria-intelligence-head,
    .asteria-action-head {
        gap: 18px;
    }


    .asteria-intelligence-grid {
        grid-template-columns: 1fr;
    }


    .asteria-intelligence-card {
        min-height: 390px;
    }


    .asteria-method-copy {
        position: static;

        max-width: 650px;
    }


    .asteria-action-grid {
        grid-template-columns: 1fr;

        grid-template-rows: none;
    }


    .asteria-action-large {
        grid-row: auto;
    }


    .asteria-action-card {
        min-height: 470px;
    }


    .asteria-cbse-visual {
        min-height: 560px;
    }


    .asteria-beyond {
        min-height: 72svh;
    }

}



/* ================================================================
   RESPONSIVE — 600
================================================================ */

@media (max-width: 600px) {

    .asteria-intro-lead {
        font-size: 22px;
    }


    .asteria-beyond {
        min-height: 70svh;
    }


    .asteria-beyond-copy h2 {
        font-size:
            clamp(33px,
                10vw,
                45px);
    }


    .asteria-intelligence-card {
        min-height: 350px;

        border-radius: 19px;
    }


    .asteria-method-step {
        grid-template-columns:
            50px 1fr;

        gap: 18px;

        min-height: 190px;
    }


    .asteria-action-card {
        min-height: 400px;

        border-radius: 19px;
    }


    .asteria-outcomes-grid {
        grid-template-columns: 1fr;
    }


    .asteria-outcome,
    .asteria-outcome+.asteria-outcome {
        min-height: 230px;

        padding: 25px 0;

        border-right: 0;

        border-bottom:
            1px solid var(--border);
    }


    .asteria-cbse-card {
        border-radius: 20px;
    }


    .asteria-cbse-visual {
        min-height: 460px;

        padding: 55px 35px;
    }


    .asteria-orbit {
        width: 280px;
    }


    .asteria-orbit-center {
        width: 105px;
        height: 105px;
    }


    .asteria-orbit-item {
        width: 65px;
        height: 65px;

        font-size: 8px;
    }


    .asteria-orbit-one {
        top: -15px;
    }


    .asteria-orbit-two {
        right: -15px;
    }


    .asteria-orbit-three {
        bottom: -15px;
    }


    .asteria-orbit-four {
        left: -15px;
    }


    .asteria-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .asteria-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* ASTERIA END  */

/* LIFE SKILLS START  */

/* ================================================================
   ================================================================
   LIFE SKILLS PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.life-intro {
    background: var(--white);
}


.life-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.life-intro-title h2 {
    max-width: 580px;

    margin-bottom: 0;
}


.life-intro-copy {
    padding-top: 12px;
}


.life-intro-lead {
    max-width: 680px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.life-intro-copy>p:not(.life-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   CORE SKILLS
================================================================ */

.life-core {
    background: var(--warm);
}


.life-core-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.life-core-head h2 {
    max-width: 680px;

    margin-bottom: 0;
}


.life-core-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.life-core-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 12px;
}


.life-core-card {
    min-height: 320px;

    padding: 27px;

    display: flex;

    flex-direction: column;

    border: 1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.life-core-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.life-core-card>span {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .05em;
}


.life-core-code {
    width: 58px;
    height: 58px;

    margin-top: auto;
    margin-bottom: 24px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-size: 13px;

    font-weight: 800;
}


.life-core-card h3 {
    margin-bottom: 8px;

    font-size:
        clamp(20px,
            1.8vw,
            25px);
}


.life-core-card p {
    margin-bottom: 0;

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   REAL EXPERIENCE
================================================================ */

.life-real {
    position: relative;

    min-height: 82svh;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    color: var(--white);
}


.life-real-image {
    position: absolute;

    inset: 0;
}


.life-real-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 1s var(--ease);
}


.life-real:hover .life-real-image img {
    transform: scale(1.025);
}


.life-real-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .08) 0%,
            rgba(5, 38, 67, .22) 36%,
            rgba(5, 38, 67, .9) 100%);
}


.life-real-inner {
    position: relative;

    z-index: 2;

    width: 100%;

    padding-top: 100px;

    padding-bottom:
        clamp(65px,
            8vw,
            110px);
}


.life-real-copy {
    max-width: 850px;
}


.life-real-copy .eyebrow {
    color: var(--yellow);
}


.life-real-copy h2 {
    max-width: 800px;

    margin-bottom: 20px;

    color: var(--white);

    font-size:
        clamp(40px,
            5vw,
            67px);
}


.life-real-copy h2 span {
    color: var(--yellow);
}


.life-real-copy p {
    max-width: 510px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .65);

    font-size:
        clamp(16px,
            1.6vw,
            20px);
}



/* ================================================================
   COMMUNICATION
================================================================ */

.life-communication {
    background: var(--white);
}


.life-communication-grid {
    display: grid;

    grid-template-columns: 1.06fr .94fr;

    gap:
        clamp(55px,
            7vw,
            100px);

    align-items: center;
}


.life-communication-image {
    position: relative;

    height:
        clamp(550px,
            55vw,
            710px);

    overflow: hidden;

    border-radius: 26px;
}


.life-communication-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s var(--ease);
}


.life-communication-image:hover img {
    transform: scale(1.025);
}


.life-communication-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .85),
            rgba(5, 38, 67, 0) 52%);
}


.life-communication-label {
    position: absolute;

    z-index: 2;

    left:
        clamp(24px,
            4vw,
            44px);

    right:
        clamp(24px,
            4vw,
            44px);

    bottom:
        clamp(24px,
            4vw,
            42px);
}


.life-communication-label small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.life-communication-label strong {
    display: block;

    max-width: 460px;

    color: var(--white);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(27px,
            3vw,
            40px);

    line-height: 1.18;

    letter-spacing: -.035em;
}


.life-communication-copy h2 {
    max-width: 590px;
}


.life-communication-lead {
    max-width: 520px;

    color: var(--text);

    font-size:
        clamp(18px,
            1.8vw,
            23px);

    font-weight: 600;

    line-height: 1.55;
}


.life-communication-copy>p {
    max-width: 530px;
}


.life-communication-list {
    margin-top: 30px;

    border-top:
        1px solid var(--border);
}


.life-communication-list>div {
    display: grid;

    grid-template-columns:
        45px 1fr;

    gap: 18px;

    padding: 16px 0;

    border-bottom:
        1px solid var(--border);
}


.life-communication-list span {
    padding-top: 3px;

    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;
}


.life-communication-list p {
    margin: 0;

    color: var(--text);

    font-size: 13px;

    font-weight: 600;
}



/* ================================================================
   INDEPENDENCE
================================================================ */

.life-independence {
    background: var(--blue-deep);

    color: var(--white);
}


.life-independence .eyebrow {
    color: var(--yellow);
}


.life-independence-head {
    display: grid;

    grid-template-columns:
        1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.life-independence-head h2 {
    max-width: 680px;

    margin-bottom: 0;

    color: var(--white);
}


.life-independence-head>p {
    max-width: 420px;

    margin-bottom: 4px;

    color:
        rgba(255, 255, 255, .57);
}


.life-independence-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}


.life-independence-card {
    min-height: 350px;

    padding: 26px;

    display: flex;

    flex-direction: column;

    border:
        1px solid rgba(255, 255, 255, .1);

    border-radius: 20px;

    background:
        rgba(255, 255, 255, .045);

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.life-independence-card:hover {
    transform: translateY(-5px);

    background:
        rgba(255, 255, 255, .075);
}


.life-independence-card>span {
    margin-bottom: auto;

    color:
        rgba(255, 255, 255, .14);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(43px,
            4vw,
            59px);

    font-weight: 800;

    line-height: .9;
}


.life-independence-card small {
    display: block;

    margin-top: 58px;

    margin-bottom: 7px;

    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.life-independence-card h3 {
    margin-bottom: 8px;

    color: var(--white);

    font-size:
        clamp(19px,
            1.7vw,
            24px);
}


.life-independence-card p {
    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .52);

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   DECISION MAKING
================================================================ */

.life-decisions {
    background: var(--white);
}


.life-decisions-grid {
    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap:
        clamp(60px,
            8vw,
            120px);

    align-items: start;
}


.life-decisions-copy {
    position: sticky;

    top: 150px;
}


.life-decisions-copy h2 {
    max-width: 540px;
}


.life-decisions-lead {
    max-width: 480px;

    color: var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(19px,
            1.9vw,
            24px);

    font-weight: 600;

    line-height: 1.5;
}


.life-decisions-copy>p:not(.life-decisions-lead) {
    max-width: 470px;
}


.life-decisions-steps {
    border-top:
        1px solid var(--border);
}


.life-decision-step {
    display: grid;

    grid-template-columns:
        80px 1fr;

    gap: 30px;

    min-height: 215px;

    padding: 34px 0;

    border-bottom:
        1px solid var(--border);
}


.life-decision-step>span {
    color:
        rgba(18, 63, 104, .14);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(38px,
            4vw,
            55px);

    font-weight: 800;

    line-height: 1;
}


.life-decision-step small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.life-decision-step h3 {
    margin-bottom: 8px;

    font-size:
        clamp(21px,
            2vw,
            28px);
}


.life-decision-step p {
    max-width: 450px;

    margin-bottom: 0;

    font-size: 12px;
}



/* ================================================================
   DAY + RESIDENTIAL ENVIRONMENTS
================================================================ */

.life-environments {
    background: var(--warm);
}


.life-environments-head {
    max-width: 720px;

    margin-bottom: 52px;
}


.life-environments-head h2 {
    margin-bottom: 15px;
}


.life-environments-head p {
    max-width: 580px;

    margin-bottom: 0;
}


.life-environments-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;
}


.life-environment-card {
    overflow: hidden;

    border:
        1px solid var(--border);

    border-radius: 24px;

    background: var(--white);
}


.life-environment-card-dark {
    background: var(--blue-deep);

    border-color:
        rgba(255, 255, 255, .08);

    color: var(--white);
}


.life-environment-image {
    height: 390px;

    overflow: hidden;
}


.life-environment-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s var(--ease);
}


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


.life-environment-content {
    padding:
        clamp(26px,
            4vw,
            42px);
}


.life-environment-content small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.life-environment-card-dark .life-environment-content small {
    color: var(--yellow);
}


.life-environment-content h3 {
    max-width: 520px;

    margin-bottom: 12px;

    font-size:
        clamp(25px,
            2.6vw,
            35px);
}


.life-environment-card-dark h3 {
    color: var(--white);
}


.life-environment-content p {
    max-width: 520px;

    margin-bottom: 24px;
}


.life-environment-card-dark p {
    color:
        rgba(255, 255, 255, .56);
}


.life-text-link {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--blue);

    font-size: 11px;

    font-weight: 800;
}


.life-environment-card-dark .life-text-link {
    color: var(--yellow);
}



/* ================================================================
   OUTCOMES
================================================================ */

.life-outcomes {
    background: var(--white);
}


.life-outcomes-head {
    max-width: 700px;

    margin-bottom: 52px;
}


.life-outcomes-head h2 {
    margin-bottom: 0;
}


.life-outcomes-grid {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    border-top:
        1px solid var(--border);
}


.life-outcome {
    min-height: 300px;

    padding:
        28px 22px 28px 0;

    display: flex;

    flex-direction: column;

    border-right:
        1px solid var(--border);
}


.life-outcome+.life-outcome {
    padding-left: 22px;
}


.life-outcome:last-child {
    border-right: 0;
}


.life-outcome>span {
    margin-bottom: auto;

    color:
        rgba(18, 63, 104, .15);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(42px,
            4vw,
            60px);

    font-weight: 800;

    line-height: .9;
}


.life-outcome h3 {
    margin-top: 55px;

    margin-bottom: 8px;

    font-size:
        clamp(19px,
            1.7vw,
            23px);
}


.life-outcome p {
    margin-bottom: 0;

    font-size: 11px;

    line-height: 1.65;
}



/* ================================================================
   ASTERIA BRIDGE
================================================================ */

.life-asteria {
    background: var(--warm);
}


.life-asteria-card {
    display: grid;

    grid-template-columns:
        1.2fr .8fr;

    min-height: 540px;

    overflow: hidden;

    border-radius: 27px;

    background: var(--blue-deep);

    color: var(--white);
}


.life-asteria-copy {
    padding:
        clamp(38px,
            6vw,
            75px);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.life-asteria-copy .eyebrow {
    color: var(--yellow);
}


.life-asteria-copy h2 {
    max-width: 670px;

    color: var(--white);
}


.life-asteria-copy h2 span {
    display: block;

    margin-top: 8px;

    color: var(--yellow);
}


.life-asteria-copy p {
    max-width: 560px;

    color:
        rgba(255, 255, 255, .57);
}


.life-asteria-copy .btn {
    align-self: flex-start;

    margin-top: 10px;
}


.life-asteria-visual {
    display: flex;

    align-items: center;

    justify-content: center;

    padding:
        clamp(30px,
            5vw,
            65px);

    background: var(--yellow);
}


.life-asteria-visual img {
    width:
        min(100%,
            370px);

    height: auto;

    object-fit: contain;
}



/* ================================================================
   NEXT PAGE
================================================================ */

.life-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.life-next-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;
}


.life-next .eyebrow {
    color: var(--blue);
}


.life-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.life-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.life-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.life-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 1050px) {

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


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


    .life-outcomes-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

}



@media (max-width: 900px) {

    .life-intro-grid,
    .life-core-head,
    .life-communication-grid,
    .life-independence-head,
    .life-decisions-grid,
    .life-environments-grid,
    .life-asteria-card {
        grid-template-columns: 1fr;
    }


    .life-core-head,
    .life-independence-head {
        gap: 18px;
    }


    .life-communication-image {
        height: 560px;
    }


    .life-decisions-copy {
        position: static;

        max-width: 650px;
    }


    .life-environment-image {
        height: 420px;
    }


    .life-asteria-visual {
        min-height: 380px;
    }


    .life-real {
        min-height: 72svh;
    }

}



@media (max-width: 600px) {

    .life-intro-lead {
        font-size: 22px;
    }


    .life-core-grid,
    .life-independence-grid,
    .life-outcomes-grid {
        grid-template-columns: 1fr;
    }


    .life-core-card {
        min-height: 270px;
    }


    .life-real {
        min-height: 70svh;
    }


    .life-real-copy h2 {
        font-size:
            clamp(34px,
                10vw,
                46px);
    }


    .life-communication-image {
        height: 430px;

        border-radius: 20px;
    }


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


    .life-decision-step {
        grid-template-columns:
            50px 1fr;

        gap: 18px;

        min-height: 190px;
    }


    .life-environment-image {
        height: 330px;
    }


    .life-outcome,
    .life-outcome+.life-outcome {
        min-height: 230px;

        padding: 25px 0;

        border-right: 0;

        border-bottom:
            1px solid var(--border);
    }


    .life-asteria-card {
        border-radius: 20px;
    }


    .life-asteria-visual {
        min-height: 300px;
    }


    .life-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .life-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* LIFE SKILLS END  */

/* ADMISSION OVERVIEW START  */

/* ================================================================
   ================================================================
   ADMISSIONS OVERVIEW PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.admissions-intro {
    background: var(--white);
}


.admissions-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.admissions-intro-title h2 {
    max-width: 570px;

    margin-bottom: 0;
}


.admissions-intro-copy {
    padding-top: 12px;
}


.admissions-intro-lead {
    max-width: 680px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.admissions-intro-copy>p:not(.admissions-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   ENTRY / GRADES
================================================================ */

.admissions-entry {
    background: var(--warm);
}


.admissions-entry-card {
    display: grid;

    grid-template-columns: 1.08fr .92fr;

    min-height: 560px;

    overflow: hidden;

    border-radius: 27px;

    background: var(--blue-deep);

    color: var(--white);
}


.admissions-entry-copy {
    padding: clamp(38px, 6vw, 75px);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.admissions-entry-copy .eyebrow {
    color: var(--yellow);
}


.admissions-entry-copy h2 {
    max-width: 650px;

    color: var(--white);
}


.admissions-entry-copy>p {
    max-width: 540px;

    color: rgba(255, 255, 255, .58);
}


.admissions-grade-strip {
    display: flex;

    flex-wrap: wrap;

    gap: 7px;

    margin: 18px 0 30px;
}


.admissions-grade-strip span {
    padding: 8px 12px;

    border: 1px solid rgba(255, 255, 255, .12);

    border-radius: 30px;

    background: rgba(255, 255, 255, .055);

    color: rgba(255, 255, 255, .78);

    font-size: 12px;

    font-weight: 700;
}


.admissions-entry-copy .btn {
    align-self: flex-start;
}


.admissions-entry-visual {
    min-height: 560px;

    overflow: hidden;
}


.admissions-entry-visual img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .8s var(--ease);
}


.admissions-entry-card:hover .admissions-entry-visual img {
    transform: scale(1.03);
}



/* ================================================================
   DAY / RESIDENTIAL CHOICE
================================================================ */

.admissions-choice {
    background: var(--white);
}


.admissions-choice-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.admissions-choice-head h2 {
    max-width: 670px;

    margin-bottom: 0;
}


.admissions-choice-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.admissions-choice-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}


.admissions-choice-card {
    overflow: hidden;

    border: 1px solid var(--border);

    border-radius: 24px;

    background: var(--warm);
}


.admissions-choice-card-dark {
    border-color: rgba(255, 255, 255, .08);

    background: var(--blue-deep);

    color: var(--white);
}


.admissions-choice-image {
    height: 400px;

    overflow: hidden;
}


.admissions-choice-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .8s var(--ease);
}


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


.admissions-choice-content {
    padding: clamp(27px, 4vw, 44px);
}


.admissions-choice-content small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.admissions-choice-card-dark .admissions-choice-content small {
    color: var(--yellow);
}


.admissions-choice-content h3 {
    max-width: 530px;

    margin-bottom: 13px;

    font-size: clamp(26px, 2.7vw, 37px);
}


.admissions-choice-card-dark h3 {
    color: var(--white);
}


.admissions-choice-content p {
    max-width: 520px;

    margin-bottom: 24px;
}


.admissions-choice-card-dark p {
    color: rgba(255, 255, 255, .56);
}


.admissions-text-link {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--blue);

    font-size: 11px;

    font-weight: 800;
}


.admissions-choice-card-dark .admissions-text-link {
    color: var(--yellow);
}



/* ================================================================
   ADMISSION JOURNEY
================================================================ */

.admissions-journey {
    background: var(--blue-deep);

    color: var(--white);
}


.admissions-journey .eyebrow {
    color: var(--yellow);
}


.admissions-journey-head {
    max-width: 720px;

    margin-bottom: 55px;
}


.admissions-journey-head h2 {
    color: var(--white);
}


.admissions-journey-head p {
    max-width: 540px;

    color: rgba(255, 255, 255, .57);
}


.admissions-journey-grid {
    display: grid;

    grid-template-columns: repeat(5, 1fr);

    border-top: 1px solid rgba(255, 255, 255, .13);
}


.admissions-journey-step {
    min-height: 330px;

    padding: 28px 22px 28px 0;

    display: flex;

    flex-direction: column;

    border-right: 1px solid rgba(255, 255, 255, .13);
}


.admissions-journey-step+.admissions-journey-step {
    padding-left: 22px;
}


.admissions-journey-step:last-child {
    border-right: 0;
}


.admissions-journey-step>span {
    margin-bottom: auto;

    color: rgba(255, 255, 255, .12);

    font-family: "Manrope", sans-serif;

    font-size: clamp(43px, 4vw, 60px);

    font-weight: 800;

    line-height: .9;
}


.admissions-journey-step small {
    display: block;

    margin-top: 55px;
    margin-bottom: 7px;

    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.admissions-journey-step h3 {
    margin-bottom: 8px;

    color: var(--white);

    font-size: clamp(19px, 1.7vw, 23px);
}


.admissions-journey-step p {
    margin-bottom: 0;

    color: rgba(255, 255, 255, .5);

    font-size: 11px;

    line-height: 1.65;
}


.admissions-journey-action {
    margin-top: 42px;
}



/* ================================================================
   WHY SIGMA
================================================================ */

.admissions-why {
    background: var(--white);
}


.admissions-why-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(60px, 8vw, 120px);

    align-items: start;
}


.admissions-why-copy {
    position: sticky;

    top: 150px;
}


.admissions-why-copy h2 {
    max-width: 550px;
}


.admissions-why-copy p {
    max-width: 500px;
}


.admissions-why-list {
    border-top: 1px solid var(--border);
}


.admissions-why-item {
    display: grid;

    grid-template-columns: 75px 1fr;

    gap: 30px;

    min-height: 205px;

    padding: 32px 0;

    border-bottom: 1px solid var(--border);
}


.admissions-why-item>span {
    color: rgba(18, 63, 104, .14);

    font-family: "Manrope", sans-serif;

    font-size: clamp(38px, 4vw, 52px);

    font-weight: 800;

    line-height: 1;
}


.admissions-why-item small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.admissions-why-item h3 {
    margin-bottom: 8px;

    font-size: clamp(22px, 2vw, 28px);
}


.admissions-why-item p {
    max-width: 500px;

    margin-bottom: 0;

    font-size: 12px;
}



/* ================================================================
   RESOURCES
================================================================ */

.admissions-resources {
    background: var(--warm);
}


.admissions-resources-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.admissions-resources-head h2 {
    max-width: 660px;

    margin-bottom: 0;
}


.admissions-resources-head>p {
    max-width: 400px;

    margin-bottom: 4px;
}


.admissions-resources-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 12px;
}


.admissions-resource-card {
    min-height: 240px;

    padding: clamp(25px, 3vw, 36px);

    display: grid;

    grid-template-columns: 50px 1fr 45px;

    gap: 22px;

    align-items: start;

    border: 1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    color: inherit;

    transition:
        transform .35s var(--ease),
        box-shadow .35s var(--ease);
}


.admissions-resource-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.admissions-resource-card>span {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;
}


.admissions-resource-card small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.admissions-resource-card h3 {
    margin-bottom: 8px;

    font-size: clamp(21px, 2vw, 27px);
}


.admissions-resource-card p {
    max-width: 380px;

    margin-bottom: 0;

    font-size: 12px;
}


.admissions-resource-card i {
    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-size: 18px;

    font-style: normal;

    transition: transform .3s ease;
}


.admissions-resource-card:hover i {
    transform: translateX(4px);
}



/* ================================================================
   CAMPUS VISIT
================================================================ */

.admissions-visit {
    background: var(--white);
}


.admissions-visit-card {
    position: relative;

    min-height: 75svh;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    border-radius: 27px;
}


.admissions-visit-image {
    position: absolute;

    inset: 0;
}


.admissions-visit-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 1s var(--ease);
}


.admissions-visit-card:hover .admissions-visit-image img {
    transform: scale(1.025);
}


.admissions-visit-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .08) 0%,
            rgba(5, 38, 67, .25) 35%,
            rgba(5, 38, 67, .91) 100%);
}


.admissions-visit-copy {
    position: relative;

    z-index: 2;

    max-width: 780px;

    padding: clamp(35px, 6vw, 72px);
}


.admissions-visit-copy .eyebrow {
    color: var(--yellow);
}


.admissions-visit-copy h2 {
    max-width: 730px;

    color: var(--white);

    font-size: clamp(36px, 4.5vw, 61px);
}


.admissions-visit-copy p {
    max-width: 520px;

    color: rgba(255, 255, 255, .62);
}


.admissions-visit-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 28px;
}



/* ================================================================
   QUESTIONS
================================================================ */

.admissions-questions {
    background: var(--warm);
}


.admissions-questions-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(60px, 8vw, 120px);

    align-items: start;
}


.admissions-questions-heading {
    position: sticky;

    top: 150px;
}


.admissions-questions-heading h2 {
    max-width: 540px;
}


.admissions-questions-heading p {
    max-width: 470px;
}


.admissions-question-list {
    border-top: 1px solid var(--border);
}


.admissions-question {
    display: grid;

    grid-template-columns: 70px 1fr;

    gap: 28px;

    min-height: 180px;

    padding: 30px 0;

    border-bottom: 1px solid var(--border);
}


.admissions-question>span {
    color: rgba(18, 63, 104, .15);

    font-family: "Manrope", sans-serif;

    font-size: clamp(35px, 3.5vw, 49px);

    font-weight: 800;

    line-height: 1;
}


.admissions-question h3 {
    margin-bottom: 8px;

    font-size: clamp(20px, 1.9vw, 26px);
}


.admissions-question p {
    max-width: 520px;

    margin-bottom: 0;

    font-size: 12px;
}



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

.admissions-apply {
    background: var(--white);
}


.admissions-apply-card {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 50px;

    padding: clamp(40px, 6vw, 75px);

    border-radius: 27px;

    background: var(--blue-deep);

    color: var(--white);
}


.admissions-apply-copy {
    max-width: 720px;
}


.admissions-apply-copy .eyebrow {
    color: var(--yellow);
}


.admissions-apply-copy h2 {
    max-width: 680px;

    color: var(--white);
}


.admissions-apply-copy h2 span {
    color: var(--yellow);
}


.admissions-apply-copy p {
    max-width: 500px;

    margin-bottom: 0;

    color: rgba(255, 255, 255, .58);
}


.admissions-apply-actions {
    display: flex;

    flex-direction: column;

    gap: 10px;

    flex: 0 0 auto;
}



/* ================================================================
   NEXT
================================================================ */

.admissions-next {
    padding: clamp(60px, 6vw, 82px) 0;

    background: var(--yellow);
}


.admissions-next-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;
}


.admissions-next .eyebrow {
    color: var(--blue);
}


.admissions-next h2 {
    max-width: 760px;

    margin-bottom: 0;

    color: var(--blue-deep);

    font-size: clamp(34px, 4.2vw, 55px);
}


.admissions-next h2 span {
    color: rgba(5, 38, 67, .42);
}


.admissions-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.admissions-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 1050px) {

    .admissions-journey-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}



@media (max-width: 900px) {

    .admissions-intro-grid,
    .admissions-entry-card,
    .admissions-choice-head,
    .admissions-choice-grid,
    .admissions-why-grid,
    .admissions-resources-head,
    .admissions-questions-grid {
        grid-template-columns: 1fr;
    }


    .admissions-choice-head,
    .admissions-resources-head {
        gap: 18px;
    }


    .admissions-entry-visual {
        min-height: 450px;
    }


    .admissions-choice-image {
        height: 420px;
    }


    .admissions-why-copy,
    .admissions-questions-heading {
        position: static;
    }


    .admissions-resources-grid {
        grid-template-columns: 1fr;
    }


    .admissions-apply-card {
        align-items: flex-start;

        flex-direction: column;
    }


    .admissions-apply-actions {
        flex-direction: row;

        flex-wrap: wrap;
    }

}



@media (max-width: 600px) {

    .admissions-intro-lead {
        font-size: 22px;
    }


    .admissions-entry-card {
        border-radius: 20px;
    }


    .admissions-entry-visual {
        min-height: 340px;
    }


    .admissions-choice-card {
        border-radius: 20px;
    }


    .admissions-choice-image {
        height: 320px;
    }


    .admissions-journey-grid {
        grid-template-columns: 1fr;
    }


    .admissions-journey-step,
    .admissions-journey-step+.admissions-journey-step {
        min-height: 240px;

        padding: 25px 0;

        border-right: 0;

        border-bottom:
            1px solid rgba(255, 255, 255, .13);
    }


    .admissions-why-item {
        grid-template-columns: 52px 1fr;

        gap: 18px;
    }


    .admissions-resource-card {
        grid-template-columns: 38px 1fr;

        min-height: 220px;
    }


    .admissions-resource-card i {
        grid-column: 2;

        margin-top: 8px;
    }


    .admissions-visit-card {
        min-height: 650px;

        border-radius: 20px;
    }


    .admissions-visit-actions {
        align-items: flex-start;

        flex-direction: column;
    }


    .admissions-question {
        grid-template-columns: 48px 1fr;

        gap: 16px;
    }


    .admissions-apply-card {
        padding: 35px 25px;

        border-radius: 20px;
    }


    .admissions-apply-actions {
        align-items: flex-start;

        flex-direction: column;
    }


    .admissions-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .admissions-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* ADMISSION OVERVIEW END  */


/* ADMISSION PROCESS START  */

/* ================================================================
   ================================================================
   ADMISSION PROCESS PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.process-intro {
    background: var(--white);
}


.process-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.process-intro-title h2 {
    max-width: 560px;

    margin-bottom: 0;
}


.process-intro-copy {
    padding-top: 12px;
}


.process-intro-lead {
    max-width: 680px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.process-intro-copy>p:not(.process-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   PROCESS STEPS
================================================================ */

.process-steps {
    background: var(--warm);
}


.process-steps-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.process-steps-head h2 {
    max-width: 650px;

    margin-bottom: 0;
}


.process-steps-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.process-steps-list {
    border-top: 1px solid var(--border);
}


.process-step {
    display: grid;

    grid-template-columns: 110px 220px 1fr;

    gap: clamp(25px, 4vw, 55px);

    min-height: 270px;

    padding: 42px 0;

    align-items: start;

    border-bottom: 1px solid var(--border);
}


.process-step-number {
    color: rgba(18, 63, 104, .13);

    font-family: "Manrope", sans-serif;

    font-size: clamp(48px, 5vw, 72px);

    font-weight: 800;

    line-height: .9;
}


.process-step-label small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.process-step-label strong {
    display: block;

    max-width: 180px;

    color: var(--blue);

    font-family: "Manrope", sans-serif;

    font-size: 18px;

    line-height: 1.35;
}


.process-step-content h3 {
    max-width: 620px;

    margin-bottom: 10px;

    font-size: clamp(24px, 2.5vw, 35px);
}


.process-step-content p {
    max-width: 600px;

    margin-bottom: 22px;
}


.process-step-links {
    display: flex;

    flex-wrap: wrap;

    gap: 18px;
}


.process-step-links a,
.process-inline-action {
    display: inline-flex;

    align-items: center;

    padding: 0;

    border: 0;

    background: transparent;

    color: var(--blue);

    font-family: inherit;

    font-size: 13px;

    font-weight: 800;

    cursor: pointer;
}



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

.process-documents {
    background: var(--blue-deep);

    color: var(--white);
}


.process-documents-card {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: clamp(55px, 8vw, 110px);
}


.process-documents-copy .eyebrow {
    color: var(--yellow);
}


.process-documents-copy h2 {
    max-width: 570px;

    color: var(--white);
}


.process-documents-copy p {
    max-width: 510px;

    color: rgba(255, 255, 255, .57);
}


.process-documents-copy .btn {
    margin-top: 10px;
}


.process-documents-list {
    border-top: 1px solid rgba(255, 255, 255, .13);
}


.process-document-item {
    display: grid;

    grid-template-columns: 70px 1fr;

    gap: 25px;

    min-height: 145px;

    padding: 27px 0;

    border-bottom: 1px solid rgba(255, 255, 255, .13);
}


.process-document-item>span {
    color: rgba(255, 255, 255, .14);

    font-family: "Manrope", sans-serif;

    font-size: 36px;

    font-weight: 800;
}


.process-document-item strong {
    display: block;

    margin-bottom: 7px;

    color: var(--white);

    font-size: 16px;
}


.process-document-item p {
    max-width: 420px;

    margin-bottom: 0;

    color: rgba(255, 255, 255, .5);

    font-size: 12px;
}



/* ================================================================
   CAMPUS VISIT
================================================================ */

.process-visit {
    background: var(--white);
}


.process-visit-grid {
    display: grid;

    grid-template-columns: 1.06fr .94fr;

    gap: clamp(55px, 7vw, 100px);

    align-items: center;
}


.process-visit-image {
    position: relative;

    height: clamp(550px, 55vw, 710px);

    overflow: hidden;

    border-radius: 26px;
}


.process-visit-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .9s var(--ease);
}


.process-visit-image:hover img {
    transform: scale(1.025);
}


.process-visit-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .84),
            rgba(5, 38, 67, 0) 53%);
}


.process-visit-label {
    position: absolute;

    z-index: 2;

    left: clamp(24px, 4vw, 44px);
    right: clamp(24px, 4vw, 44px);
    bottom: clamp(24px, 4vw, 42px);
}


.process-visit-label small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.process-visit-label strong {
    display: block;

    max-width: 480px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: clamp(27px, 3vw, 40px);

    line-height: 1.18;

    letter-spacing: -.035em;
}


.process-visit-copy h2 {
    max-width: 590px;
}


.process-visit-lead {
    max-width: 520px;

    color: var(--text);

    font-size: clamp(18px, 1.8vw, 23px);

    font-weight: 600;

    line-height: 1.55;
}


.process-visit-copy>p {
    max-width: 530px;
}


.process-visit-points {
    margin: 30px 0;

    border-top: 1px solid var(--border);
}


.process-visit-points>div {
    display: grid;

    grid-template-columns: 45px 1fr;

    gap: 18px;

    padding: 16px 0;

    border-bottom: 1px solid var(--border);
}


.process-visit-points span {
    padding-top: 3px;

    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;
}


.process-visit-points p {
    margin: 0;

    color: var(--text);

    font-size: 13px;

    font-weight: 600;
}



/* ================================================================
   DAY / RESIDENTIAL CHOICE
================================================================ */

.process-choice {
    background: var(--warm);
}


.process-choice-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.process-choice-head h2 {
    max-width: 660px;

    margin-bottom: 0;
}


.process-choice-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.process-choice-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}


.process-choice-card {
    overflow: hidden;

    border: 1px solid var(--border);

    border-radius: 24px;

    background: var(--white);

    color: inherit;
}


.process-choice-dark {
    border-color: rgba(255, 255, 255, .08);

    background: var(--blue-deep);

    color: var(--white);
}


.process-choice-image {
    height: 390px;

    overflow: hidden;
}


.process-choice-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .8s var(--ease);
}


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


.process-choice-content {
    padding: clamp(27px, 4vw, 43px);
}


.process-choice-content small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.process-choice-dark small {
    color: var(--yellow);
}


.process-choice-content h3 {
    max-width: 520px;

    margin-bottom: 12px;

    font-size: clamp(26px, 2.7vw, 36px);
}


.process-choice-dark h3 {
    color: var(--white);
}


.process-choice-content p {
    max-width: 510px;

    margin-bottom: 23px;
}


.process-choice-dark p {
    color: rgba(255, 255, 255, .55);
}


.process-choice-content>span {
    color: var(--blue);

    font-size: 11px;

    font-weight: 800;
}


.process-choice-dark .process-choice-content>span {
    color: var(--yellow);
}



/* ================================================================
   BEFORE APPLYING
================================================================ */

.process-before {
    background: var(--white);
}


.process-before-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(60px, 8vw, 120px);

    align-items: start;
}


.process-before-title {
    position: sticky;

    top: 150px;
}


.process-before-title h2 {
    max-width: 550px;
}


.process-before-list {
    border-top: 1px solid var(--border);
}


.process-before-item {
    display: grid;

    grid-template-columns: 70px 1fr;

    gap: 28px;

    min-height: 190px;

    padding: 30px 0;

    border-bottom: 1px solid var(--border);
}


.process-before-item>span {
    color: rgba(18, 63, 104, .14);

    font-family: "Manrope", sans-serif;

    font-size: clamp(36px, 3.5vw, 50px);

    font-weight: 800;

    line-height: 1;
}


.process-before-item h3 {
    margin-bottom: 8px;

    font-size: clamp(20px, 1.9vw, 27px);
}


.process-before-item p {
    max-width: 510px;

    margin-bottom: 0;

    font-size: 12px;
}



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

.process-apply {
    background: var(--warm);
}


.process-apply-card {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 50px;

    padding: clamp(40px, 6vw, 75px);

    border-radius: 27px;

    background: var(--blue-deep);

    color: var(--white);
}


.process-apply-copy {
    max-width: 690px;
}


.process-apply-copy .eyebrow {
    color: var(--yellow);
}


.process-apply-copy h2 {
    max-width: 650px;

    color: var(--white);
}


.process-apply-copy h2 span {
    color: var(--yellow);
}


.process-apply-copy p {
    max-width: 500px;

    margin-bottom: 0;

    color: rgba(255, 255, 255, .58);
}


.process-apply-actions {
    display: flex;

    flex-direction: column;

    gap: 10px;

    flex: 0 0 auto;
}



/* ================================================================
   NEXT
================================================================ */

.process-next {
    padding: clamp(60px, 6vw, 82px) 0;

    background: var(--yellow);
}


.process-next-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;
}


.process-next .eyebrow {
    color: var(--blue);
}


.process-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size: clamp(34px, 4.2vw, 55px);
}


.process-next h2 span {
    color: rgba(5, 38, 67, .42);
}


.process-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s var(--ease),
        background .35s ease;
}


.process-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 900px) {

    .process-intro-grid,
    .process-steps-head,
    .process-documents-card,
    .process-visit-grid,
    .process-choice-head,
    .process-choice-grid,
    .process-before-grid {
        grid-template-columns: 1fr;
    }


    .process-steps-head,
    .process-choice-head {
        gap: 18px;
    }


    .process-step {
        grid-template-columns: 80px 1fr;

        gap: 25px;
    }


    .process-step-label {
        grid-column: 2;
    }


    .process-step-content {
        grid-column: 2;
    }


    .process-visit-image {
        height: 560px;
    }


    .process-before-title {
        position: static;
    }


    .process-apply-card {
        align-items: flex-start;

        flex-direction: column;
    }


    .process-apply-actions {
        flex-direction: row;

        flex-wrap: wrap;
    }

}



@media (max-width: 600px) {

    .process-intro-lead {
        font-size: 22px;
    }


    .process-step {
        grid-template-columns: 48px 1fr;

        min-height: auto;

        padding: 32px 0;
    }


    .process-step-number {
        font-size: 40px;
    }


    .process-step-label,
    .process-step-content {
        grid-column: 2;
    }


    .process-document-item {
        grid-template-columns: 48px 1fr;

        gap: 17px;
    }


    .process-visit-image {
        height: 430px;

        border-radius: 20px;
    }


    .process-choice-card {
        border-radius: 20px;
    }


    .process-choice-image {
        height: 320px;
    }


    .process-before-item {
        grid-template-columns: 48px 1fr;

        gap: 17px;
    }


    .process-apply-card {
        padding: 35px 25px;

        border-radius: 20px;
    }


    .process-apply-actions {
        align-items: flex-start;

        flex-direction: column;
    }


    .process-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .process-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* ADMISSION PROCESS END  */

/* SCHOLARSHIPS START  */

/* ================================================================
   ================================================================
   SCHOLARSHIPS PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.scholarship-intro {
    background: var(--white);
}


.scholarship-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.scholarship-intro-title h2 {
    max-width: 570px;

    margin-bottom: 0;
}


.scholarship-intro-copy {
    padding-top: 12px;
}


.scholarship-intro-lead {
    max-width: 680px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.scholarship-intro-copy>p:not(.scholarship-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   PURPOSE
================================================================ */

.scholarship-purpose {
    background: var(--warm);
}


.scholarship-purpose-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.scholarship-purpose-head h2 {
    max-width: 680px;

    margin-bottom: 0;
}


.scholarship-purpose-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.scholarship-purpose-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 12px;
}


.scholarship-purpose-card {
    min-height: 390px;

    padding: 28px;

    display: flex;

    flex-direction: column;

    border: 1px solid var(--border);

    border-radius: 21px;

    background: var(--white);

    transition:
        transform .35s cubic-bezier(.2, .7, .2, 1),
        box-shadow .35s cubic-bezier(.2, .7, .2, 1);
}


.scholarship-purpose-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.scholarship-purpose-card>span {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .05em;
}


.scholarship-purpose-mark {
    width: 62px;
    height: 62px;

    margin-top: auto;
    margin-bottom: 24px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow-soft);

    color: var(--blue);

    font-family: "Manrope", sans-serif;

    font-size: 18px;

    font-weight: 800;
}


.scholarship-purpose-card small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.scholarship-purpose-card h3 {
    margin-bottom: 9px;

    font-size: clamp(21px, 2vw, 28px);
}


.scholarship-purpose-card p {
    max-width: 330px;

    margin-bottom: 0;

    font-size: 12px;

    line-height: 1.65;
}



/* ================================================================
   STORY
================================================================ */

.scholarship-story {
    position: relative;

    min-height: 82svh;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    color: var(--white);
}


.scholarship-story-image {
    position: absolute;

    inset: 0;
}


.scholarship-story-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 1s cubic-bezier(.2, .7, .2, 1);
}


.scholarship-story:hover .scholarship-story-image img {
    transform: scale(1.025);
}


.scholarship-story-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .08) 0%,
            rgba(5, 38, 67, .22) 35%,
            rgba(5, 38, 67, .9) 100%);
}


.scholarship-story-inner {
    position: relative;

    z-index: 2;

    width: 100%;

    padding-top: 100px;

    padding-bottom:
        clamp(65px,
            8vw,
            110px);
}


.scholarship-story-copy {
    max-width: 850px;
}


.scholarship-story-copy .eyebrow {
    color: var(--yellow);
}


.scholarship-story-copy h2 {
    max-width: 800px;

    margin-bottom: 20px;

    color: var(--white);

    font-size:
        clamp(40px,
            5vw,
            67px);
}


.scholarship-story-copy h2 span {
    color: var(--yellow);
}


.scholarship-story-copy p {
    max-width: 510px;

    margin-bottom: 0;

    color: rgba(255, 255, 255, .65);

    font-size:
        clamp(16px,
            1.6vw,
            20px);
}



/* ================================================================
   AREAS / STUDENT INFORMATION
================================================================ */

.scholarship-areas {
    background: var(--white);
}


.scholarship-areas-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(60px, 8vw, 120px);

    align-items: start;
}


.scholarship-areas-copy {
    position: sticky;

    top: 150px;
}


.scholarship-areas-copy h2 {
    max-width: 550px;
}


.scholarship-areas-lead {
    max-width: 500px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(19px,
            1.9vw,
            24px);

    font-weight: 600;

    line-height: 1.5;
}


.scholarship-areas-copy>p:not(.scholarship-areas-lead) {
    max-width: 500px;
}


.scholarship-areas-list {
    border-top: 1px solid var(--border);
}


.scholarship-area-item {
    display: grid;

    grid-template-columns: 75px 1fr;

    gap: 30px;

    min-height: 205px;

    padding: 32px 0;

    border-bottom: 1px solid var(--border);
}


.scholarship-area-item>span {
    color: rgba(18, 63, 104, .14);

    font-family: "Manrope", sans-serif;

    font-size: clamp(38px, 4vw, 52px);

    font-weight: 800;

    line-height: 1;
}


.scholarship-area-item small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.scholarship-area-item h3 {
    margin-bottom: 8px;

    font-size: clamp(22px, 2vw, 28px);
}


.scholarship-area-item p {
    max-width: 520px;

    margin-bottom: 0;

    font-size: 12px;
}



/* ================================================================
   PROCESS
================================================================ */

.scholarship-process {
    background: var(--blue-deep);

    color: var(--white);
}


.scholarship-process .eyebrow {
    color: var(--yellow);
}


.scholarship-process-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.scholarship-process-head h2 {
    max-width: 650px;

    margin-bottom: 0;

    color: var(--white);
}


.scholarship-process-head>p {
    max-width: 420px;

    margin-bottom: 4px;

    color: rgba(255, 255, 255, .57);
}


.scholarship-process-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top:
        1px solid rgba(255, 255, 255, .13);
}


.scholarship-process-step {
    min-height: 340px;

    padding: 28px 22px 28px 0;

    display: flex;

    flex-direction: column;

    border-right:
        1px solid rgba(255, 255, 255, .13);
}


.scholarship-process-step+.scholarship-process-step {
    padding-left: 22px;
}


.scholarship-process-step:last-child {
    border-right: 0;
}


.scholarship-process-step>span {
    margin-bottom: auto;

    color:
        rgba(255, 255, 255, .12);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(43px,
            4vw,
            60px);

    font-weight: 800;

    line-height: .9;
}


.scholarship-process-step small {
    display: block;

    margin-top: 55px;

    margin-bottom: 7px;

    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.scholarship-process-step h3 {
    margin-bottom: 8px;

    color: var(--white);

    font-size:
        clamp(19px,
            1.7vw,
            23px);
}


.scholarship-process-step p {
    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .5);

    font-size: 11px;

    line-height: 1.65;
}


.scholarship-process-action {
    margin-top: 42px;
}



/* ================================================================
   READY
================================================================ */

.scholarship-ready {
    background: var(--warm);
}


.scholarship-ready-card {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: clamp(55px, 8vw, 110px);

    padding:
        clamp(38px,
            6vw,
            75px);

    border-radius: 27px;

    background: var(--white);

    border: 1px solid var(--border);
}


.scholarship-ready-copy h2 {
    max-width: 570px;
}


.scholarship-ready-copy p {
    max-width: 510px;
}


.scholarship-ready-list {
    border-top: 1px solid var(--border);
}


.scholarship-ready-item {
    display: grid;

    grid-template-columns: 60px 1fr;

    gap: 22px;

    min-height: 135px;

    padding: 25px 0;

    border-bottom: 1px solid var(--border);
}


.scholarship-ready-item>span {
    color:
        rgba(18, 63, 104, .14);

    font-family: "Manrope", sans-serif;

    font-size: 32px;

    font-weight: 800;
}


.scholarship-ready-item strong {
    display: block;

    margin-bottom: 6px;

    color: var(--blue);

    font-size: 15px;
}


.scholarship-ready-item p {
    max-width: 420px;

    margin-bottom: 0;

    font-size: 12px;
}



/* ================================================================
   IMPORTANT NOTE
================================================================ */

.scholarship-note {
    background: var(--white);
}


.scholarship-note-grid {
    display: grid;

    grid-template-columns: .45fr 1.55fr;

    gap: clamp(45px, 7vw, 100px);

    align-items: center;
}


.scholarship-note-symbol {
    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 380px;

    border-radius: 24px;

    background: var(--yellow);

    color: var(--blue-deep);

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(150px, 18vw, 250px);

    line-height: .8;
}


.scholarship-note-copy {
    max-width: 680px;
}


.scholarship-note-copy h2 {
    max-width: 620px;
}


.scholarship-note-lead {
    max-width: 610px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(20px,
            2vw,
            26px);

    font-weight: 600;

    line-height: 1.5;
}


.scholarship-note-copy>p:not(.scholarship-note-lead) {
    max-width: 580px;
}


.scholarship-note-copy .btn {
    margin-top: 12px;
}



/* ================================================================
   SCHOLARSHIP + ADMISSION
================================================================ */

.scholarship-admission {
    background: var(--warm);
}


.scholarship-admission-grid {
    display: grid;

    grid-template-columns: 1.06fr .94fr;

    gap: clamp(55px, 7vw, 100px);

    align-items: center;
}


.scholarship-admission-image {
    position: relative;

    height:
        clamp(540px,
            54vw,
            700px);

    overflow: hidden;

    border-radius: 26px;
}


.scholarship-admission-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s cubic-bezier(.2, .7, .2, 1);
}


.scholarship-admission-image:hover img {
    transform: scale(1.025);
}


.scholarship-admission-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .85),
            rgba(5, 38, 67, 0) 54%);
}


.scholarship-admission-label {
    position: absolute;

    z-index: 2;

    left:
        clamp(24px,
            4vw,
            44px);

    right:
        clamp(24px,
            4vw,
            44px);

    bottom:
        clamp(24px,
            4vw,
            42px);
}


.scholarship-admission-label small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.scholarship-admission-label strong {
    display: block;

    max-width: 490px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(26px,
            2.8vw,
            39px);

    line-height: 1.18;

    letter-spacing: -.035em;
}


.scholarship-admission-copy h2 {
    max-width: 590px;
}


.scholarship-admission-lead {
    max-width: 520px;

    color: var(--text);

    font-size:
        clamp(18px,
            1.8vw,
            23px);

    font-weight: 600;

    line-height: 1.55;
}


.scholarship-admission-copy>p {
    max-width: 530px;
}


.scholarship-admission-links {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 28px;
}



/* ================================================================
   NEXT
================================================================ */

.scholarship-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.scholarship-next-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;
}


.scholarship-next .eyebrow {
    color: var(--blue);
}


.scholarship-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.scholarship-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.scholarship-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s cubic-bezier(.2, .7, .2, 1),
        background .35s ease;
}


.scholarship-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 1000px) {

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

}



@media (max-width: 900px) {

    .scholarship-intro-grid,
    .scholarship-purpose-head,
    .scholarship-areas-grid,
    .scholarship-process-head,
    .scholarship-ready-card,
    .scholarship-note-grid,
    .scholarship-admission-grid {
        grid-template-columns: 1fr;
    }


    .scholarship-purpose-head,
    .scholarship-process-head {
        gap: 18px;
    }


    .scholarship-areas-copy {
        position: static;
    }


    .scholarship-note-symbol {
        min-height: 250px;
    }


    .scholarship-admission-image {
        height: 560px;
    }


    .scholarship-story {
        min-height: 72svh;
    }

}



@media (max-width: 700px) {

    .scholarship-purpose-grid {
        grid-template-columns: 1fr;
    }

}



@media (max-width: 600px) {

    .scholarship-intro-lead {
        font-size: 22px;
    }


    .scholarship-purpose-card {
        min-height: 310px;

        border-radius: 19px;
    }


    .scholarship-story {
        min-height: 70svh;
    }


    .scholarship-story-copy h2 {
        font-size:
            clamp(34px,
                10vw,
                46px);
    }


    .scholarship-area-item {
        grid-template-columns: 50px 1fr;

        gap: 18px;
    }


    .scholarship-process-grid {
        grid-template-columns: 1fr;
    }


    .scholarship-process-step,
    .scholarship-process-step+.scholarship-process-step {
        min-height: 245px;

        padding: 25px 0;

        border-right: 0;

        border-bottom:
            1px solid rgba(255, 255, 255, .13);
    }


    .scholarship-ready-card {
        padding: 30px 24px;

        border-radius: 20px;
    }


    .scholarship-ready-item {
        grid-template-columns: 45px 1fr;

        gap: 15px;
    }


    .scholarship-note-symbol {
        min-height: 190px;

        border-radius: 20px;

        font-size: 150px;
    }


    .scholarship-admission-image {
        height: 430px;

        border-radius: 20px;
    }


    .scholarship-admission-links {
        flex-direction: column;

        align-items: flex-start;
    }


    .scholarship-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .scholarship-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* SCHOLARSHIPS END  */

/* FEE STRUCTURE START  */

/* ================================================================
   ================================================================
   FEE STRUCTURE PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.fee-intro {
    background: var(--white);
}


.fee-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: clamp(55px, 8vw, 120px);

    align-items: start;
}


.fee-intro-title h2 {
    max-width: 570px;

    margin-bottom: 0;
}


.fee-intro-copy {
    padding-top: 12px;
}


.fee-intro-lead {
    max-width: 680px;

    margin-bottom: 26px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size: clamp(23px, 2.3vw, 31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.fee-intro-copy>p:not(.fee-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   DAY / RESIDENTIAL OPTIONS
================================================================ */

.fee-options {
    background: var(--warm);
}


.fee-options-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.fee-options-head h2 {
    max-width: 680px;

    margin-bottom: 0;
}


.fee-options-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.fee-options-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}


.fee-option-card {
    min-height: 600px;

    padding: clamp(28px, 4vw, 46px);

    display: flex;

    flex-direction: column;

    border: 1px solid var(--border);

    border-radius: 25px;

    background: var(--white);

    transition:
        transform .35s cubic-bezier(.2, .7, .2, 1),
        box-shadow .35s cubic-bezier(.2, .7, .2, 1);
}


.fee-option-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 25px 60px rgba(5, 38, 67, .08);
}


.fee-option-card-dark {
    border-color: rgba(255, 255, 255, .08);

    background: var(--blue-deep);

    color: var(--white);
}


.fee-option-top {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding-bottom: 25px;

    border-bottom: 1px solid var(--border);
}


.fee-option-card-dark .fee-option-top {
    border-color:
        rgba(255, 255, 255, .12);
}


.fee-option-top>span {
    color: rgba(18, 63, 104, .16);

    font-family: "Manrope", sans-serif;

    font-size: clamp(42px, 4vw, 58px);

    font-weight: 800;

    line-height: .9;
}


.fee-option-card-dark .fee-option-top>span {
    color:
        rgba(255, 255, 255, .13);
}


.fee-option-top small {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.fee-option-card-dark .fee-option-top small {
    color: var(--yellow);
}


.fee-option-main {
    padding: 38px 0 30px;
}


.fee-option-main h3 {
    max-width: 500px;

    margin-bottom: 12px;

    font-size:
        clamp(27px,
            2.8vw,
            40px);
}


.fee-option-card-dark .fee-option-main h3 {
    color: var(--white);
}


.fee-option-main p {
    max-width: 520px;

    margin-bottom: 0;
}


.fee-option-card-dark .fee-option-main p {
    color:
        rgba(255, 255, 255, .55);
}


.fee-option-list {
    margin-top: auto;

    border-top: 1px solid var(--border);
}


.fee-option-card-dark .fee-option-list {
    border-color:
        rgba(255, 255, 255, .12);
}


.fee-option-list>div {
    display: grid;

    grid-template-columns: 45px 1fr;

    gap: 15px;

    padding: 15px 0;

    border-bottom:
        1px solid var(--border);
}


.fee-option-card-dark .fee-option-list>div {
    border-color:
        rgba(255, 255, 255, .12);
}


.fee-option-list span {
    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;
}


.fee-option-card-dark .fee-option-list span {
    color: var(--yellow);
}


.fee-option-list p {
    margin: 0;

    color: var(--text);

    font-size: 12px;

    font-weight: 600;
}


.fee-option-card-dark .fee-option-list p {
    color:
        rgba(255, 255, 255, .7);
}


.fee-text-link {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    align-self: flex-start;

    margin-top: 26px;

    color: var(--blue);

    font-size: 11px;

    font-weight: 800;
}


.fee-option-card-dark .fee-text-link {
    color: var(--yellow);
}



/* ================================================================
   FEE SUPPORT
================================================================ */

.fee-support {
    background: var(--white);
}


.fee-support-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap:
        clamp(60px,
            8vw,
            120px);

    align-items: start;
}


.fee-support-copy {
    position: sticky;

    top: 150px;
}


.fee-support-copy h2 {
    max-width: 560px;
}


.fee-support-lead {
    max-width: 500px;

    color: var(--text);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(19px,
            1.9vw,
            24px);

    font-weight: 600;

    line-height: 1.5;
}


.fee-support-copy>p:not(.fee-support-lead) {
    max-width: 500px;
}


.fee-support-list {
    border-top:
        1px solid var(--border);
}


.fee-support-item {
    display: grid;

    grid-template-columns: 75px 1fr;

    gap: 30px;

    min-height: 205px;

    padding: 32px 0;

    border-bottom:
        1px solid var(--border);
}


.fee-support-item>span {
    color:
        rgba(18, 63, 104, .14);

    font-family: "Manrope", sans-serif;

    font-size:
        clamp(38px,
            4vw,
            52px);

    font-weight: 800;

    line-height: 1;
}


.fee-support-item small {
    display: block;

    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.fee-support-item h3 {
    margin-bottom: 8px;

    font-size:
        clamp(22px,
            2vw,
            28px);
}


.fee-support-item p {
    max-width: 520px;

    margin-bottom: 0;

    font-size: 12px;
}



/* ================================================================
   IMAGE STORY
================================================================ */

.fee-story {
    position: relative;

    min-height: 82svh;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    color: var(--white);
}


.fee-story-image {
    position: absolute;

    inset: 0;
}


.fee-story-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 1s cubic-bezier(.2, .7, .2, 1);
}


.fee-story:hover .fee-story-image img {
    transform: scale(1.025);
}


.fee-story-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .05) 0%,
            rgba(5, 38, 67, .24) 35%,
            rgba(5, 38, 67, .92) 100%);
}


.fee-story-inner {
    position: relative;

    z-index: 2;

    width: 100%;

    padding-top: 100px;

    padding-bottom:
        clamp(65px,
            8vw,
            110px);
}


.fee-story-copy {
    max-width: 850px;
}


.fee-story-copy .eyebrow {
    color: var(--yellow);
}


.fee-story-copy h2 {
    max-width: 800px;

    margin-bottom: 20px;

    color: var(--white);

    font-size:
        clamp(40px,
            5vw,
            67px);
}


.fee-story-copy h2 span {
    display: block;

    margin-top: 7px;

    color: var(--yellow);
}


.fee-story-copy p {
    max-width: 520px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .65);

    font-size:
        clamp(16px,
            1.6vw,
            20px);
}



/* ================================================================
   POSSIBLE ADDITIONAL COSTS
================================================================ */

.fee-additional {
    background: var(--warm);
}


.fee-additional-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.fee-additional-head h2 {
    max-width: 700px;

    margin-bottom: 0;
}


.fee-additional-head>p {
    max-width: 430px;

    margin-bottom: 4px;
}


.fee-additional-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}


.fee-additional-card {
    min-height: 300px;

    padding: 27px;

    display: flex;

    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s cubic-bezier(.2, .7, .2, 1),
        box-shadow .35s cubic-bezier(.2, .7, .2, 1);
}


.fee-additional-card:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.fee-additional-card>span {
    margin-bottom: auto;

    color:
        rgba(18, 63, 104, .14);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(39px,
            4vw,
            53px);

    font-weight: 800;

    line-height: .9;
}


.fee-additional-card h3 {
    margin-top: 50px;

    margin-bottom: 8px;

    font-size:
        clamp(19px,
            1.8vw,
            24px);
}


.fee-additional-card p {
    margin-bottom: 0;

    font-size: 11px;

    line-height: 1.65;
}


.fee-additional-note {
    display: grid;

    grid-template-columns: 120px 1fr;

    gap: 25px;

    margin-top: 22px;

    padding: 22px 0;

    border-top:
        1px solid var(--border);

    border-bottom:
        1px solid var(--border);
}


.fee-additional-note span {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.fee-additional-note p {
    max-width: 760px;

    margin: 0;

    font-size: 11px;
}



/* ================================================================
   REQUEST CURRENT FEE
================================================================ */

.fee-request {
    background: var(--blue-deep);

    color: var(--white);
}


.fee-request-card {
    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    gap:
        clamp(60px,
            8vw,
            110px);

    align-items: center;
}


.fee-request-copy .eyebrow {
    color: var(--yellow);
}


.fee-request-copy h2 {
    max-width: 650px;

    color: var(--white);
}


.fee-request-copy h2 span {
    color: var(--yellow);
}


.fee-request-copy p {
    max-width: 540px;

    color:
        rgba(255, 255, 255, .57);
}


.fee-request-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 28px;
}


.fee-request-steps {
    border-top:
        1px solid rgba(255, 255, 255, .13);
}


.fee-request-step {
    display: grid;

    grid-template-columns:
        70px 1fr;

    gap: 22px;

    min-height: 140px;

    padding: 27px 0;

    align-items: center;

    border-bottom:
        1px solid rgba(255, 255, 255, .13);
}


.fee-request-step>span {
    color:
        rgba(255, 255, 255, .14);

    font-family:
        "Manrope",
        sans-serif;

    font-size: 36px;

    font-weight: 800;
}


.fee-request-step small {
    display: block;

    margin-bottom: 5px;

    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.fee-request-step strong {
    display: block;

    color: var(--white);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(18px,
            1.8vw,
            23px);

    line-height: 1.35;
}



/* ================================================================
   SCHOLARSHIP BRIDGE
================================================================ */

.fee-scholarship {
    background: var(--white);
}


.fee-scholarship-grid {
    display: grid;

    grid-template-columns:
        1.06fr .94fr;

    gap:
        clamp(55px,
            7vw,
            100px);

    align-items: center;
}


.fee-scholarship-image {
    position: relative;

    height:
        clamp(540px,
            54vw,
            700px);

    overflow: hidden;

    border-radius: 26px;
}


.fee-scholarship-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s cubic-bezier(.2, .7, .2, 1);
}


.fee-scholarship-image:hover img {
    transform: scale(1.025);
}


.fee-scholarship-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .86),
            rgba(5, 38, 67, 0) 54%);
}


.fee-scholarship-label {
    position: absolute;

    z-index: 2;

    left:
        clamp(24px,
            4vw,
            44px);

    right:
        clamp(24px,
            4vw,
            44px);

    bottom:
        clamp(24px,
            4vw,
            42px);
}


.fee-scholarship-label small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.fee-scholarship-label strong {
    display: block;

    max-width: 490px;

    color: var(--white);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(26px,
            2.8vw,
            39px);

    line-height: 1.18;

    letter-spacing: -.035em;
}


.fee-scholarship-copy h2 {
    max-width: 590px;
}


.fee-scholarship-lead {
    max-width: 520px;

    color: var(--text);

    font-size:
        clamp(18px,
            1.8vw,
            23px);

    font-weight: 600;

    line-height: 1.55;
}


.fee-scholarship-copy>p {
    max-width: 530px;
}



/* ================================================================
   PLANNING
================================================================ */

.fee-planning {
    background: var(--warm);
}


.fee-planning-grid {
    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap:
        clamp(60px,
            8vw,
            120px);

    align-items: start;
}


.fee-planning-copy {
    position: sticky;

    top: 150px;
}


.fee-planning-copy h2 {
    max-width: 560px;
}


.fee-planning-copy p {
    max-width: 470px;
}


.fee-planning-list {
    border-top:
        1px solid var(--border);
}


.fee-planning-item {
    display: grid;

    grid-template-columns:
        70px 1fr;

    gap: 28px;

    min-height: 190px;

    padding: 30px 0;

    border-bottom:
        1px solid var(--border);
}


.fee-planning-item>span {
    color:
        rgba(18, 63, 104, .14);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(36px,
            3.5vw,
            50px);

    font-weight: 800;

    line-height: 1;
}


.fee-planning-item h3 {
    margin-bottom: 8px;

    font-size:
        clamp(20px,
            1.9vw,
            27px);
}


.fee-planning-item p {
    max-width: 510px;

    margin-bottom: 0;

    font-size: 12px;
}



/* ================================================================
   IMPORTANT NOTE
================================================================ */

.fee-note {
    background: var(--white);
}


.fee-note-card {
    display: grid;

    grid-template-columns:
        .45fr 1.55fr;

    gap:
        clamp(45px,
            7vw,
            100px);

    align-items: center;
}


.fee-note-mark {
    min-height: 390px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 25px;

    background: var(--yellow);

    color: var(--blue-deep);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(90px,
            13vw,
            170px);

    font-weight: 700;

    line-height: 1;
}


.fee-note-copy {
    max-width: 690px;
}


.fee-note-copy h2 {
    max-width: 630px;
}


.fee-note-lead {
    max-width: 620px;

    color: var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(20px,
            2vw,
            26px);

    font-weight: 600;

    line-height: 1.5;
}


.fee-note-copy>p:not(.fee-note-lead) {
    max-width: 580px;
}


.fee-note-copy .btn {
    margin-top: 12px;
}



/* ================================================================
   NEXT
================================================================ */

.fee-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.fee-next-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;
}


.fee-next .eyebrow {
    color: var(--blue);
}


.fee-next h2 {
    max-width: 800px;

    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.fee-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.fee-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s cubic-bezier(.2, .7, .2, 1),
        background .35s ease;
}


.fee-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



/* ================================================================
   RESPONSIVE — 1050
================================================================ */

@media (max-width: 1050px) {

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

}



/* ================================================================
   RESPONSIVE — 900
================================================================ */

@media (max-width: 900px) {

    .fee-intro-grid,
    .fee-options-head,
    .fee-options-grid,
    .fee-support-grid,
    .fee-additional-head,
    .fee-request-card,
    .fee-scholarship-grid,
    .fee-planning-grid,
    .fee-note-card {
        grid-template-columns: 1fr;
    }


    .fee-options-head,
    .fee-additional-head {
        gap: 18px;
    }


    .fee-support-copy,
    .fee-planning-copy {
        position: static;
    }


    .fee-option-card {
        min-height: 540px;
    }


    .fee-story {
        min-height: 72svh;
    }


    .fee-scholarship-image {
        height: 560px;
    }


    .fee-note-mark {
        min-height: 250px;
    }

}



/* ================================================================
   RESPONSIVE — 600
================================================================ */

@media (max-width: 600px) {

    .fee-intro-lead {
        font-size: 22px;
    }


    .fee-option-card {
        min-height: 500px;

        border-radius: 20px;
    }


    .fee-option-top {
        align-items: flex-start;
    }


    .fee-support-item {
        grid-template-columns:
            50px 1fr;

        gap: 18px;
    }


    .fee-story {
        min-height: 70svh;
    }


    .fee-story-copy h2 {
        font-size:
            clamp(34px,
                10vw,
                46px);
    }


    .fee-additional-grid {
        grid-template-columns: 1fr;
    }


    .fee-additional-card {
        min-height: 250px;
    }


    .fee-additional-note {
        grid-template-columns: 1fr;

        gap: 10px;
    }


    .fee-request-actions {
        flex-direction: column;

        align-items: flex-start;
    }


    .fee-request-step {
        grid-template-columns:
            48px 1fr;

        gap: 16px;
    }


    .fee-scholarship-image {
        height: 430px;

        border-radius: 20px;
    }


    .fee-planning-item {
        grid-template-columns:
            48px 1fr;

        gap: 17px;
    }


    .fee-note-mark {
        min-height: 190px;

        border-radius: 20px;

        font-size: 100px;
    }


    .fee-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .fee-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* FEE STRUCTURE END  */

/* DOWNLOAD START */

/* ================================================================
   ================================================================
   DOWNLOAD BROCHURE PAGE
   PAGE-SPECIFIC STYLES ONLY
   ================================================================
   ================================================================ */


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

.brochure-intro {
    background: var(--white);
}


.brochure-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap:
        clamp(55px,
            8vw,
            120px);

    align-items: start;
}


.brochure-intro-title h2 {
    max-width: 570px;

    margin-bottom: 0;
}


.brochure-intro-copy {
    padding-top: 12px;
}


.brochure-intro-lead {
    max-width: 680px;

    margin-bottom: 26px;

    color: var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(23px,
            2.3vw,
            31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.brochure-intro-copy>p:not(.brochure-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   WHAT'S INSIDE
================================================================ */

.brochure-inside {
    background: var(--warm);
}


.brochure-inside-head {
    display: grid;

    grid-template-columns: 1fr .55fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 52px;
}


.brochure-inside-head h2 {
    max-width: 680px;

    margin-bottom: 0;
}


.brochure-inside-head>p {
    max-width: 420px;

    margin-bottom: 4px;
}


.brochure-inside-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;
}


.brochure-inside-card {
    min-height: 310px;

    padding: 27px;

    display: flex;

    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 20px;

    background: var(--white);

    transition:
        transform .35s cubic-bezier(.2, .7, .2, 1),
        box-shadow .35s cubic-bezier(.2, .7, .2, 1);
}


.brochure-inside-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 50px rgba(5, 38, 67, .08);
}


.brochure-inside-card>span {
    margin-bottom: auto;

    color:
        rgba(18, 63, 104, .14);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(40px,
            4vw,
            54px);

    font-weight: 800;

    line-height: .9;
}


.brochure-inside-card small {
    display: block;

    margin-top: 48px;

    margin-bottom: 7px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.brochure-inside-card h3 {
    margin-bottom: 8px;

    font-size:
        clamp(20px,
            1.8vw,
            25px);
}


.brochure-inside-card p {
    max-width: 330px;

    margin-bottom: 0;

    font-size: 11px;

    line-height: 1.65;
}



/* ================================================================
   BROCHURE PREVIEW
================================================================ */

.brochure-preview {
    overflow: hidden;

    background: var(--blue-deep);

    color: var(--white);
}


.brochure-preview-grid {
    display: grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap:
        clamp(60px,
            8vw,
            120px);

    align-items: center;
}


.brochure-preview-copy .eyebrow {
    color: var(--yellow);
}


.brochure-preview-copy h2 {
    max-width: 570px;

    color: var(--white);
}


.brochure-preview-lead {
    max-width: 500px;

    color: var(--white);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(19px,
            1.9vw,
            24px);

    font-weight: 600;

    line-height: 1.5;
}


.brochure-preview-copy>p {
    max-width: 510px;

    color:
        rgba(255, 255, 255, .55);
}


.brochure-preview-points {
    margin-top: 30px;

    border-top:
        1px solid rgba(255, 255, 255, .13);
}


.brochure-preview-points>div {
    display: grid;

    grid-template-columns:
        45px 1fr;

    gap: 18px;

    padding: 15px 0;

    border-bottom:
        1px solid rgba(255, 255, 255, .13);
}


.brochure-preview-points span {
    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;
}


.brochure-preview-points p {
    margin: 0;

    color:
        rgba(255, 255, 255, .72);

    font-size: 12px;

    font-weight: 600;
}



/* MOCKUP */

.brochure-mockup {
    position: relative;

    min-height: 690px;

    display: flex;

    align-items: center;

    justify-content: center;

    perspective: 1600px;
}


.brochure-mockup-back {
    position: absolute;

    width: 75%;
    height: 68%;

    border-radius: 50%;

    background:
        rgba(245, 182, 24, .18);

    filter: blur(60px);
}


.brochure-mockup-page {
    position: absolute;

    width:
        min(390px,
            68%);

    aspect-ratio: .72;

    overflow: hidden;

    border-radius: 5px;

    box-shadow:
        0 35px 80px rgba(0, 0, 0, .28);
}


.brochure-mockup-page-back {
    transform:
        translateX(100px) translateY(-15px) rotate(8deg);

    background: var(--white);
}


.brochure-mockup-page-front {
    z-index: 2;

    transform:
        translateX(-65px) rotate(-5deg);

    background: var(--blue);
}


.brochure-page-image {
    height: 60%;
}


.brochure-page-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.brochure-page-copy {
    padding: 28px;

    color: var(--blue-deep);
}


.brochure-page-copy span {
    display: block;

    margin-bottom: 9px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .12em;
}


.brochure-page-copy strong {
    display: block;

    max-width: 250px;

    font-family:
        "Manrope",
        sans-serif;

    font-size: 27px;

    line-height: 1.16;

    letter-spacing: -.035em;
}


.brochure-cover-image {
    position: absolute;

    inset: 0;
}


.brochure-cover-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.brochure-cover-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .18) 0%,
            rgba(5, 38, 67, .52) 45%,
            rgba(5, 38, 67, .95) 100%);
}


.brochure-cover-content {
    position: relative;

    z-index: 2;

    width: 100%;
    height: 100%;

    padding: 28px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;
}


.brochure-cover-logo img {
    width: 125px;

    height: auto;

    filter:
        brightness(0) invert(1);
}


.brochure-cover-content small {
    display: block;

    margin-bottom: 10px;

    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .14em;
}


.brochure-cover-content h3 {
    max-width: 280px;

    margin-bottom: 15px;

    color: var(--white);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(30px,
            3vw,
            42px);

    line-height: 1.12;

    letter-spacing: -.045em;
}


.brochure-cover-content>div:last-child>span {
    color:
        rgba(255, 255, 255, .55);

    font-size: 10px;

    font-weight: 700;
}



/* ================================================================
   SNAPSHOT
================================================================ */

.brochure-snapshot {
    background: var(--white);
}


.brochure-snapshot-head {
    max-width: 720px;

    margin-bottom: 52px;
}


.brochure-snapshot-head h2 {
    margin-bottom: 0;
}


.brochure-snapshot-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    border-top:
        1px solid var(--border);
}


.brochure-snapshot-card {
    min-height: 320px;

    padding:
        28px 22px 28px 0;

    display: flex;

    flex-direction: column;

    border-right:
        1px solid var(--border);
}


.brochure-snapshot-card+.brochure-snapshot-card {
    padding-left: 22px;
}


.brochure-snapshot-card:last-child {
    border-right: 0;
}


.brochure-snapshot-card>span {
    margin-bottom: auto;

    color:
        rgba(18, 63, 104, .13);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(42px,
            4vw,
            58px);

    font-weight: 800;

    line-height: .9;
}


.brochure-snapshot-card small {
    display: block;

    margin-top: 55px;

    margin-bottom: 8px;

    color: var(--yellow-dark);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.brochure-snapshot-card strong {
    display: block;

    color: var(--blue-deep);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(21px,
            2vw,
            27px);

    line-height: 1.25;
}


.brochure-snapshot-card strong i {
    color: var(--yellow-dark);

    font-size: .55em;

    font-style: normal;

    text-transform: uppercase;
}


.brochure-snapshot-card p {
    max-width: 240px;

    margin-top: 12px;

    margin-bottom: 0;

    font-size: 11px;
}



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

.brochure-download {
    background: var(--warm);
}


.brochure-download-card {
    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    min-height: 560px;

    overflow: hidden;

    border-radius: 27px;

    background: var(--blue-deep);

    color: var(--white);
}


.brochure-download-copy {
    padding:
        clamp(40px,
            6vw,
            76px);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.brochure-download-copy .eyebrow {
    color: var(--yellow);
}


.brochure-download-copy h2 {
    max-width: 650px;

    color: var(--white);
}


.brochure-download-copy h2 span {
    color: var(--yellow);
}


.brochure-download-copy>p {
    max-width: 540px;

    color:
        rgba(255, 255, 255, .57);
}


.brochure-download-copy .btn {
    align-self: flex-start;

    margin-top: 12px;
}


.brochure-download-note {
    display: block;

    margin-top: 15px;

    color:
        rgba(255, 255, 255, .38);

    font-size: 8px;

    font-weight: 700;

    letter-spacing: .08em;

    text-transform: uppercase;
}


.brochure-download-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    padding: 50px;

    background: var(--yellow);
}


.brochure-download-file {
    position: relative;

    width:
        min(270px,
            85%);

    aspect-ratio: .75;

    padding: 28px;

    display: flex;

    flex-direction: column;

    border-radius: 8px;

    background: var(--white);

    box-shadow:
        0 30px 70px rgba(5, 38, 67, .18);

    transform: rotate(4deg);
}


.brochure-download-file::before {
    content: "";

    position: absolute;

    top: 0;
    right: 0;

    width: 60px;
    height: 60px;

    background:
        linear-gradient(225deg,
            var(--yellow) 50%,
            var(--warm) 50%);
}


.brochure-download-file>span {
    color: var(--yellow-dark);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .13em;
}


.brochure-download-file strong {
    margin-top: auto;

    color: var(--blue-deep);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(34px,
            4vw,
            52px);

    font-weight: 800;

    letter-spacing: -.06em;
}


.brochure-download-file i {
    width: 52px;
    height: 52px;

    margin-top: 22px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--yellow);

    color: var(--blue-deep);

    font-size: 21px;

    font-style: normal;
}



/* ================================================================
   STILL DECIDING
================================================================ */

.brochure-decide {
    background: var(--white);
}


.brochure-decide-grid {
    display: grid;

    grid-template-columns:
        1.06fr .94fr;

    gap:
        clamp(55px,
            7vw,
            100px);

    align-items: center;
}


.brochure-decide-image {
    position: relative;

    height:
        clamp(540px,
            54vw,
            700px);

    overflow: hidden;

    border-radius: 26px;
}


.brochure-decide-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s cubic-bezier(.2, .7, .2, 1);
}


.brochure-decide-image:hover img {
    transform: scale(1.025);
}


.brochure-decide-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to top,
            rgba(5, 38, 67, .86),
            rgba(5, 38, 67, 0) 54%);
}


.brochure-decide-label {
    position: absolute;

    z-index: 2;

    left:
        clamp(24px,
            4vw,
            44px);

    right:
        clamp(24px,
            4vw,
            44px);

    bottom:
        clamp(24px,
            4vw,
            42px);
}


.brochure-decide-label small {
    display: block;

    margin-bottom: 8px;

    color: var(--yellow);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.brochure-decide-label strong {
    display: block;

    max-width: 510px;

    color: var(--white);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(26px,
            2.8vw,
            39px);

    line-height: 1.18;

    letter-spacing: -.035em;
}


.brochure-decide-copy h2 {
    max-width: 600px;
}


.brochure-decide-lead {
    max-width: 520px;

    color: var(--text);

    font-size:
        clamp(18px,
            1.8vw,
            23px);

    font-weight: 600;

    line-height: 1.55;
}


.brochure-decide-copy>p {
    max-width: 530px;
}


.brochure-decide-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 28px;
}



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

.brochure-apply {
    background: var(--warm);
}


.brochure-apply-card {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 50px;

    padding:
        clamp(40px,
            6vw,
            75px);

    border-radius: 27px;

    background: var(--blue-deep);

    color: var(--white);
}


.brochure-apply-copy {
    max-width: 700px;
}


.brochure-apply-copy .eyebrow {
    color: var(--yellow);
}


.brochure-apply-copy h2 {
    max-width: 680px;

    color: var(--white);
}


.brochure-apply-copy h2 span {
    color: var(--yellow);
}


.brochure-apply-copy p {
    max-width: 500px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .58);
}


.brochure-apply-actions {
    display: flex;

    flex-direction: column;

    gap: 10px;

    flex: 0 0 auto;
}



/* ================================================================
   NEXT
================================================================ */

.brochure-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.brochure-next-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;
}


.brochure-next .eyebrow {
    color: var(--blue);
}


.brochure-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.brochure-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.brochure-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s cubic-bezier(.2, .7, .2, 1),
        background .35s ease;
}


.brochure-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



/* ================================================================
   RESPONSIVE — 1050
================================================================ */

@media (max-width: 1050px) {

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


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


    .brochure-snapshot-card:nth-child(2) {
        border-right: 0;
    }

}



/* ================================================================
   RESPONSIVE — 900
================================================================ */

@media (max-width: 900px) {

    .brochure-intro-grid,
    .brochure-inside-head,
    .brochure-preview-grid,
    .brochure-download-card,
    .brochure-decide-grid {
        grid-template-columns: 1fr;
    }


    .brochure-inside-head {
        gap: 18px;
    }


    .brochure-mockup {
        min-height: 620px;
    }


    .brochure-download-icon {
        min-height: 440px;
    }


    .brochure-decide-image {
        height: 560px;
    }


    .brochure-apply-card {
        align-items: flex-start;

        flex-direction: column;
    }


    .brochure-apply-actions {
        flex-direction: row;

        flex-wrap: wrap;
    }

}



/* ================================================================
   RESPONSIVE — 600
================================================================ */

@media (max-width: 600px) {

    .brochure-intro-lead {
        font-size: 22px;
    }


    .brochure-inside-grid {
        grid-template-columns: 1fr;
    }


    .brochure-inside-card {
        min-height: 260px;
    }


    .brochure-mockup {
        min-height: 500px;
    }


    .brochure-mockup-page {
        width: 65%;
    }


    .brochure-mockup-page-front {
        transform:
            translateX(-35px) rotate(-5deg);
    }


    .brochure-mockup-page-back {
        transform:
            translateX(50px) rotate(8deg);
    }


    .brochure-cover-content {
        padding: 20px;
    }


    .brochure-cover-logo img {
        width: 95px;
    }


    .brochure-snapshot-grid {
        grid-template-columns: 1fr;
    }


    .brochure-snapshot-card,
    .brochure-snapshot-card+.brochure-snapshot-card {
        min-height: 230px;

        padding: 25px 0;

        border-right: 0;

        border-bottom:
            1px solid var(--border);
    }


    .brochure-download-card {
        border-radius: 20px;
    }


    .brochure-download-icon {
        min-height: 350px;

        padding: 35px;
    }


    .brochure-download-file {
        width: 220px;
    }


    .brochure-decide-image {
        height: 430px;

        border-radius: 20px;
    }


    .brochure-decide-actions {
        flex-direction: column;

        align-items: flex-start;
    }


    .brochure-apply-card {
        padding: 35px 25px;

        border-radius: 20px;
    }


    .brochure-apply-actions {
        align-items: flex-start;

        flex-direction: column;
    }


    .brochure-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .brochure-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* DOWNLOAD END */


/* APPLY ONLINE START */

/* =========================================================
   SIGMA APPLY ONLINE STYLES
   Used by apply-online.html only. Load it after styles.css:
   it reuses the site's colour, radius, shadow and easing
   tokens from :root.
========================================================= */

.page-apply-online [hidden] {
    display: none !important;
}

.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}


/* =========================================================
   HERO
========================================================= */

.apply-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 620px;
    padding: 160px 0 64px;
    overflow: hidden;
    background: var(--blue-deep);
    color: var(--white);
}

.apply-hero-image {
    position: absolute;
    inset: 0;
}

.apply-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.apply-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 38, 67, .95) 0%, rgba(5, 38, 67, .8) 45%, rgba(5, 38, 67, .3) 100%);
}

.apply-hero-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
}

.apply-hero-copy {
    max-width: 760px;
}

.apply-hero h1 {
    margin: 18px 0 22px;
    color: var(--white);
}

.apply-hero p {
    max-width: 560px;
    margin: 0;
    color: rgba(255, 255, 255, .8);
    font-size: 17px;
}

.apply-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.apply-hero-facts {
    display: grid;
    gap: 0;
    min-width: 260px;
    margin: 0;
    padding: 6px 24px;
    list-style: none;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.apply-hero-facts li {
    display: flex;
    align-items: baseline;
    gap: 14px;
    padding: 14px 0;
}

.apply-hero-facts li+li {
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.apply-hero-facts span {
    color: rgba(255, 255, 255, .5);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
}

.apply-hero-facts strong {
    color: var(--white);
    font-size: 15px;
    font-weight: 700;
}

.apply-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
    color: rgba(255, 255, 255, .6);
    font-size: 13px;
    font-weight: 600;
}

.apply-breadcrumb li+li::before {
    content: "/";
    margin-right: 8px;
    opacity: .6;
}

.apply-breadcrumb a {
    color: rgba(255, 255, 255, .9);
    text-decoration: none;
    transition: color .3s var(--ease);
}

.apply-breadcrumb a:hover {
    color: var(--yellow);
}


/* =========================================================
   LAYOUT
========================================================= */

.apply-section {
    background: var(--blue-soft);
    scroll-margin-top: 80px;
}

.apply-layout {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: clamp(40px, 5vw, 80px);
    align-items: start;
}

.apply-sidebar {
    position: sticky;
    top: 120px;
}

.apply-sidebar h2 {
    margin: 14px 0 16px;
}

.apply-sidebar>p {
    margin: 0;
    color: var(--body);
    font-size: 15px;
}


/* sidebar progress */

.apply-progress {
    margin: 34px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.apply-progress li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 0;
    color: var(--muted);
    cursor: default;
    outline: none;
}

.apply-progress li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 21px;
    top: 56px;
    width: 2px;
    height: calc(100% - 44px);
    border-radius: 2px;
    background: var(--border);
}

.apply-progress-num {
    display: grid;
    flex: 0 0 44px;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--white);
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    transition: background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}

.apply-progress-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.apply-progress-text small {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.apply-progress-text strong {
    color: var(--text);
    font-size: 15px;
    font-weight: 700;
    opacity: .55;
    transition: opacity .4s var(--ease);
}

.apply-progress li.is-current .apply-progress-num {
    border-color: var(--yellow);
    background: var(--yellow);
    color: var(--blue-dark);
}

.apply-progress li.is-current strong,
.apply-progress li.is-done strong {
    opacity: 1;
}

.apply-progress li.is-done .apply-progress-num {
    border-color: var(--blue-dark);
    background: var(--blue-dark);
    color: transparent;
    position: relative;
}

.apply-progress li.is-done .apply-progress-num::before {
    content: "✓";
    position: absolute;
    color: var(--white);
    font-size: 15px;
}

.apply-progress li.is-done:not(:last-child)::after {
    background: var(--blue-dark);
}

.apply-progress li.is-reachable {
    cursor: pointer;
}

.apply-progress li.is-reachable:hover strong {
    text-decoration: underline;
    text-decoration-color: var(--yellow);
    text-underline-offset: 4px;
}

.apply-progress li:focus-visible .apply-progress-num {
    outline: 2px solid var(--yellow);
    outline-offset: 3px;
}

.apply-help {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 34px;
    padding: 22px 24px;
    border-radius: var(--radius-md);
    background: var(--white);
}

.apply-help small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.apply-help a {
    color: var(--blue-dark);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.apply-help a span {
    display: inline-block;
    transition: transform .3s var(--ease);
}

.apply-help a:hover span {
    transform: translateX(4px);
}


/* =========================================================
   CARD
========================================================= */

.apply-card {
    padding: clamp(26px, 3.6vw, 48px);
    border-radius: var(--radius-xl);
    background: var(--white);
    box-shadow: var(--shadow-lg);
}

.apply-card-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.apply-card-kicker {
    display: block;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.apply-step-title {
    margin: 8px 0 0;
    font-size: clamp(26px, 2.6vw, 34px);
    outline: none;
}

.apply-step-count {
    flex: 0 0 auto;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--yellow-soft);
    color: var(--blue-dark);
    font-size: 12px;
    font-weight: 800;
}

.apply-bar {
    height: 4px;
    margin: 22px 0 30px;
    overflow: hidden;
    border-radius: 4px;
    background: var(--blue-soft);
}

.apply-bar i {
    display: block;
    width: 25%;
    height: 100%;
    border-radius: 4px;
    background: var(--yellow);
    transition: width .6s var(--ease);
}

.apply-restore {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    margin-bottom: 24px;
    padding: 12px 16px;
    border-radius: var(--radius-sm);
    background: var(--yellow-soft);
}

.apply-restore p {
    margin: 0;
    color: var(--text);
    font-size: 14px;
    font-weight: 600;
}

.apply-restore button {
    padding: 0;
    border: 0;
    background: none;
    color: var(--blue-dark);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}


/* error summary */

.apply-summary {
    margin-bottom: 26px;
    padding: 16px 20px;
    border: 1px solid rgba(179, 38, 30, .25);
    border-left: 4px solid #b3261e;
    border-radius: var(--radius-sm);
    background: #fff7f6;
    outline: none;
}

.apply-summary strong {
    color: #8c1d18;
    font-size: 14px;
}

.apply-summary ul {
    margin: 8px 0 0;
    padding-left: 18px;
}

.apply-summary li {
    margin: 2px 0;
    font-size: 14px;
}

.apply-summary a {
    color: #8c1d18;
    text-underline-offset: 3px;
}


/* =========================================================
   FIELDS
========================================================= */

.apply-step {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    animation: apply-step-in .5s var(--ease);
}

@keyframes apply-step-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.apply-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
}

.apply-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.apply-field.full {
    grid-column: 1 / -1;
}

.apply-field>label,
.apply-field>legend {
    padding: 0;
    color: var(--text);
    font-size: 13px;
    font-weight: 700;
}

.apply-field>legend {
    margin-bottom: 7px;
}

.apply-field b {
    color: #b3261e;
    font-weight: 700;
}

.apply-field em {
    color: var(--muted);
    font-style: normal;
    font-weight: 500;
}

.apply-field input[type="text"],
.apply-field input[type="email"],
.apply-field input[type="tel"],
.apply-field input[type="date"],
.apply-field select,
.apply-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 12px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--bg);
    color: var(--text);
    font: inherit;
    font-size: 16px;
    /* 16px stops iOS zooming into the field */
    transition: border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);
    -webkit-appearance: none;
    appearance: none;
}

.apply-field select {
    padding-right: 42px;
    background-image: linear-gradient(45deg, transparent 50%, var(--blue-dark) 50%), linear-gradient(135deg, var(--blue-dark) 50%, transparent 50%);
    background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%;
    background-size: 6px 6px;
    background-repeat: no-repeat;
    cursor: pointer;
}

.apply-field textarea {
    min-height: 110px;
    resize: vertical;
}

.apply-field input[readonly] {
    border-style: dashed;
    background: var(--white);
    color: var(--muted);
    cursor: default;
}

.apply-field input:focus,
.apply-field select:focus,
.apply-field textarea:focus {
    outline: none;
    border-color: var(--blue);
    background-color: var(--white);
    box-shadow: 0 0 0 4px rgba(18, 63, 104, .1);
}

.apply-phone {
    display: flex;
    align-items: stretch;
}

.apply-phone span {
    display: grid;
    place-items: center;
    padding: 0 14px;
    border: 1px solid var(--border);
    border-right: 0;
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
    background: var(--blue-soft);
    color: var(--text);
    font-size: 15px;
    font-weight: 700;
}

.apply-phone input[type="tel"] {
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.apply-hint,
.apply-count {
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
}

.apply-hint:empty,
.apply-error:empty {
    display: none;
}

.apply-count {
    align-self: flex-end;
}

.apply-hint-warn {
    padding: 8px 12px;
    border-radius: 10px;
    background: var(--yellow-soft);
    color: #7a5600;
}

.apply-hint-warn button {
    padding: 0;
    border: 0;
    background: none;
    color: var(--blue-dark);
    font: inherit;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.apply-error {
    color: #b3261e;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.apply-error::before {
    content: "! ";
}

.apply-field.has-error input,
.apply-field.has-error select,
.apply-field.has-error .apply-phone span {
    border-color: #b3261e;
}

.apply-field.has-error input,
.apply-field.has-error select {
    background-color: #fff7f6;
}


/* school preference cards */

.apply-choices {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.apply-choice {
    position: relative;
    cursor: pointer;
}

.apply-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.apply-choice-ui {
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 100%;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--bg);
    transition: border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);
}

.apply-choice-ui i {
    color: var(--muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .08em;
}

.apply-choice-ui strong {
    color: var(--text);
    font-size: 16px;
    font-weight: 700;
}

.apply-choice-ui small {
    color: var(--body);
    font-size: 13px;
    line-height: 1.45;
}

.apply-choice:hover .apply-choice-ui {
    border-color: rgba(18, 63, 104, .3);
}

.apply-choice input:checked+.apply-choice-ui {
    border-color: var(--blue-dark);
    background: var(--white);
    box-shadow: 0 0 0 1px var(--blue-dark), var(--shadow-sm);
}

.apply-choice input:checked+.apply-choice-ui i {
    color: var(--blue-dark);
}

.apply-choice input:checked+.apply-choice-ui i::after {
    content: "  ✓";
}

.apply-choice input:focus-visible+.apply-choice-ui {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
}

.apply-choice-set.has-error .apply-choice-ui {
    border-color: #b3261e;
}


/* consent */

.apply-field>.apply-consent {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--bg);
    color: var(--body);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
    cursor: pointer;
}

.apply-consent input {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 1px 0 0;
    accent-color: var(--blue-dark);
    cursor: pointer;
}

.apply-field.has-error .apply-consent {
    border-color: #b3261e;
    background: #fff7f6;
}

.apply-trap {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}


/* review */

.apply-review {
    display: grid;
    gap: 12px;
    margin-bottom: 28px;
}

.apply-review-group {
    padding: 18px 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
}

.apply-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.apply-review-head h3 {
    margin: 0;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--muted);
}

.apply-review-head button {
    padding: 4px 12px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--white);
    color: var(--blue-dark);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: background .3s var(--ease), border-color .3s var(--ease);
}

.apply-review-head button:hover {
    border-color: var(--yellow);
    background: var(--yellow);
}

.apply-review dl {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 6px 18px;
    margin: 0;
    font-size: 14px;
}

.apply-review dt {
    color: var(--muted);
    font-weight: 600;
}

.apply-review dd {
    margin: 0;
    color: var(--text);
    font-weight: 700;
    overflow-wrap: anywhere;
}


/* nav buttons */

.apply-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 32px;
    padding-top: 26px;
    border-top: 1px solid var(--border);
}

.apply-nav .apply-next,
.apply-nav .apply-submit {
    margin-left: auto;
}

.apply-nav .btn[disabled] {
    opacity: .6;
    cursor: wait;
}


/* success */

.apply-success {
    padding: 20px 0;
    text-align: center;
    outline: none;
}

.apply-success-tick {
    display: inline-grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin-bottom: 22px;
    border-radius: 50%;
    background: var(--yellow);
    color: var(--blue-dark);
    font-size: 30px;
    font-weight: 800;
}

.apply-ref {
    display: block;
    margin: 6px 0 18px;
    color: var(--blue-dark);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: .06em;
}

.apply-success h2 {
    margin: 0 0 12px;
    font-size: clamp(26px, 2.6vw, 34px);
}

.apply-success p {
    max-width: 460px;
    margin: 0 auto 28px;
}

.apply-success-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}


/* =========================================================
   WHAT HAPPENS NEXT
========================================================= */

.apply-next-steps {
    background: var(--blue-deep);
    color: var(--white);
}

.apply-head {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 24px 70px;
    align-items: end;
    margin-bottom: clamp(40px, 5vw, 64px);
}

.apply-head h2 {
    margin: 14px 0 0;
}

.apply-next-steps h2,
.apply-next-steps h3 {
    color: var(--white);
}

.apply-head p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 17px;
}

.apply-timeline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.apply-timeline li {
    padding: 28px 24px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, .04);
}

.apply-timeline span {
    display: block;
    margin-bottom: 40px;
    color: var(--yellow);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.apply-timeline h3 {
    margin: 0 0 8px;
}

.apply-timeline p {
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: 15px;
}


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

.apply-docs-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(40px, 6vw, 90px);
    align-items: center;
}

.apply-docs-layout h2 {
    margin: 14px 0 18px;
}

.apply-doc-list {
    margin: 0;
    padding: 10px 28px;
    list-style: none;
    border-radius: var(--radius-lg);
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.apply-doc-list li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    color: var(--text);
    font-weight: 600;
}

.apply-doc-list li+li {
    border-top: 1px solid var(--border);
}

.apply-doc-list span {
    display: grid;
    flex: 0 0 28px;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--yellow-soft);
    color: var(--blue-dark);
    font-size: 13px;
    font-weight: 800;
}

.page-apply-online .faq-intro a {
    color: var(--blue-dark);
    font-weight: 700;
    text-decoration-color: var(--yellow);
    text-underline-offset: 4px;
}


/* =========================================================
   HELP CARD
========================================================= */

.apply-help-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px 50px;
    padding: clamp(34px, 5vw, 64px);
    border-radius: var(--radius-xl);
    background: var(--blue-deep);
    color: var(--white);
}

.apply-help-card h2 {
    max-width: 560px;
    margin: 14px 0 12px;
    color: var(--white);
}

.apply-help-card p {
    max-width: 520px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
}

.apply-help-actions {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    gap: 12px;
}


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

@media (max-width: 1180px) {

    .apply-timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .apply-choices {
        grid-template-columns: 1fr;
    }

    .apply-choice-ui {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        column-gap: 10px;
        align-items: baseline;
    }

    .apply-choice-ui small {
        grid-column: 2;
    }
}

@media (max-width: 920px) {

    .apply-hero {
        min-height: 560px;
        padding: 140px 0 48px;
    }

    .apply-hero-content {
        flex-direction: column;
        align-items: flex-start;
    }

    .apply-hero-facts {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 22px;
        min-width: 0;
        padding: 10px 20px;
    }

    .apply-hero-facts li,
    .apply-hero-facts li+li {
        padding: 6px 0;
        border-top: 0;
    }

    .apply-layout,
    .apply-head,
    .apply-docs-layout {
        grid-template-columns: 1fr;
    }

    .apply-sidebar {
        position: static;
    }

    /* On small screens the card shows progress; keep the sidebar short. */
    .apply-progress {
        display: none;
    }

    .apply-help {
        display: none;
    }

    .apply-help-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .apply-help-actions {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media (max-width: 640px) {

    .apply-hero-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .apply-hero-facts span {
        display: none;
    }

    .apply-card {
        margin: 0 -8px;
        padding: 24px 18px;
        border-radius: var(--radius-lg);
    }

    .apply-card-head {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 10px;
    }

    .apply-grid,
    .apply-timeline {
        grid-template-columns: 1fr;
    }

    .apply-review dl {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .apply-review dd {
        margin-bottom: 8px;
    }

    .apply-nav .btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    .apply-help-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .apply-timeline span {
        margin-bottom: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .apply-step {
        animation: none;
    }

    .apply-bar i,
    .apply-progress-num {
        transition: none;
    }
}


/* APPLY ONLINE END */


/* CAMPUS START */

/* ================================================================
   ================================================================
   CAMPUS PAGE
   PAGE-SPECIFIC ONLY
   ================================================================
   ================================================================ */


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

.campus-intro {
    background: var(--white);
}


.campus-intro-grid {
    display: grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap:
        clamp(55px,
            8vw,
            120px);

    align-items: start;
}


.campus-intro-heading h2 {
    max-width: 570px;

    margin-bottom: 0;
}


.campus-intro-copy {
    padding-top: 12px;
}


.campus-intro-lead {
    max-width: 650px;

    margin-bottom: 25px;

    color: var(--text);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(22px,
            2.3vw,
            31px);

    font-weight: 600;

    line-height: 1.42;

    letter-spacing: -.025em;
}


.campus-intro-copy>p:not(.campus-intro-lead) {
    max-width: 650px;
}



/* ================================================================
   IMMERSIVE CAMPUS
================================================================ */

.campus-immersive {
    position: relative;

    min-height: 90svh;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    color: var(--white);
}


.campus-immersive-image {
    position: absolute;

    inset: 0;
}


.campus-immersive-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 1.2s cubic-bezier(.2, .7, .2, 1);
}


.campus-immersive:hover .campus-immersive-image img {
    transform: scale(1.025);
}


.campus-immersive-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .05) 20%,
            rgba(5, 38, 67, .25) 55%,
            rgba(5, 38, 67, .9) 100%);
}


.campus-immersive-inner {
    position: relative;

    z-index: 2;

    width: 100%;

    padding-bottom:
        clamp(55px,
            7vw,
            90px);
}


.campus-immersive-copy {
    max-width: 720px;
}


.campus-immersive-copy .eyebrow {
    color: var(--yellow);
}


.campus-immersive-copy h2 {
    color: var(--white);

    font-size:
        clamp(37px,
            5vw,
            67px);
}


.campus-immersive-copy p {
    max-width: 550px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .7);
}



/* ================================================================
   SECTION HEAD
================================================================ */

.campus-section-head,
.campus-explore-head {
    display: grid;

    grid-template-columns:
        1fr .45fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 50px;
}


.campus-section-head h2,
.campus-explore-head h2 {
    max-width: 700px;

    margin-bottom: 0;
}


.campus-section-head>p,
.campus-explore-head>p {
    max-width: 370px;

    margin-bottom: 5px;
}



/* ================================================================
   CAMPUS AREAS
================================================================ */

.campus-areas {
    background: var(--warm);
}


.campus-area-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    grid-auto-rows:
        410px;

    gap: 12px;
}


.campus-area-card {
    position: relative;

    overflow: hidden;

    border-radius: 20px;

    color: var(--white);
}


.campus-area-large {
    grid-row: span 2;
}


.campus-area-wide {
    grid-column: span 1;
}


.campus-area-card>img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .8s cubic-bezier(.2, .7, .2, 1);
}


.campus-area-card:hover>img {
    transform: scale(1.04);
}


.campus-area-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(5, 38, 67, .04) 20%,
            rgba(5, 38, 67, .3) 55%,
            rgba(5, 38, 67, .92) 100%);
}


.campus-area-content {
    position: absolute;

    z-index: 2;

    inset:
        auto 0 0;

    padding:
        clamp(24px,
            3vw,
            36px);

    display: grid;

    grid-template-columns:
        38px 1fr 45px;

    gap: 14px;

    align-items: end;
}


.campus-area-content>span {
    color:
        rgba(255, 255, 255, .42);

    font-size: 12px;

    font-weight: 800;
}


.campus-area-content small {
    display: block;

    margin-bottom: 5px;

    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.campus-area-content h3 {
    margin-bottom: 7px;

    color: var(--white);

    font-size:
        clamp(23px,
            2.4vw,
            32px);
}


.campus-area-content p {
    max-width: 370px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .6);

    font-size: 10px;
}


.campus-area-content i {
    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border:
        1px solid rgba(255, 255, 255, .35);

    border-radius: 50%;

    color: var(--white);

    font-style: normal;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s cubic-bezier(.2, .7, .2, 1);
}


.campus-area-card:hover .campus-area-content i {
    transform: rotate(-8deg);

    border-color: var(--yellow);

    background: var(--yellow);

    color: var(--blue-deep);
}



/* ================================================================
   CHILD-CENTRED CAMPUS
================================================================ */

.campus-child {
    background: var(--white);
}


.campus-child-grid {
    display: grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap:
        clamp(55px,
            8vw,
            115px);

    align-items: center;
}


.campus-child-copy h2 {
    max-width: 570px;
}


.campus-child-lead {
    max-width: 510px;

    color: var(--text);

    font-size:
        clamp(18px,
            1.8vw,
            23px);

    font-weight: 600;

    line-height: 1.5;
}


.campus-child-copy>p {
    max-width: 520px;
}


.campus-child-image {
    position: relative;

    height:
        clamp(520px,
            55vw,
            700px);

    overflow: hidden;

    border-radius: 25px;
}


.campus-child-image>img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .9s cubic-bezier(.2, .7, .2, 1);
}


.campus-child-image:hover>img {
    transform: scale(1.025);
}


.campus-child-note {
    position: absolute;

    left: 25px;
    bottom: 25px;

    max-width: 220px;

    padding: 20px;

    border-radius: 15px;

    background: var(--yellow);

    color: var(--blue-deep);
}


.campus-child-note small {
    display: block;

    margin-bottom: 6px;

    font-size: 7px;

    font-weight: 800;

    letter-spacing: .11em;
}


.campus-child-note strong {
    display: block;

    font-family:
        "Manrope",
        sans-serif;

    font-size: 20px;

    line-height: 1.2;

    letter-spacing: -.03em;
}



/* ================================================================
   NATURE
================================================================ */

.campus-nature {
    overflow: hidden;

    background: var(--blue-deep);

    color: var(--white);
}


.campus-nature-grid {
    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    min-height: 720px;
}


.campus-nature-image {
    min-height: 720px;
}


.campus-nature-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.campus-nature-copy {
    padding:
        clamp(55px,
            7vw,
            100px);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.campus-nature-copy .eyebrow {
    color: var(--yellow);
}


.campus-nature-copy h2 {
    max-width: 530px;

    color: var(--white);
}


.campus-nature-copy h2 span {
    color: var(--yellow);
}


.campus-nature-copy>p {
    max-width: 490px;

    color:
        rgba(255, 255, 255, .58);
}


.campus-nature-points {
    max-width: 500px;

    margin-top: 30px;

    border-top:
        1px solid rgba(255, 255, 255, .14);
}


.campus-nature-points>div {
    display: grid;

    grid-template-columns:
        45px 1fr;

    gap: 15px;

    padding: 17px 0;

    border-bottom:
        1px solid rgba(255, 255, 255, .14);
}


.campus-nature-points span {
    color: var(--yellow);

    font-size: 8px;

    font-weight: 800;
}


.campus-nature-points strong {
    color:
        rgba(255, 255, 255, .82);

    font-size: 12px;
}



/* ================================================================
   SAFETY
================================================================ */

.campus-safety {
    background: var(--warm);
}


.campus-safety-head {
    max-width: 800px;

    margin-bottom: 50px;
}


.campus-safety-head h2 {
    max-width: 680px;
}


.campus-safety-head>p {
    max-width: 570px;
}


.campus-safety-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    border-top:
        1px solid var(--border);
}


.campus-safety-card {
    min-height: 330px;

    padding:
        27px 22px;

    display: flex;

    flex-direction: column;

    border-right:
        1px solid var(--border);
}


.campus-safety-card:first-child {
    padding-left: 0;
}


.campus-safety-card:last-child {
    border-right: 0;
}


.campus-safety-card>span {
    margin-bottom: auto;

    color:
        rgba(18, 63, 104, .14);

    font-family:
        "Manrope",
        sans-serif;

    font-size:
        clamp(42px,
            4vw,
            55px);

    font-weight: 800;

    line-height: .9;
}


.campus-safety-card small {
    display: block;

    margin-bottom: 6px;

    color: var(--yellow-dark);

    font-size: 7px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.campus-safety-card h3 {
    margin-bottom: 8px;

    font-size:
        clamp(19px,
            1.8vw,
            24px);
}


.campus-safety-card p {
    max-width: 250px;

    margin-bottom: 0;

    font-size: 10px;
}



/* ================================================================
   EXPLORE
================================================================ */

.campus-explore {
    background: var(--white);
}


.campus-explore-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 10px;
}


.campus-explore-card {
    position: relative;

    min-height: 310px;

    padding: 25px;

    display: flex;

    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 18px;

    background: var(--warm);

    transition:
        transform .3s cubic-bezier(.2, .7, .2, 1),
        background .3s ease,
        border-color .3s ease;
}


.campus-explore-card:hover {
    transform: translateY(-5px);

    border-color: var(--blue);

    background: var(--blue-deep);
}


.campus-explore-card>span {
    margin-bottom: auto;

    color:
        rgba(18, 63, 104, .18);

    font-family:
        "Manrope",
        sans-serif;

    font-size: 42px;

    font-weight: 800;
}


.campus-explore-card small {
    display: block;

    margin-bottom: 5px;

    color: var(--yellow-dark);

    font-size: 7px;

    font-weight: 800;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.campus-explore-card h3 {
    margin-bottom: 8px;

    font-size: 20px;
}


.campus-explore-card p {
    max-width: 230px;

    margin-bottom: 20px;

    font-size: 10px;
}


.campus-explore-card i {
    color: var(--blue);

    font-size: 20px;

    font-style: normal;
}


.campus-explore-card:hover h3,
.campus-explore-card:hover i {
    color: var(--white);
}


.campus-explore-card:hover p {
    color:
        rgba(255, 255, 255, .55);
}


.campus-explore-card:hover>span {
    color:
        rgba(255, 255, 255, .12);
}



/* ================================================================
   CAMPUS VISIT
================================================================ */

.campus-visit {
    background: var(--warm);
}


.campus-visit-card {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 60px;

    padding:
        clamp(42px,
            6vw,
            75px);

    border-radius: 26px;

    background: var(--blue-deep);

    color: var(--white);
}


.campus-visit-copy {
    max-width: 700px;
}


.campus-visit-copy .eyebrow {
    color: var(--yellow);
}


.campus-visit-copy h2 {
    max-width: 650px;

    color: var(--white);
}


.campus-visit-copy h2 span {
    color: var(--yellow);
}


.campus-visit-copy p {
    max-width: 520px;

    margin-bottom: 0;

    color:
        rgba(255, 255, 255, .58);
}


.campus-visit-actions {
    display: flex;

    flex-direction: column;

    gap: 10px;

    flex: 0 0 auto;
}



/* ================================================================
   NEXT
================================================================ */

.campus-next {
    padding:
        clamp(60px,
            6vw,
            82px) 0;

    background: var(--yellow);
}


.campus-next-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;
}


.campus-next .eyebrow {
    color: var(--blue);
}


.campus-next h2 {
    margin-bottom: 0;

    color: var(--blue-deep);

    font-size:
        clamp(34px,
            4.2vw,
            55px);
}


.campus-next h2 span {
    color:
        rgba(5, 38, 67, .42);
}


.campus-next-arrow {
    flex: 0 0 auto;

    width: 76px;
    height: 76px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--blue-deep);

    color: var(--white);

    font-size: 25px;

    transition:
        transform .35s cubic-bezier(.2, .7, .2, 1),
        background .35s ease;
}


.campus-next-arrow:hover {
    transform:
        rotate(-10deg) scale(1.07);

    background: var(--blue);
}



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

@media (max-width: 1000px) {

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


    .campus-safety-card:nth-child(2) {
        border-right: 0;
    }

}



@media (max-width: 900px) {

    .campus-intro-grid,
    .campus-section-head,
    .campus-child-grid,
    .campus-nature-grid,
    .campus-explore-head {
        grid-template-columns: 1fr;
    }


    .campus-section-head,
    .campus-explore-head {
        gap: 18px;
    }


    .campus-area-grid {
        grid-auto-rows: 430px;
    }


    .campus-area-large {
        grid-row: auto;
    }


    .campus-nature-grid,
    .campus-nature-image {
        min-height: auto;
    }


    .campus-nature-image {
        height: 600px;
    }


    .campus-visit-card {
        align-items: flex-start;

        flex-direction: column;
    }


    .campus-visit-actions {
        flex-direction: row;

        flex-wrap: wrap;
    }

}



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

@media (max-width: 650px) {

    .campus-immersive {
        min-height: 75svh;
    }


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

        grid-auto-rows: 400px;
    }


    .campus-area-content {
        grid-template-columns:
            28px 1fr 40px;

        padding: 22px;
    }


    .campus-child-image {
        height: 450px;

        border-radius: 19px;
    }


    .campus-nature-image {
        height: 440px;
    }


    .campus-nature-copy {
        padding:
            55px 24px;
    }


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


    .campus-safety-card,
    .campus-safety-card:first-child {
        min-height: 240px;

        padding: 25px 0;

        border-right: 0;

        border-bottom:
            1px solid var(--border);
    }


    .campus-explore-card {
        min-height: 260px;
    }


    .campus-visit-card {
        padding: 35px 24px;

        border-radius: 20px;
    }


    .campus-visit-actions {
        align-items: flex-start;

        flex-direction: column;
    }


    .campus-next-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .campus-next-arrow {
        width: 64px;
        height: 64px;
    }

}

/* CAMPUS END */

/* CONTACT START */

/* =========================================================
   SIGMA CONTACT PAGE STYLES
   Used by contact.html only. Load it after styles.css:
   it reuses the site's colour, radius, shadow and easing
   tokens from :root.
========================================================= */

.page-contact [hidden] {
    display: none !important;
}


/* =========================================================
   HERO
========================================================= */

.contact-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 690px;
    padding: 160px 0 72px;
    overflow: hidden;
    background: var(--blue-deep);
    color: var(--white);
}

.contact-hero-image {
    position: absolute;
    inset: 0;
}

.contact-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 38, 67, .95) 0%, rgba(5, 38, 67, .78) 45%, rgba(5, 38, 67, .25) 100%);
}

.contact-hero-content {
    position: relative;
    z-index: 1;
}

.contact-hero-copy {
    max-width: 760px;
}

.contact-hero h1 {
    margin: 16px 0 22px;
    color: var(--white);
}

.contact-hero p {
    max-width: 580px;
    margin: 0;
    color: rgba(255, 255, 255, .8);
    font-size: 17px;
}

.contact-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.contact-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
    color: rgba(255, 255, 255, .6);
    font-size: 13px;
    font-weight: 600;
}

.contact-breadcrumb li+li::before {
    content: "/";
    margin-right: 8px;
    opacity: .6;
}

.contact-breadcrumb a {
    color: rgba(255, 255, 255, .9);
    text-decoration: none;
    transition: color .3s var(--ease);
}

.contact-breadcrumb a:hover {
    color: var(--yellow);
}


/* =========================================================
   SHARED SECTION HEAD  (heading left, lead right)
========================================================= */

.contact-head {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 40px 70px;
    align-items: end;
    margin-bottom: clamp(40px, 5vw, 64px);
}

.contact-head h2 {
    margin: 14px 0 0;
}

.contact-head .section-lead {
    margin: 0;
}


/* =========================================================
   WAYS TO REACH US
========================================================= */

.contact-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.contact-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 290px;
    padding: 30px 26px 28px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--white);
    color: var(--text);
    text-decoration: none;
    transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease);
}

a.contact-card:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: var(--shadow-md);
}

.contact-card-num {
    margin-bottom: auto;
    padding-bottom: 36px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.contact-card-label {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.contact-card strong {
    color: var(--blue-dark);
    font-size: clamp(19px, 1.6vw, 22px);
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.contact-card p {
    margin: 0 0 12px;
    color: var(--body);
    font-size: 14px;
    line-height: 1.6;
}

.contact-card .text-link {
    margin-top: auto;
}

.contact-card-hours {
    background: var(--blue-deep);
    border-color: var(--blue-deep);
}

.contact-card-hours .contact-card-num,
.contact-card-hours .contact-card-label {
    color: rgba(255, 255, 255, .55);
}

.contact-card-hours strong {
    color: var(--white);
}

.contact-card-hours p {
    color: rgba(255, 255, 255, .75);
}

.contact-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    margin-top: auto;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
}

.contact-status::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #9aa7b2;
}

.contact-status.is-open::before {
    background: #4ad08a;
    box-shadow: 0 0 0 4px rgba(74, 208, 138, .2);
}


/* =========================================================
   BOOK A CAMPUS VISIT
========================================================= */

.contact-visit-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(40px, 6vw, 90px);
    align-items: start;
}

.contact-visit-copy {
    position: sticky;
    top: 120px;
}

.contact-visit-copy h2 {
    margin: 14px 0 20px;
}

.visit-steps {
    display: grid;
    gap: 0;
    margin: 36px 0 0;
    padding: 0;
    list-style: none;
}

.visit-steps li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding: 20px 0;
    border-top: 1px solid var(--border);
}

.visit-steps li>span {
    padding-top: 3px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.visit-steps h3 {
    margin: 0 0 4px;
    font-size: 18px;
}

.visit-steps p {
    margin: 0;
    color: var(--body);
    font-size: 15px;
}

.visit-card {
    padding: clamp(26px, 3.4vw, 44px);
    border-radius: var(--radius-xl);
    background: var(--white);
    box-shadow: var(--shadow-lg);
}

.visit-form-header {
    margin-bottom: 26px;
}

.visit-form-header span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.visit-form-header h3 {
    margin: 8px 0 6px;
}

.visit-form-header p {
    margin: 0;
    font-size: 14px;
}

.visit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.visit-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.visit-field.full {
    grid-column: 1 / -1;
}

.visit-field label,
.visit-field legend {
    padding: 0;
    color: var(--text);
    font-size: 13px;
    font-weight: 700;
}

.visit-field legend {
    margin-bottom: 7px;
}

.visit-field em {
    color: var(--muted);
    font-style: normal;
    font-weight: 500;
}

.visit-field input,
.visit-field select,
.visit-field textarea {
    width: 100%;
    min-height: 50px;
    padding: 12px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--bg);
    color: var(--text);
    font: inherit;
    font-size: 15px;
    transition: border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);
}

.visit-field textarea {
    min-height: 96px;
    resize: vertical;
}

.visit-field input:focus,
.visit-field select:focus,
.visit-field textarea:focus {
    outline: none;
    border-color: var(--blue);
    background: var(--white);
    box-shadow: 0 0 0 4px rgba(18, 63, 104, .1);
}

.visit-error {
    display: none;
    color: #b3261e;
    font-size: 12px;
    font-weight: 600;
}

.visit-field.has-error input,
.visit-field.has-error select {
    border-color: #b3261e;
    background: #fff7f6;
}

.visit-field.has-error .visit-error {
    display: block;
}

.visit-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.visit-pill {
    position: relative;
    cursor: pointer;
}

.visit-pill input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.visit-pill span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--white);
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
    transition: background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}

.visit-pill input:checked+span {
    border-color: var(--blue-dark);
    background: var(--blue-dark);
    color: var(--white);
}

.visit-pill input:focus-visible+span {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
}

.visit-trap {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.visit-submit {
    width: 100%;
    justify-content: center;
    margin-top: 26px;
}

.visit-submit[disabled] {
    opacity: .6;
    cursor: wait;
}

.visit-form .privacy-note {
    display: block;
    margin-top: 14px;
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

.visit-success {
    padding: 40px 10px;
    text-align: center;
    outline: none;
}

.visit-success-tick {
    display: inline-grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: var(--yellow);
    color: var(--blue-dark);
    font-size: 28px;
    font-weight: 800;
}

.visit-success h3 {
    margin: 0 0 10px;
}

.visit-success p {
    max-width: 380px;
    margin: 0 auto 26px;
}


/* =========================================================
   MAP + DIRECTIONS
========================================================= */

.contact-map-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: clamp(40px, 6vw, 90px);
    align-items: center;
}

.contact-map {
    position: relative;
    min-height: 480px;
    overflow: hidden;
    border-radius: var(--radius-xl);
    background: var(--blue-soft);
    box-shadow: var(--shadow-md);
}

.contact-map iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.contact-directions h2 {
    margin: 14px 0 18px;
}

.contact-directions address {
    margin-bottom: 26px;
    color: var(--text);
    font-size: 17px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.6;
}

.directions-list {
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
}

.directions-list li {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 0;
    border-top: 1px solid var(--border);
}

.directions-list span {
    padding-top: 2px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.directions-list p {
    margin: 0;
    color: var(--body);
    font-size: 15px;
}

.directions-list strong {
    color: var(--text);
}

.contact-directions-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 26px;
}


/* =========================================================
   QUICK LINKS
========================================================= */

.route-list {
    border-top: 1px solid var(--border);
}

.route-row {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 26px 8px;
    border-bottom: 1px solid var(--border);
    color: var(--text);
    text-decoration: none;
    transition: padding .5s var(--ease), background .5s var(--ease);
}

.route-row:hover {
    padding-left: 22px;
    padding-right: 22px;
    background: rgba(255, 255, 255, .6);
}

.route-num {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.route-row h3 {
    margin: 0 0 4px;
}

.route-row p {
    margin: 0;
    color: var(--body);
    font-size: 15px;
}

.page-contact .faq-intro a {
    color: var(--blue-dark);
    font-weight: 700;
    text-decoration-color: var(--yellow);
    text-underline-offset: 4px;
}

.route-arrow {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--blue-dark);
    font-size: 18px;
    font-weight: 700;
    transition: background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease), transform .4s var(--ease);
}

.route-row:hover .route-arrow {
    border-color: var(--yellow);
    background: var(--yellow);
    transform: translateX(4px);
}


/* =========================================================
   QUOTE
========================================================= */

.contact-quote {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 80vh;
    padding: 120px 0;
    overflow: hidden;
    background: var(--blue-deep);
    text-align: center;
}

.contact-quote-image {
    position: absolute;
    inset: 0;
}

.contact-quote-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact-quote-overlay {
    position: absolute;
    inset: 0;
    background: rgba(5, 38, 67, .74);
}

.contact-quote .container {
    position: relative;
    z-index: 1;
}

.contact-quote blockquote {
    max-width: 1000px;
    margin: 0 auto;
    color: var(--white);
    font-size: clamp(36px, 5vw, 67px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.contact-quote blockquote span {
    color: var(--yellow);
}


/* =========================================================
   NEXT PAGE BAND
========================================================= */

.contact-next {
    padding: clamp(60px, 7vw, 96px) 0;
    background: var(--yellow);
}

.contact-next-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.contact-next .eyebrow {
    color: var(--blue-deep);
}

.contact-next h2 {
    margin: 12px 0 0;
    color: var(--blue-deep);
    font-size: clamp(42px, 6vw, 84px);
    letter-spacing: -.045em;
}

.contact-next-btn {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: var(--blue-deep);
    color: var(--white);
    font-size: 26px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .5s var(--ease);
}

.contact-next-btn:hover {
    transform: translateX(6px) rotate(-8deg);
}


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

@media (max-width: 1180px) {

    .contact-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-card {
        min-height: 250px;
    }
}

@media (max-width: 920px) {

    .contact-hero {
        min-height: 580px;
        padding: 140px 0 56px;
    }

    .contact-head,
    .contact-visit-layout,
    .contact-map-layout {
        grid-template-columns: 1fr;
    }

    .contact-head {
        gap: 18px;
    }

    .contact-visit-copy {
        position: static;
    }

    .contact-map {
        min-height: 360px;
    }
}

@media (max-width: 640px) {

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

    .contact-cards,
    .visit-grid {
        grid-template-columns: 1fr;
    }

    .contact-card {
        min-height: 0;
    }

    .contact-card-num {
        padding-bottom: 18px;
    }

    .route-row {
        grid-template-columns: 36px minmax(0, 1fr) auto;
        gap: 12px;
    }

    .route-arrow {
        width: 40px;
        height: 40px;
    }

    .contact-quote {
        min-height: 0;
        padding: 96px 0;
    }

    .contact-next-btn {
        width: 60px;
        height: 60px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .contact-card,
    .route-row,
    .route-arrow,
    .contact-next-btn {
        transition: none;
    }
}

.legacy-logo{
    height: 200px !important;
    width: max-content;
}

/* CONTACT END */