/* =========================================================
   VARIABLES
========================================================= */

:root {
    --corp-bg: #f4f7fb;
    --corp-surface: #ffffff;
    --corp-soft: #edf2f7;
    --corp-line: #dbe3ec;

    --corp-text: #18283a;
    --corp-muted: #718092;

    --corp-primary: #173b63;
    
    --corp-accent: #d6a642;

    --corp-white: #ffffff;

    --corp-shadow: 0 14px 40px rgba(24,40,58,.10);
    --corp-transition: .28s ease;
}


/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    background: var(--corp-bg);
    color: var(--corp-text);

    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 400;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    border: 0;
    cursor: pointer;
    font: inherit;
}


/* =========================================================
   HEADER
========================================================= */

.corp-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    background: var(--corp-surface);
    border-bottom: 1px solid var(--corp-line);
}

.corp-header-inner {
    width: min(1400px, calc(100% - 40px));
    min-height: 82px;
    margin: auto;

    display: flex;
    align-items: center;
    gap: 25px;
}


/* =========================================================
   LOGO
========================================================= */

.corp-logo {
    flex-shrink: 0;

    display: inline-flex;
    align-items: center;
    gap: 11px;
}

.corp-logo-mark {
    width: 43px;
    height: 43px;

    display: grid;
    place-items: center;

    color: #fff;
    background: var(--corp-primary);
    border-radius: 11px;

    font-size: 17px;
    transition: var(--corp-transition);
}

.corp-logo:hover .corp-logo-mark {
    color: var(--corp-primary);
    background: var(--corp-accent);
    transform: translateY(-2px);
}

.corp-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.corp-logo-text strong {
    color: var(--corp-text);

    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 800;
}

.corp-logo-text small {
    margin-top: 4px;

    color: var(--corp-muted);

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}


/* =========================================================
   DESKTOP NAV
========================================================= */

.corp-nav {
    margin-left: auto;
}

.corp-nav-list {
    display: flex;
    align-items: center;
    gap: 3px;

    list-style: none;
}

.corp-nav-item {
    position: relative;
}

.corp-nav-link {
    min-height: 42px;
    padding: 0 11px;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: var(--corp-muted);

    font-size: 13px;
    font-weight: 600;

    transition: var(--corp-transition);
}

.corp-nav-link:hover,
.corp-home-item:hover > .corp-home-link {
    color: var(--corp-accent);
}

.corp-home-link i {
    font-size: 9px;
    transition: var(--corp-transition);
}

.corp-home-item:hover .corp-home-link i {
    transform: rotate(180deg);
}


/* =========================================================
   HOME DROPDOWN
========================================================= */

.corp-home-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;

    width: 170px;
    

    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    border-radius: 14px;

    box-shadow: var(--corp-shadow);

    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);

    transition: var(--corp-transition);
}

.corp-home-item:hover .corp-home-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.corp-home-option {
    min-height: 70px;
    padding: 10px;

    display: grid;
    grid-template-columns: 35px 1fr 20px;
    align-items: center;
    gap: 10px;

    border-radius: 9px;
    transition: var(--corp-transition);
}

.corp-home-option:hover {
    background: var(--corp-soft);
}

.corp-home-number {
    color: var(--corp-accent);

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-home-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.corp-home-info strong {
    color: var(--corp-text);

    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 700;
}

.corp-home-info small {
    color: var(--corp-muted);
    font-size: 10px;
}

.corp-home-option > i {
    color: var(--corp-accent);
    font-size: 11px;
}


/* =========================================================
   HEADER ACTIONS
========================================================= */

.corp-header-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.corp-login {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: var(--corp-text);

    font-size: 12px;
    font-weight: 600;

    transition: var(--corp-transition);
}

.corp-login:hover {
    color: var(--corp-accent);
}

.corp-login-icon {
    width: 31px;
    height: 31px;

    display: grid;
    place-items: center;

    color: var(--corp-primary);
    background: var(--corp-soft);
    border-radius: 50%;
}


/* =========================================================
   TALK TO US
========================================================= */

.corp-header-button {
    min-height: 40px;
    padding: 0 15px;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #ffffff;
    background: var(--corp-primary);
    border-radius: 7px;

    font-size: 11px;
    font-weight: 700;

    transition: var(--corp-transition);
}

.corp-header-button:hover {
    color: var(--corp-primary);
    background: var(--corp-accent);
    transform: translateY(-2px);
}


/* =========================================================
   DESKTOP THEME
========================================================= */

.corp-theme-controls {
    display: flex;
    align-items: center;
    gap: 3px;

    padding: 3px;

    background: var(--corp-soft);
    border-radius: 8px;
}

.corp-theme-button,
.corp-rtl-button {
    width: 30px;
    height: 30px;

    display: grid;
    place-items: center;

    color: var(--corp-muted);
    background: transparent;
    border-radius: 6px;

    font-size: 11px;

    transition: var(--corp-transition);
}

.corp-theme-button:hover,
.corp-theme-button.active {
    color: var(--corp-primary);
    background: var(--corp-surface);
}

.corp-rtl-button {
    color: var(--corp-primary);
    background: var(--corp-soft);
    font-weight: 800;
}

.corp-rtl-button:hover {
    background: var(--corp-accent);
}


/* =========================================================
   MOBILE CONTROLS
========================================================= */

.corp-mobile-controls {
    display: none;
}


/* =========================================================
   MOBILE MENU
========================================================= */

.corp-mobile-menu {
    display: none;

    width: 42px;
    height: 42px;

    place-items: center;

    color: #fff;
    background: var(--corp-primary);

    border-radius: 9px;
}

.corp-menu-close {
    display: none;
}

.corp-mobile-menu.active .corp-menu-open {
    display: none;
}

.corp-mobile-menu.active .corp-menu-close {
    display: inline-block;
}


/* =========================================================
   MOBILE NAVIGATION
========================================================= */

.corp-mobile-navigation,
.corp-mobile-overlay {
    display: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1180px) {

    .corp-header-inner {
        gap: 14px;
    }

    .corp-nav-link {
        padding: 0 7px;
    }

    .corp-header-button {
        padding: 0 11px;
    }

    .corp-login > span:last-child {
        display: none;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:992px) {

    .corp-header-inner {
        width: calc(100% - 30px);
        min-height: 72px;
        gap: 9px;
    }

    .corp-nav,
    .corp-header-actions {
        display: none;
    }


    /* MOBILE THEME CONTROLS */

    .corp-mobile-controls {
        margin-left: auto;

        display: flex;
        align-items: center;
        gap: 3px;

        padding: 3px;

        background: var(--corp-soft);
        border-radius: 8px;
    }

    .corp-mobile-control,
    .corp-mobile-rtl {
        width: 29px;
        height: 29px;

        display: grid;
        place-items: center;

        color: var(--corp-muted);
        background: transparent;

        border-radius: 6px;

        font-size: 10px;
        font-weight: 700;

        transition: var(--corp-transition);
    }

    .corp-mobile-control:hover,
    .corp-mobile-control.active {
        color: var(--corp-primary);
        background: var(--corp-surface);
    }

    .corp-mobile-rtl {
        color: var(--corp-primary);
        background: transparent;
    }

    .corp-mobile-rtl:hover {
        color: var(--corp-primary);
        background: var(--corp-accent);
    }


    /* MOBILE BUTTON */

    .corp-mobile-menu {
        display: grid;

        position: relative;
        z-index: 1101;
    }


    /* MOBILE PANEL */

    .corp-mobile-navigation {
        position: fixed;
        top: 72px;
        left: 0;

        width: 100%;
        max-height: calc(100vh - 72px);

        overflow-y: auto;

        display: block;

        background: var(--corp-surface);
        border-top: 1px solid var(--corp-line);

        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px);

        transition: var(--corp-transition);

        z-index: 1100;
    }

    .corp-mobile-navigation.active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .corp-mobile-navigation-inner {
        width: min(100% - 30px, 600px);
        margin: auto;
        padding: 18px 0 24px;
    }


    /* OVERLAY */

    .corp-mobile-overlay {
        position: fixed;
        inset: 72px 0 0;

        display: block;

        background: rgba(10,25,40,.35);

        opacity: 0;
        visibility: hidden;

        transition: var(--corp-transition);

        z-index: 1090;
    }

    .corp-mobile-overlay.active {
        opacity: 1;
        visibility: visible;
    }


    /* MOBILE LINKS */

    .corp-mobile-home-button,
    .corp-mobile-link {
        width: 100%;
        min-height: 55px;

        display: flex;
        align-items: center;

        color: var(--corp-text);
        background: transparent;

        border-bottom: 1px solid var(--corp-line);

        font-size: 14px;
        font-weight: 600;
    }

    .corp-mobile-home-button {
        justify-content: space-between;
    }

    .corp-mobile-home-button > span {
        display: flex;
        align-items: center;
        gap: 14px;
    }

    .corp-mobile-home-button small,
    .corp-mobile-link > span {
        width: 28px;

        color: var(--corp-accent);

        font-size: 10px;
        font-weight: 800;
    }

    .corp-mobile-home-button > i {
        font-size: 10px;
        transition: var(--corp-transition);
    }

    .corp-mobile-home.open .corp-mobile-home-button > i {
        transform: rotate(180deg);
    }


    /* HOME DROPDOWN */

    .corp-mobile-home-dropdown {
        max-height: 0;
        overflow: hidden;

        opacity: 0;

        transition: max-height .3s ease, opacity .2s ease;
    }

    .corp-mobile-home.open .corp-mobile-home-dropdown {
        max-height: 180px;
        opacity: 1;
    }

    .corp-mobile-home-option {
        min-height: 30px;
        padding: 9px 10px 9px 2px;

        display: grid;
        grid-template-columns: 28px 1fr 20px;
        align-items: center;
        gap: 10px;

        border-bottom: 1px solid var(--corp-line);
    }

    .corp-mobile-home-option > span {
        color: var(--corp-accent);
        font-size: 10px;
        font-weight: 800;
    }

    .corp-mobile-home-option div {
        display: flex;
        flex-direction: column;
        gap: 3px;
    }

    .corp-mobile-home-option strong {
        color: var(--corp-text);
        font-size: 12px;
    }

    .corp-mobile-home-option small {
        color: var(--corp-muted);
        font-size: 10px;
    }

    .corp-mobile-home-option > i {
        color: var(--corp-accent);
        font-size: 10px;
    }


    /* MOBILE LOGIN */

    .corp-mobile-login {
        min-height: 50px;
        margin-top: 18px;
        padding: 0 16px;

        display: flex;
        align-items: center;
        justify-content: space-between;

        color: #fff;
        background: var(--corp-primary);

        border-radius: 8px;

        font-size: 12px;
        font-weight: 700;
    }

    .corp-mobile-login span {
        display: flex;
        align-items: center;
        gap: 9px;
    }

    .corp-mobile-login:hover {
        color: var(--corp-primary);
        background: var(--corp-accent);
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:480px) {

    .corp-header-inner {
        width: calc(100% - 20px);
    }

    .corp-logo {
        gap: 8px;
    }

    .corp-logo-mark {
        width: 38px;
        height: 38px;
    }

    .corp-logo-text strong {
        font-size: 15px;
    }

    .corp-logo-text small {
        font-size: 6px;
        letter-spacing: 1px;
    }

    .corp-mobile-controls {
        gap: 2px;
    }

    .corp-mobile-control,
    .corp-mobile-rtl {
        width: 27px;
        height: 27px;
    }

    .corp-mobile-menu {
        width: 39px;
        height: 39px;
    }
}


/* =====================================================
   FOOTER
====================================================== */

.corp-footer {
    background: var(--corp-surface);
    color: var(--corp-text);
    border-top: 1px solid var(--corp-line);
}

.corp-footer-main {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 70px 24px 55px;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.15fr;
    gap: 50px;
}


/* =========================================
   FOOTER BRAND
========================================= */

.corp-footer-brand {
    max-width: 350px;
}

.corp-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--corp-text);
    text-decoration: none;
}

.corp-footer-logo-mark {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    background: var(--corp-primary);
    color: var(--corp-white);
    border-radius: 10px;
    font-size: 17px;
    transition: var(--corp-transition);
}

.corp-footer-logo:hover .corp-footer-logo-mark {
    background: var(--corp-accent);
    color: var(--corp-text);
}

.corp-footer-logo-text {
    display: flex;
    flex-direction: column;
}

.corp-footer-logo-text strong {
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.1;
}

.corp-footer-logo-text small {
    margin-top: 4px;
    color: var(--corp-muted);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .7px;
}

.corp-footer-brand p {
    margin: 23px 0 25px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =========================================
   SOCIAL LINKS
========================================= */

.corp-footer-socials {
    display: flex;
    align-items: center;
    gap: 8px;
}

.corp-footer-socials a {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: var(--corp-muted);
    background: transparent;
    border: 1px solid var(--corp-line);
    border-radius: 8px;
    font-size: 12px;
    text-decoration: none;
    transition: var(--corp-transition);
}

.corp-footer-socials a:hover {
    color: var(--corp-white);
    background: var(--corp-primary);
    border-color: var(--corp-primary);
}


/* =========================================
   FOOTER COLUMNS
========================================= */

.corp-footer-label {
    display: block;
    margin-bottom: 12px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.corp-footer-column h3 {
    margin: 0 0 19px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 19px;
    font-weight: 700;
}

.corp-footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.corp-footer-column li + li {
    margin-top: 11px;
}

.corp-footer-column li a {
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
    transition: var(--corp-transition);
}

.corp-footer-column li a:hover {
    color: var(--corp-primary);
}


/* =========================================
   CONTACT
========================================= */

.corp-footer-contact > a {
    display: block;
    margin-bottom: 11px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
    transition: var(--corp-transition);
}

.corp-footer-contact > a:hover {
    color: var(--corp-primary);
}

.corp-footer-location {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    color: var(--corp-muted);
    font-size: 13px;
}

.corp-footer-location i {
    color: var(--corp-accent);
    font-size: 12px;
}

.corp-footer-login {
    display: inline-flex !important;
    align-items: center;
    gap: 9px;
    margin-top: 19px !important;
}

.corp-footer-login i {
    font-size: 10px;
    transition: transform .25s ease;
}

.corp-footer-login:hover i {
    transform: translateX(4px);
}


/* =========================================
   FOOTER BOTTOM
========================================= */

.corp-footer-bottom {
    max-width: 1280px;
    margin: 0 auto;
    padding: 19px 24px;
    border-top: 1px solid var(--corp-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.corp-footer-bottom p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 11px;
}

.corp-footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 22px;
}

.corp-footer-bottom-links a {
    color: var(--corp-muted);
    font-size: 11px;
    text-decoration: none;
    transition: var(--corp-transition);
}

.corp-footer-bottom-links a:hover {
    color: var(--corp-primary);
}

.corp-footer-tag {
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
}


/* =========================================
   FOOTER RESPONSIVE
========================================= */

@media (max-width: 992px) {

    .corp-footer-main {
        grid-template-columns: 1.2fr 1fr 1fr;
        gap: 40px 30px;
    }

    .corp-footer-brand {
        grid-column: 1 / -1;
        max-width: 560px;
    }
}


@media (max-width: 768px) {

    .corp-footer-main {
        grid-template-columns: 1fr 1fr;
        padding: 55px 20px 42px;
        gap: 38px 25px;
    }

    .corp-footer-brand {
        grid-column: 1 / -1;
    }

    .corp-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        padding: 18px 20px;
    }
}


@media (max-width: 480px) {

    .corp-footer-main {
        grid-template-columns: 1fr;
        padding: 45px 15px 35px;
        gap: 32px;
    }

    .corp-footer-brand {
        grid-column: auto;
    }

    .corp-footer-bottom {
        padding: 17px 15px;
    }

    .corp-footer-bottom-links {
        flex-wrap: wrap;
        gap: 9px 18px;
    }
}

/* =====================================================
   HOME BANNER
====================================================== */

.corp-home-banner {
    position: relative;
    width: 100%;
    min-height: 720px;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-home-banner-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 46%;
    height: 100%;
    background:
        linear-gradient(
            135deg,
            transparent 20%,
            rgba(214,166,66,.08) 100%
        );
    pointer-events: none;
}

.corp-home-banner-inner {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    min-height: 720px;
    margin: 0 auto;
    padding: 80px 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 65px;
}


/* =========================================
   CONTENT
========================================= */

.corp-home-banner-content {
    max-width: 600px;
}

.corp-home-banner-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
    animation: corpBannerFadeUp .7s ease both;
}

.corp-home-banner-eyebrow i {
    font-size: 11px;
}

.corp-home-banner-content h1 {
    max-width: 590px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(46px, 5vw, 72px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -2.5px;
    animation: corpBannerFadeUp .8s .1s ease both;
}

.corp-home-banner-content h1 span {
    display: block;
    color: var(--corp-primary);
}

.corp-home-banner-content p {
    max-width: 535px;
    margin: 25px 0 30px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
    animation: corpBannerFadeUp .8s .2s ease both;
}


/* =========================================
   BUTTONS
========================================= */

.corp-home-banner-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    animation: corpBannerFadeUp .8s .3s ease both;
}

.corp-home-banner-primary,
.corp-home-banner-secondary {
    min-height: 48px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--corp-transition);
}

.corp-home-banner-primary {
    color: var(--corp-white);
    background: var(--corp-primary);
}

.corp-home-banner-primary:hover {
    background: var(--corp-accent);
    color: #17283a;
    transform: translateY(-2px);
}

.corp-home-banner-primary i {
    font-size: 10px;
    transition: transform .25s ease;
}

.corp-home-banner-primary:hover i {
    transform: translateX(4px);
}

.corp-home-banner-secondary {
    color: var(--corp-text);
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
}

.corp-home-banner-secondary:hover {
    color: var(--corp-primary);
    border-color: var(--corp-primary);
}


/* =========================================
   TRUST STATS
========================================= */

.corp-home-banner-trust {
    margin-top: 45px;
    display: flex;
    align-items: center;
    gap: 22px;
    animation: corpBannerFadeUp .8s .4s ease both;
}

.corp-home-banner-trust-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.corp-home-banner-trust-item strong {
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 20px;
    font-weight: 800;
}

.corp-home-banner-trust-item span {
    color: var(--corp-muted);
    font-size: 10px;
    font-weight: 400;
}

.corp-home-banner-trust-line {
    width: 1px;
    height: 30px;
    background: var(--corp-line);
}


/* =========================================
   RIGHT VISUAL
========================================= */

.corp-home-banner-visual {
    position: relative;
    min-height: 540px;
    animation: corpBannerVisual .9s .15s ease both;
}

.corp-home-banner-image-wrap {
    position: absolute;
    inset: 25px 15px 25px 45px;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: var(--corp-shadow);
}

.corp-home-banner-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-home-banner-image-wrap:hover img {
    transform: scale(1.04);
}

.corp-home-banner-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 45%,
        rgba(15,28,42,.28)
    );
}

/* =========================================
   FLOATING CARDS
========================================= */

.corp-home-banner-float {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    border-radius: 11px;
    box-shadow: var(--corp-shadow);
}


/* =========================================
   TOP CARD
========================================= */

.corp-home-banner-float-top {
    top: 0;
    left: 0;
    animation:
        corpBannerFloat 4s ease-in-out infinite,
        corpBannerCardIn .8s .55s ease both;
}


/* =========================================
   NEXT BATCH CARD
========================================= */

.corp-home-banner-float-bottom {
    right: -5px;
    bottom: 5px;
    gap: 13px;
    animation:
        corpBannerFloat 4.5s .4s ease-in-out infinite,
        corpBannerCardIn .8s .7s ease both;
}


/* =========================================
   ICON BOX
========================================= */

.corp-home-banner-float-icon,
.corp-home-banner-batch-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    flex: 0 0 40px;

    display: grid !important;
    place-items: center;

    color: #17283a;
    background: var(--corp-accent);
    border-radius: 9px;
    font-size: 14px;
}


/* =========================================
   CONTENT ONLY
========================================= */

.corp-home-banner-float-top > div:last-child,
.corp-home-banner-float-bottom > div:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    min-width: 0;
}


/* =========================================
   TEXT
========================================= */

.corp-home-banner-float small {
    display: block;
    margin: 0;
    color: var(--corp-muted);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
}

.corp-home-banner-float strong {
    display: block;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

.corp-home-banner-float-bottom span {
    display: block;
    margin: 0;
    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 400;
    line-height: 1.3;
}




/* =========================================
   NUMBER
========================================= */

.corp-home-banner-number {
    position: absolute;
    right: -2px;
    top: 50%;
    color: var(--corp-line);
    font-family: "Manrope", sans-serif;
    font-size: 76px;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-50%) rotate(90deg);
    pointer-events: none;
}


/* =========================================
   ANIMATIONS
========================================= */

@keyframes corpBannerFadeUp {

    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpBannerVisual {

    from {
        opacity: 0;
        transform: translateX(45px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpBannerCardIn {

    from {
        opacity: 0;
        transform: scale(.9) translateY(20px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }

}

@keyframes corpBannerFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }

}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 992px) {

    .corp-home-banner {
        min-height: auto;
    }

    .corp-home-banner-inner {
        min-height: auto;
        padding: 75px 24px;
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .corp-home-banner-content {
        max-width: 700px;
    }

    .corp-home-banner-content h1 {
        max-width: 650px;
    }

    .corp-home-banner-visual {
        width: 100%;
        max-width: 650px;
        min-height: 500px;
        margin: 0 auto;
    }

}


@media (max-width: 768px) {

    .corp-home-banner-inner {
        padding: 60px 20px;
        gap: 50px;
    }

    .corp-home-banner-content h1 {
        font-size: clamp(40px, 9vw, 58px);
        letter-spacing: -1.8px;
    }

    .corp-home-banner-trust {
        margin-top: 35px;
        gap: 14px;
    }

    .corp-home-banner-trust-item strong {
        font-size: 17px;
    }

    .corp-home-banner-trust-item span {
        font-size: 9px;
    }

    .corp-home-banner-visual {
        min-height: 440px;
    }

    .corp-home-banner-image-wrap {
        inset: 25px 10px 25px 25px;
    }

    .corp-home-banner-number {
        display: none;
    }

}


@media (max-width: 480px) {

    .corp-home-banner-inner {
        padding: 50px 15px;
    }

    .corp-home-banner-content h1 {
        font-size: 39px;
        line-height: 1.08;
    }

    .corp-home-banner-content p {
        margin: 20px 0 25px;
    }

    .corp-home-banner-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .corp-home-banner-primary,
    .corp-home-banner-secondary {
        width: 100%;
    }

    .corp-home-banner-trust {
        gap: 10px;
        justify-content: space-between;
    }

    .corp-home-banner-trust-line {
        height: 25px;
    }

    .corp-home-banner-trust-item span {
        max-width: 70px;
        line-height: 1.4;
    }

    .corp-home-banner-visual {
        min-height: 360px;
    }

    .corp-home-banner-image-wrap {
        inset: 20px 0 20px 15px;
        border-radius: 12px;
    }

    .corp-home-banner-float {
        padding: 10px;
        gap: 8px;
    }

    .corp-home-banner-float-top {
        left: 0;
    }

    .corp-home-banner-float-bottom {
        right: 0;
    }

    .corp-home-banner-float-icon,
    .corp-home-banner-batch-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        font-size: 12px;
    }

}

/* =====================================================
   HOME TRAINING AREAS
   PREMIUM NUMBERED PANEL DESIGN
====================================================== */

.corp-training-section {
    position: relative;
    width: 100%;
    padding: 110px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-training-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP CONTENT
====================================================== */

.corp-training-top {
    display: grid;
    grid-template-columns: 1fr .65fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 65px;
}


/* =====================================================
   EYEBROW
====================================================== */

.corp-training-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-training-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   HEADING
====================================================== */

.corp-training-heading h2 {
    max-width: 600px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 45px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1px;
}

.corp-training-heading h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =====================================================
   INTRO
====================================================== */

.corp-training-intro {
    max-width: 360px;
}

.corp-training-intro p {
    margin: 0 0 25px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   HOME BANNER BUTTON
====================================================== */

.corp-training-intro .corp-home-banner-primary {
    display: inline-flex;
}


/* =====================================================
   PANELS GRID
====================================================== */

.corp-training-panels {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid var(--corp-line);
    border-left: 1px solid var(--corp-line);
}


/* =====================================================
   TRAINING PANEL
====================================================== */

.corp-training-panel {
    position: relative;
    min-height: 285px;
    padding: 28px 30px 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: inherit;
    text-decoration: none;
    border-right: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
    overflow: hidden;
    transition:
        background .35s ease,
        transform .35s ease,
        border-color .35s ease;
    animation: corpTrainingPanelIn .7s ease both;
}

.corp-training-panel:nth-child(1) {
    animation-delay: .08s;
}

.corp-training-panel:nth-child(2) {
    animation-delay: .16s;
}

.corp-training-panel:nth-child(3) {
    animation-delay: .24s;
}

.corp-training-panel:nth-child(4) {
    animation-delay: .32s;
}


/* =====================================================
   NUMBER
====================================================== */

.corp-training-panel-number {
    color: #9aa6b3;
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    transition: color .3s ease;
}


/* =====================================================
   PANEL MAIN
====================================================== */

.corp-training-panel-main {
    display: flex;
    align-items: flex-end;
    gap: 24px;
    margin-top: 35px;
}


/* =====================================================
   ICON
====================================================== */

.corp-training-panel-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 10px;
    font-size: 17px;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}


/* =====================================================
   TITLE
====================================================== */

.corp-training-panel-title span {
    display: block;
    margin-bottom: 8px;
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.3px;
}

.corp-training-panel-title h3 {
    max-width: 300px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.18;
}


/* =====================================================
   PANEL INFO
====================================================== */

.corp-training-panel-info {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-top: 30px;
}

.corp-training-panel-info p {
    max-width: 370px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.65;
}


/* =====================================================
   PANEL ARROW
====================================================== */

.corp-training-panel-info > i {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    border: 1px solid var(--corp-line);
    border-radius: 50%;
    font-size: 9px;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}


/* =====================================================
   HOVER
====================================================== */

.corp-training-panel:hover {
    background: var(--corp-primary);
}

.corp-training-panel:hover .corp-training-panel-number {
    color: rgba(255,255,255,.5);
}

.corp-training-panel:hover .corp-training-panel-icon {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: translateY(-4px);
}

.corp-training-panel:hover .corp-training-panel-title span {
    color: var(--corp-accent);
}

.corp-training-panel:hover .corp-training-panel-title h3 {
    color: #ffffff;
}

.corp-training-panel:hover .corp-training-panel-info p {
    color: rgba(255,255,255,.65);
}

.corp-training-panel:hover .corp-training-panel-info > i {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: rotate(45deg);
}


/* =====================================================
   ENTRANCE ANIMATION
====================================================== */

@keyframes corpTrainingPanelIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-training-section {
        padding: 90px 0;
    }

    .corp-training-top {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 50px;
    }

    .corp-training-heading h2 {
        font-size: 39px;
    }

    .corp-training-intro {
        max-width: 550px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-training-section {
        padding: 75px 0;
    }

    .corp-training-container {
        width: calc(100% - 30px);
    }

    .corp-training-heading h2 {
        font-size: 32px;
    }

    .corp-training-panels {
        grid-template-columns: 1fr;
    }

    .corp-training-panel {
        min-height: 270px;
        padding: 24px;
    }

    .corp-training-panel-main {
        gap: 17px;
        margin-top: 30px;
    }

    .corp-training-panel-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        font-size: 15px;
    }

    .corp-training-panel-title h3 {
        font-size: 21px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-training-section {
        padding: 65px 0;
    }

    .corp-training-heading h2 {
        font-size: 28px;
    }

    .corp-training-panel {
        min-height: 255px;
        padding: 21px;
    }

    .corp-training-panel-main {
        gap: 13px;
    }

    .corp-training-panel-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        font-size: 13px;
    }

    .corp-training-panel-title h3 {
        font-size: 18px;
    }

    .corp-training-panel-info p {
        font-size: 12px;
    }

}


/* =====================================================
   EXTRA SMALL
====================================================== */

@media (max-width: 360px) {

    .corp-training-heading h2 {
        font-size: 25px;
    }

    .corp-training-panel {
        min-height: 245px;
        padding: 19px;
    }

}

/* =====================================================
   HOME LEARNING IMPACT
====================================================== */

.corp-impact-section {
    position: relative;
    width: 100%;
    padding: 110px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-impact-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP
====================================================== */

.corp-impact-top {
    display: grid;
    grid-template-columns: 1fr .65fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 60px;
    animation: corpImpactTopIn .8s ease both;
}

.corp-impact-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-impact-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-impact-heading h2 {
    max-width: 650px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 45px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1px;
}

.corp-impact-heading h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-impact-intro {
    max-width: 365px;
}

.corp-impact-intro p {
    margin: 0 0 25px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   FEATURE
====================================================== */

.corp-impact-feature {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    min-height: 570px;
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    animation: corpImpactFeatureIn .9s .15s ease both;
}


/* =====================================================
   IMAGE
====================================================== */

.corp-impact-image {
    position: relative;
    min-height: 570px;
    overflow: hidden;
}

.corp-impact-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(24,40,58,.55),
        transparent 45%
    );
    pointer-events: none;
}

.corp-impact-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-impact-feature:hover .corp-impact-image img {
    transform: scale(1.04);
}


/* =====================================================
   IMAGE LABEL
====================================================== */

.corp-impact-image-label {
    position: absolute;
    left: 28px;
    bottom: 28px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
}

.corp-impact-image-label span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
}

.corp-impact-image-label strong {
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-impact-content {
    padding: 60px 55px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.corp-impact-content-number {
    margin-bottom: 16px;
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-impact-content h3 {
    max-width: 390px;
    margin: 0 0 20px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 31px;
    font-weight: 800;
    line-height: 1.18;
}

.corp-impact-content > p {
    max-width: 450px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   IMPACT POINTS
====================================================== */

.corp-impact-points {
    margin-top: 38px;
    border-top: 1px solid var(--corp-line);
}

.corp-impact-point {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid var(--corp-line);
}

.corp-impact-point-number {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
}

.corp-impact-point h4 {
    margin: 0 0 5px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.corp-impact-point p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
}


/* =====================================================
   ANIMATION
====================================================== */

@keyframes corpImpactTopIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpImpactFeatureIn {

    from {
        opacity: 0;
        transform: translateY(45px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-impact-section {
        padding: 90px 0;
    }

    .corp-impact-top {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 50px;
    }

    .corp-impact-heading h2 {
        font-size: 39px;
    }

    .corp-impact-intro {
        max-width: 550px;
    }

    .corp-impact-feature {
        grid-template-columns: 1fr;
    }

    .corp-impact-image {
        min-height: 430px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-impact-section {
        padding: 75px 0;
    }

    .corp-impact-container {
        width: calc(100% - 30px);
    }

    .corp-impact-heading h2 {
        font-size: 32px;
    }

    .corp-impact-feature {
        min-height: auto;
    }

    .corp-impact-image {
        min-height: 350px;
    }

    .corp-impact-content {
        padding: 40px 25px;
    }

    .corp-impact-content h3 {
        font-size: 27px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-impact-section {
        padding: 65px 0;
    }

    .corp-impact-heading h2 {
        font-size: 28px;
    }

    .corp-impact-image {
        min-height: 290px;
    }

    .corp-impact-image-label {
        left: 20px;
        bottom: 20px;
    }

    .corp-impact-content {
        padding: 32px 20px;
    }

    .corp-impact-content h3 {
        font-size: 23px;
    }

    .corp-impact-point {
        grid-template-columns: 30px 1fr;
        gap: 12px;
    }

}

/* =====================================================
   HOME LEARNING PROCESS
====================================================== */

.corp-process-section {
    position: relative;
    width: 100%;
    padding: 110px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-process-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-process-header {
    display: grid;
    grid-template-columns: 1fr .7fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 60px;
    animation: corpProcessHeaderIn .8s ease both;
}

.corp-process-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-process-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-process-header h2 {
    max-width: 620px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 45px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1px;
}

.corp-process-header h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-process-header > p {
    max-width: 390px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   FEATURE
====================================================== */

.corp-process-feature {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    min-height: 590px;
    background: var(--corp-bg);
    border: 1px solid var(--corp-line);
    animation: corpProcessFeatureIn .9s .12s ease both;
}


/* =====================================================
   IMAGE
====================================================== */

.corp-process-image {
    position: relative;
    min-height: 590px;
    overflow: hidden;
}

.corp-process-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(24,40,58,.55),
        transparent 48%
    );
}

.corp-process-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-process-feature:hover .corp-process-image img {
    transform: scale(1.04);
}


/* =====================================================
   IMAGE NUMBER
====================================================== */

.corp-process-image-number {
    position: absolute;
    right: 28px;
    bottom: 28px;
    z-index: 2;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 50%;
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 800;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-process-content {
    position: relative;
    padding: 55px 65px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* =====================================================
   VERTICAL LINE
====================================================== */

.corp-process-line {
    position: absolute;
    top: 72px;
    bottom: 72px;
    left: 91px;
    width: 1px;
    background: var(--corp-line);
}


/* =====================================================
   STEP
====================================================== */

.corp-process-step {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 25px;
    margin-bottom: 38px;
    animation: corpProcessStepIn .7s ease both;
}

.corp-process-step:nth-child(2) {
    animation-delay: .15s;
}

.corp-process-step:nth-child(3) {
    animation-delay: .28s;
}

.corp-process-step:nth-child(4) {
    animation-delay: .41s;
}

.corp-process-step:last-child {
    margin-bottom: 0;
}


/* =====================================================
   STEP NUMBER
====================================================== */

.corp-process-step-number {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    border-radius: 50%;
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}


/* =====================================================
   STEP CONTENT
====================================================== */

.corp-process-step-content > span {
    display: block;
    margin-bottom: 8px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-process-step-content h3 {
    max-width: 390px;
    margin: 0 0 9px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.25;
}

.corp-process-step-content p {
    max-width: 430px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   STEP HOVER
====================================================== */

.corp-process-step:hover .corp-process-step-number {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: scale(1.06);
}


/* =====================================================
   ANIMATION
====================================================== */

@keyframes corpProcessHeaderIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpProcessFeatureIn {

    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpProcessStepIn {

    from {
        opacity: 0;
        transform: translateX(25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-process-section {
        padding: 90px 0;
    }

    .corp-process-header {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 50px;
    }

    .corp-process-header h2 {
        font-size: 39px;
    }

    .corp-process-header > p {
        max-width: 560px;
    }

    .corp-process-feature {
        grid-template-columns: 1fr;
    }

    .corp-process-image {
        min-height: 430px;
    }

    .corp-process-content {
        padding: 50px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-process-section {
        padding: 75px 0;
    }

    .corp-process-container {
        width: calc(100% - 30px);
    }

    .corp-process-header h2 {
        font-size: 32px;
    }

    .corp-process-image {
        min-height: 350px;
    }

    .corp-process-content {
        padding: 40px 25px;
    }

    .corp-process-line {
        left: 50px;
        top: 55px;
        bottom: 55px;
    }

    .corp-process-step {
        grid-template-columns: 46px 1fr;
        gap: 18px;
    }

    .corp-process-step-number {
        width: 46px;
        height: 46px;
    }

    .corp-process-step-content h3 {
        font-size: 19px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-process-section {
        padding: 65px 0;
    }

    .corp-process-header h2 {
        font-size: 28px;
    }

    .corp-process-image {
        min-height: 290px;
    }

    .corp-process-image-number {
        right: 20px;
        bottom: 20px;
        width: 50px;
        height: 50px;
    }

    .corp-process-content {
        padding: 32px 20px;
    }

    .corp-process-line {
        left: 43px;
        top: 45px;
        bottom: 45px;
    }

    .corp-process-step {
        grid-template-columns: 42px 1fr;
        gap: 14px;
        margin-bottom: 30px;
    }

    .corp-process-step-number {
        width: 42px;
        height: 42px;
        font-size: 10px;
    }

    .corp-process-step-content h3 {
        font-size: 17px;
    }

    .corp-process-step-content p {
        font-size: 12px;
    }

}

/* =====================================================
   HOME CLIENT VOICES
====================================================== */

.corp-voices-section {
    position: relative;
    width: 100%;
    padding: 110px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-voices-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   INTRO
====================================================== */

.corp-voices-intro {
    margin-bottom: 55px;
    animation: corpVoicesIntroIn .8s ease both;
}

.corp-voices-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-voices-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-voices-intro h2 {
    max-width: 700px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 45px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1px;
}

.corp-voices-intro h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =====================================================
   FEATURE
====================================================== */

.corp-voices-feature {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    min-height: 560px;
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    animation: corpVoicesFeatureIn .9s .12s ease both;
}


/* =====================================================
   VISUAL
====================================================== */

.corp-voices-visual {
    position: relative;
    min-height: 560px;
    overflow: hidden;
}

.corp-voices-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(24,40,58,.55),
        transparent 55%
    );
}

.corp-voices-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-voices-feature:hover .corp-voices-visual img {
    transform: scale(1.04);
}


/* =====================================================
   BADGE
====================================================== */

.corp-voices-badge {
    position: absolute;
    left: 28px;
    bottom: 28px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 15px;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(8px);
}

.corp-voices-badge i {
    color: var(--corp-primary);
    font-size: 15px;
}

.corp-voices-badge span {
    display: flex;
    flex-direction: column;
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
}

.corp-voices-badge strong {
    color: var(--corp-accent);
    font-size: 9px;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-voices-content {
    position: relative;
    padding: 65px 70px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.corp-voices-quote-mark {
    width: 48px;
    height: 48px;
    margin-bottom: 25px;
    display: grid;
    place-items: center;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 50%;
    font-size: 15px;
}

.corp-voices-content blockquote {
    max-width: 570px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 31px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.5px;
}

.corp-voices-divider {
    width: 100%;
    max-width: 500px;
    height: 1px;
    margin: 38px 0 25px;
    background: var(--corp-line);
}


/* =====================================================
   PERSON
====================================================== */

.corp-voices-person {
    display: flex;
    align-items: center;
    gap: 15px;
}

.corp-voices-avatar {
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    display: grid;
    place-items: center;
    color: #ffffff;
    background: var(--corp-primary);
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
}

.corp-voices-person strong {
    display: block;
    margin-bottom: 3px;
    color: var(--corp-text);
    font-size: 13px;
    font-weight: 700;
}

.corp-voices-person span {
    display: block;
    color: var(--corp-muted);
    font-size: 11px;
    font-weight: 400;
}


/* =====================================================
   INDEX
====================================================== */

.corp-voices-index {
    position: absolute;
    right: 40px;
    bottom: 35px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #9aa6b3;
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 700;
}

.corp-voices-index-active {
    color: var(--corp-primary);
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-voices-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 28px;
    animation: corpVoicesBottomIn .8s .3s ease both;
}

.corp-voices-bottom > span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.3px;
}

.corp-voices-bottom > span i {
    color: var(--corp-accent);
}

.corp-voices-bottom p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
}


/* =====================================================
   ANIMATION
====================================================== */

@keyframes corpVoicesIntroIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpVoicesFeatureIn {

    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpVoicesBottomIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-voices-section {
        padding: 90px 0;
    }

    .corp-voices-intro h2 {
        font-size: 39px;
    }

    .corp-voices-feature {
        grid-template-columns: 1fr;
    }

    .corp-voices-visual {
        min-height: 430px;
    }

    .corp-voices-content {
        min-height: 450px;
        padding: 55px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-voices-section {
        padding: 75px 0;
    }

    .corp-voices-container {
        width: calc(100% - 30px);
    }

    .corp-voices-intro {
        margin-bottom: 40px;
    }

    .corp-voices-intro h2 {
        font-size: 32px;
    }

    .corp-voices-visual {
        min-height: 350px;
    }

    .corp-voices-content {
        min-height: auto;
        padding: 40px 25px 70px;
    }

    .corp-voices-content blockquote {
        font-size: 25px;
    }

    .corp-voices-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-voices-section {
        padding: 65px 0;
    }

    .corp-voices-intro h2 {
        font-size: 28px;
    }

    .corp-voices-visual {
        min-height: 290px;
    }

    .corp-voices-badge {
        left: 20px;
        bottom: 20px;
    }

    .corp-voices-content {
        padding: 32px 20px 65px;
    }

    .corp-voices-quote-mark {
        width: 42px;
        height: 42px;
        font-size: 13px;
    }

    .corp-voices-content blockquote {
        font-size: 21px;
    }

    .corp-voices-divider {
        margin: 30px 0 22px;
    }

    .corp-voices-index {
        right: 20px;
        bottom: 25px;
    }

}

/* =====================================================
   HOME LEARNING IN ACTION
====================================================== */

.corp-learning-section {
    position: relative;
    width: 100%;
    padding: 115px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-learning-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-learning-header {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 90px;
    align-items: end;
    margin-bottom: 60px;
    animation: corpLearningHeaderIn .8s ease both;
}

.corp-learning-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-learning-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-learning-title h2 {
    max-width: 700px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 45px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1px;
}

.corp-learning-title h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-learning-header-text {
    max-width: 390px;
}

.corp-learning-header-text p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   GALLERY
====================================================== */

.corp-learning-gallery {
    position: relative;
    display: grid;
    grid-template-columns: .82fr 1.25fr .82fr;
    grid-template-rows: 255px 255px;
    gap: 14px;
    animation: corpLearningGalleryIn .9s .12s ease both;
}


/* =====================================================
   IMAGE COMMON
====================================================== */

.corp-learning-image,
.corp-learning-main-image {
    position: relative;
    overflow: hidden;
}

.corp-learning-image img,
.corp-learning-main-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-learning-image:hover img,
.corp-learning-main-image:hover img {
    transform: scale(1.06);
}


/* =====================================================
   IMAGE POSITIONS
====================================================== */

.corp-learning-image-one {
    grid-column: 1;
    grid-row: 1;
}

.corp-learning-main-image {
    grid-column: 2;
    grid-row: 1 / 3;
}

.corp-learning-image-two {
    grid-column: 3;
    grid-row: 1;
}

.corp-learning-image-three {
    grid-column: 1;
    grid-row: 2;
}

.corp-learning-image-four {
    grid-column: 3;
    grid-row: 2;
}


/* =====================================================
   IMAGE TAG
====================================================== */

.corp-learning-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(24,40,58,.55),
        transparent 55%
    );
    pointer-events: none;
}

.corp-learning-image > span {
    position: absolute;
    left: 18px;
    bottom: 17px;
    z-index: 2;
    color: #ffffff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.4px;
}


/* =====================================================
   MAIN IMAGE
====================================================== */

.corp-learning-main-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(24,40,58,.78),
        rgba(24,40,58,.05) 65%
    );
    pointer-events: none;
}

.corp-learning-main-overlay {
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 30px;
    z-index: 2;
}

.corp-learning-main-overlay span {
    display: block;
    margin-bottom: 9px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-learning-main-overlay h3 {
    max-width: 420px;
    margin: 0;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.15;
}


/* =====================================================
   FLOATING STAT
====================================================== */

.corp-learning-stat {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 5;
    width: 105px;
    height: 105px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 50%;
    text-align: center;
    transform: translate(-50%, -50%);
    box-shadow: 0 15px 35px rgba(24,40,58,.18);
    animation: corpLearningFloat 3s ease-in-out infinite;
}

.corp-learning-stat strong {
    font-family: "Manrope", sans-serif;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}

.corp-learning-stat span {
    font-size: 8px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .7px;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-learning-bottom {
    display: grid;
    grid-template-columns: 1fr 1.8fr auto;
    gap: 30px;
    align-items: center;
    padding-top: 35px;
    animation: corpLearningBottomIn .8s .3s ease both;
}

.corp-learning-bottom-line {
    width: 100%;
    height: 1px;
    background: var(--corp-accent);
}

.corp-learning-bottom p {
    max-width: 570px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
}

.corp-learning-bottom .corp-home-banner-primary {
    white-space: nowrap;
}


/* =====================================================
   ANIMATION
====================================================== */

@keyframes corpLearningHeaderIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpLearningGalleryIn {

    from {
        opacity: 0;
        transform: translateY(45px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpLearningBottomIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpLearningFloat {

    0%,
    100% {
        transform: translate(-50%, -50%);
    }

    50% {
        transform: translate(-50%, calc(-50% - 8px));
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-learning-section {
        padding: 90px 0;
    }

    .corp-learning-header {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 50px;
    }

    .corp-learning-title h2 {
        font-size: 39px;
    }

    .corp-learning-header-text {
        max-width: 560px;
    }

    .corp-learning-gallery {
        grid-template-columns: 1fr 1.4fr;
        grid-template-rows: 230px 230px 230px;
    }

    .corp-learning-image-one {
        grid-column: 1;
        grid-row: 1;
    }

    .corp-learning-main-image {
        grid-column: 2;
        grid-row: 1 / 3;
    }

    .corp-learning-image-two {
        grid-column: 1;
        grid-row: 2;
    }

    .corp-learning-image-three {
        grid-column: 1;
        grid-row: 3;
    }

    .corp-learning-image-four {
        grid-column: 2;
        grid-row: 3;
    }

    .corp-learning-bottom {
        grid-template-columns: 1fr auto;
    }

    .corp-learning-bottom-line {
        display: none;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-learning-section {
        padding: 75px 0;
    }

    .corp-learning-container {
        width: calc(100% - 30px);
    }

    .corp-learning-title h2 {
        font-size: 32px;
    }

    .corp-learning-gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 210px 260px 210px;
        gap: 10px;
    }

    .corp-learning-image-one {
        grid-column: 1;
        grid-row: 1;
    }

    .corp-learning-image-two {
        grid-column: 2;
        grid-row: 1;
    }

    .corp-learning-main-image {
        grid-column: 1 / 3;
        grid-row: 2;
    }

    .corp-learning-image-three {
        grid-column: 1;
        grid-row: 3;
    }

    .corp-learning-image-four {
        grid-column: 2;
        grid-row: 3;
    }

    .corp-learning-main-overlay {
        left: 22px;
        right: 22px;
        bottom: 22px;
    }

    .corp-learning-main-overlay h3 {
        font-size: 25px;
    }

    .corp-learning-stat {
        width: 82px;
        height: 82px;
    }

    .corp-learning-stat strong {
        font-size: 17px;
    }

    .corp-learning-stat span {
        font-size: 7px;
    }

    .corp-learning-bottom {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .corp-learning-bottom .corp-home-banner-primary {
        justify-self: start;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-learning-section {
        padding: 65px 0;
    }

    .corp-learning-title h2 {
        font-size: 28px;
    }

    .corp-learning-gallery {
        grid-template-rows: 165px 220px 165px;
        gap: 8px;
    }

    .corp-learning-image > span {
        left: 12px;
        bottom: 12px;
        font-size: 7px;
    }

    .corp-learning-main-overlay {
        left: 17px;
        right: 17px;
        bottom: 17px;
    }

    .corp-learning-main-overlay h3 {
        font-size: 20px;
    }

    .corp-learning-main-overlay span {
        font-size: 7px;
    }

    .corp-learning-stat {
        width: 68px;
        height: 68px;
    }

    .corp-learning-stat strong {
        font-size: 14px;
    }

    .corp-learning-stat span {
        font-size: 6px;
    }

}

/* =====================================================
   HOME TRAINING OUTCOMES
====================================================== */

.corp-outcomes-section {
    position: relative;
    width: 100%;
    padding: 115px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-outcomes-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    gap: 90px;
    align-items: center;
}


/* =========================
   VISUAL
========================= */

.corp-outcomes-visual {
    position: relative;
    min-height: 590px;
    animation: corpOutcomesVisualIn .9s ease both;
}

.corp-outcomes-image {
    position: absolute;
    inset: 0 38px 0 0;
    overflow: hidden;
    border-radius: 2px;
}

.corp-outcomes-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(24,40,58,.58),
        transparent 55%
    );
}

.corp-outcomes-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-outcomes-image:hover img {
    transform: scale(1.05);
}


/* Image Tag */

.corp-outcomes-image-tag {
    position: absolute;
    left: -18px;
    top: 42px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 17px;
    color: #17283a;
    background: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.3px;
    box-shadow: 0 12px 28px rgba(24,40,58,.16);
}

.corp-outcomes-image-tag span {
    font-size: 10px;
    opacity: .7;
}


/* Floating Card */

.corp-outcomes-floating {
    position: absolute;
    right: 0;
    bottom: 58px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 13px;
    width: 190px;
    padding: 17px;
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    box-shadow: var(--corp-shadow);
    animation: corpOutcomesFloat 3.5s ease-in-out infinite;
}

.corp-outcomes-floating i {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 8px;
    font-size: 14px;
}

.corp-outcomes-floating div {
    min-width: 0;
}

.corp-outcomes-floating strong,
.corp-outcomes-floating span {
    display: block;
}

.corp-outcomes-floating strong {
    color: var(--corp-text);
    font-size: 12px;
    font-weight: 700;
}

.corp-outcomes-floating span {
    margin-top: 3px;
    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 500;
}


/* =========================
   CONTENT
========================= */

.corp-outcomes-content {
    animation: corpOutcomesContentIn .85s .12s ease both;
}

.corp-outcomes-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-outcomes-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-outcomes-content h2 {
    max-width: 620px;
    margin: 0 0 20px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1px;
}

.corp-outcomes-content h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-outcomes-intro {
    max-width: 570px;
    margin: 0 0 34px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =========================
   OUTCOME ITEMS
========================= */

.corp-outcomes-list {
    border-top: 1px solid var(--corp-line);
    margin-bottom: 32px;
}

.corp-outcome-item {
    display: grid;
    grid-template-columns: 45px 1fr 30px;
    gap: 18px;
    align-items: center;
    padding: 21px 0;
    border-bottom: 1px solid var(--corp-line);
    transition:
        padding .3s ease,
        background .3s ease;
}

.corp-outcome-item:hover {
    padding-left: 10px;
    padding-right: 10px;
    background: var(--corp-surface);
}

.corp-outcome-number {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 800;
}

.corp-outcome-info h3 {
    margin: 0 0 5px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 700;
}

.corp-outcome-info p {
    max-width: 490px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.65;
}

.corp-outcome-item > i {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    border: 1px solid var(--corp-line);
    border-radius: 50%;
    font-size: 10px;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.corp-outcome-item:hover > i {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: rotate(45deg);
}


/* =========================
   ANIMATION
========================= */

@keyframes corpOutcomesVisualIn {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpOutcomesContentIn {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpOutcomesFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-9px);
    }
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 992px) {

    .corp-outcomes-container {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .corp-outcomes-visual {
        min-height: 500px;
    }

    .corp-outcomes-image {
        right: 70px;
    }

    .corp-outcomes-content {
        max-width: 760px;
    }
}

@media (max-width: 768px) {

    .corp-outcomes-section {
        padding: 85px 0;
    }

    .corp-outcomes-container {
        width: min(100% - 30px, 650px);
        gap: 45px;
    }

    .corp-outcomes-visual {
        min-height: 430px;
    }

    .corp-outcomes-image {
        right: 45px;
    }

    .corp-outcomes-content h2 {
        font-size: 36px;
    }

    .corp-outcomes-floating {
        bottom: 35px;
    }
}

@media (max-width: 480px) {

    .corp-outcomes-section {
        padding: 70px 0;
    }

    .corp-outcomes-container {
        width: calc(100% - 30px);
    }

    .corp-outcomes-visual {
        min-height: 350px;
    }

    .corp-outcomes-image {
        right: 20px;
    }

    .corp-outcomes-image-tag {
        left: -8px;
        top: 25px;
        padding: 10px 13px;
    }

    .corp-outcomes-floating {
        right: -4px;
        bottom: 20px;
        width: 170px;
        padding: 13px;
    }

    .corp-outcomes-content h2 {
        font-size: 31px;
    }

    .corp-outcome-item {
        grid-template-columns: 35px 1fr 28px;
        gap: 10px;
        padding: 17px 0;
    }

    .corp-outcome-info p {
        font-size: 11px;
    }
}


/* =====================================================
   HOME — LEARNING JOURNEY
====================================================== */

.corp-journey-section {
    width: 100%;
    padding: 120px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-journey-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================
   TOP
========================= */

.corp-journey-top {
    display: grid;
    grid-template-columns: .7fr 1.8fr .8fr;
    gap: 55px;
    align-items: end;
    margin-bottom: 75px;
    animation: corpJourneyTopIn .8s ease both;
}

.corp-journey-index {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-journey-index span:first-child {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 24px;
    font-weight: 800;
}

.corp-journey-index div {
    width: 30px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-journey-top h2 {
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 46px;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1.2px;
}

.corp-journey-top h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-journey-top > p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =========================
   TRACK
========================= */

.corp-journey-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}


/* Gold connecting line */

.corp-journey-track::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--corp-accent);
    transform: scaleX(0);
    transform-origin: left;
    animation: corpJourneyLineIn 1.3s .25s ease forwards;
}


/* =========================
   STAGE
========================= */

.corp-journey-stage {
    position: relative;
    min-height: 375px;
    padding: 30px 28px 35px;
    border-right: 1px solid var(--corp-line);
    animation: corpJourneyStageIn .7s ease both;
    transition:
        background .35s ease,
        transform .35s ease;
}

.corp-journey-stage:last-child {
    border-right: 0;
}

.corp-journey-stage:nth-child(1) {
    animation-delay: .15s;
}

.corp-journey-stage:nth-child(2) {
    animation-delay: .25s;
}

.corp-journey-stage:nth-child(3) {
    animation-delay: .35s;
}

.corp-journey-stage:nth-child(4) {
    animation-delay: .45s;
}

.corp-journey-stage:hover {
    background: var(--corp-surface);
    transform: translateY(-6px);
}


/* Stage top */

.corp-journey-stage-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 70px;
}

.corp-journey-stage-top span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-journey-stage-top i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 50%;
    font-size: 14px;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.corp-journey-stage:hover .corp-journey-stage-top i {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: rotate(-12deg);
}


/* Content */

.corp-journey-stage-content small {
    display: block;
    margin-bottom: 12px;
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-journey-stage-content h3 {
    max-width: 190px;
    margin: 0 0 18px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.15;
}

.corp-journey-stage-content p {
    max-width: 220px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.75;
}


/* =========================
   BOTTOM
========================= */

.corp-journey-bottom {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    align-items: center;
    margin-top: 35px;
    animation: corpJourneyBottomIn .8s .6s ease both;
}

.corp-journey-bottom span,
.corp-journey-bottom strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.corp-journey-bottom strong {
    color: var(--corp-accent);
}

.corp-journey-bottom-line {
    height: 1px;
    background: var(--corp-line);
}


/* =========================
   ANIMATIONS
========================= */

@keyframes corpJourneyTopIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpJourneyLineIn {

    to {
        transform: scaleX(1);
    }

}

@keyframes corpJourneyStageIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpJourneyBottomIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 992px) {

    .corp-journey-top {
        grid-template-columns: 1fr 1.5fr;
        gap: 35px;
    }

    .corp-journey-top > p {
        grid-column: 2;
    }

    .corp-journey-track {
        grid-template-columns: repeat(2, 1fr);
    }

    .corp-journey-stage:nth-child(2) {
        border-right: 0;
    }

    .corp-journey-stage:nth-child(3),
    .corp-journey-stage:nth-child(4) {
        border-top: 1px solid var(--corp-line);
    }

}

@media (max-width: 768px) {

    .corp-journey-section {
        padding: 85px 0;
    }

    .corp-journey-container {
        width: min(100% - 30px, 650px);
    }

    .corp-journey-top {
        display: block;
        margin-bottom: 50px;
    }

    .corp-journey-top h2 {
        margin: 25px 0 20px;
        font-size: 36px;
    }

    .corp-journey-top > p {
        max-width: 520px;
    }

    .corp-journey-stage {
        min-height: 330px;
        padding: 25px 22px 30px;
    }

}

@media (max-width: 480px) {

    .corp-journey-section {
        padding: 70px 0;
    }

    .corp-journey-container {
        width: calc(100% - 30px);
    }

    .corp-journey-top h2 {
        font-size: 31px;
    }

    .corp-journey-track {
        grid-template-columns: 1fr;
    }

    .corp-journey-stage,
    .corp-journey-stage:nth-child(2),
    .corp-journey-stage:nth-child(3),
    .corp-journey-stage:nth-child(4) {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--corp-line);
        border-top: 0;
    }

    .corp-journey-stage:last-child {
        border-bottom: 0;
    }

    .corp-journey-stage-top {
        margin-bottom: 40px;
    }

    .corp-journey-stage-content h3 {
        font-size: 21px;
    }

    .corp-journey-bottom {
        grid-template-columns: auto 1fr auto;
        gap: 10px;
    }

}

/* =====================================================
   HOME — LEARNING THAT LASTS
====================================================== */

.corp-lasting-section {
    width: 100%;
    padding: 120px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-lasting-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr .95fr;
    gap: 110px;
    align-items: center;
}


/* =========================
   CONTENT
========================= */

.corp-lasting-content {
    animation: corpLastingContentIn .9s ease both;
}

.corp-lasting-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-lasting-eyebrow::before {
    content: "";
    width: 30px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-lasting-content h2 {
    max-width: 620px;
    margin: 0 0 22px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 47px;
    font-weight: 800;
    line-height: 1.07;
    letter-spacing: -1.3px;
}

.corp-lasting-content h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-lasting-intro {
    max-width: 530px;
    margin: 0 0 38px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}


/* =========================
   HIGHLIGHTS
========================= */

.corp-lasting-highlight {
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: 530px;
    padding: 16px 0;
    border-top: 1px solid var(--corp-line);
    transition:
        padding .3s ease,
        transform .3s ease;
}

.corp-lasting-highlight:last-child {
    border-bottom: 1px solid var(--corp-line);
}

.corp-lasting-highlight:hover {
    padding-left: 9px;
    transform: translateX(5px);
}

.corp-lasting-highlight-number {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 50%;
    font-size: 9px;
    font-weight: 700;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease;
}

.corp-lasting-highlight:hover .corp-lasting-highlight-number {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
}

.corp-lasting-highlight strong {
    margin-right: 6px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 800;
}

.corp-lasting-highlight div > span {
    color: var(--corp-muted);
    font-size: 11px;
    font-weight: 400;
}


/* =========================
   VISUAL
========================= */

.corp-lasting-visual {
    position: relative;
    min-height: 570px;
    animation: corpLastingVisualIn .9s .15s ease both;
}

.corp-lasting-image {
    position: absolute;
    inset: 0 38px 38px 0;
    overflow: hidden;
}

.corp-lasting-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(24,40,58,.62),
        transparent 58%
    );
}

.corp-lasting-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-lasting-image:hover img {
    transform: scale(1.06);
}


/* Caption */

.corp-lasting-caption {
    position: absolute;
    left: 20px;
    bottom: 58px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.corp-lasting-caption i {
    color: var(--corp-accent);
    font-size: 10px;
}

.corp-lasting-caption strong {
    color: var(--corp-accent);
    font-weight: 700;
}


/* Circle */

.corp-lasting-circle {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 4;
    width: 125px;
    height: 125px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 50%;
    text-align: center;
    box-shadow: 0 18px 40px rgba(24,40,58,.18);
    animation: corpLastingCircle 3.5s ease-in-out infinite;
}

.corp-lasting-circle span {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1px;
}

.corp-lasting-circle strong {
    margin-top: 4px;
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 800;
}


/* =========================
   ANIMATIONS
========================= */

@keyframes corpLastingContentIn {

    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpLastingVisualIn {

    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpLastingCircle {

    0%, 100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-10px) rotate(3deg);
    }

}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 992px) {

    .corp-lasting-container {
        grid-template-columns: 1fr;
        gap: 70px;
    }

    .corp-lasting-visual {
        min-height: 500px;
    }

}

@media (max-width: 768px) {

    .corp-lasting-section {
        padding: 85px 0;
    }

    .corp-lasting-container {
        width: min(100% - 30px, 650px);
        gap: 50px;
    }

    .corp-lasting-content h2 {
        font-size: 37px;
    }

    .corp-lasting-visual {
        min-height: 440px;
    }

}

@media (max-width: 480px) {

    .corp-lasting-section {
        padding: 70px 0;
    }

    .corp-lasting-container {
        width: calc(100% - 30px);
    }

    .corp-lasting-content h2 {
        font-size: 31px;
    }

    .corp-lasting-visual {
        min-height: 350px;
    }

    .corp-lasting-image {
        inset: 0 20px 25px 0;
    }

    .corp-lasting-circle {
        width: 95px;
        height: 95px;
    }

    .corp-lasting-circle strong {
        font-size: 14px;
    }

    .corp-lasting-caption {
        left: 12px;
        bottom: 38px;
        gap: 7px;
    }

}

/* =====================================================
   HOME — THE ELEVATEPRO STANDARD
====================================================== */

.corp-standard-section {
    position: relative;
    width: 100%;
    padding: 125px 0;
    background: #17283a;
    overflow: hidden;
}

.corp-standard-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================
   TOP LABEL
========================= */

.corp-standard-top {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 42px;
    animation: corpStandardTopIn .8s ease both;
}

.corp-standard-number {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-standard-line {
    width: 45px;
    height: 1px;
    background: rgba(214,166,66,.65);
}

.corp-standard-label {
    color: rgba(255,255,255,.58);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* =========================
   HEADING
========================= */

.corp-standard-heading {
    max-width: 850px;
    margin-bottom: 65px;
    animation: corpStandardHeadingIn .9s .1s ease both;
}

.corp-standard-overline {
    margin: 0 0 17px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-standard-heading h2 {
    margin: 0;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 58px;
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -1.8px;
}

.corp-standard-heading h2 span {
    display: block;
    color: rgba(255,255,255,.48);
}


/* =========================
   VISUAL
========================= */

.corp-standard-visual {
    position: relative;
    height: 430px;
    margin-bottom: 65px;
    animation: corpStandardVisualIn 1s .2s ease both;
}

.corp-standard-image-main {
    position: absolute;
    top: 0;
    left: 0;
    width: 72%;
    height: 100%;
    overflow: hidden;
}

.corp-standard-image-main::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(23,40,58,.18),
            transparent 60%
        );
}

.corp-standard-image-main img,
.corp-standard-image-small img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-standard-image-main:hover img,
.corp-standard-image-small:hover img {
    transform: scale(1.05);
}


/* Small Image */

.corp-standard-image-small {
    position: absolute;
    right: 0;
    bottom: -25px;
    width: 31%;
    height: 245px;
    overflow: hidden;
    border: 7px solid #17283a;
    z-index: 3;
}


/* Vertical Text */

.corp-standard-vertical-text {
    position: absolute;
    right: 34%;
    top: 50%;
    z-index: 4;
    color: rgba(255,255,255,.8);
    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 5px;
    writing-mode: vertical-rl;
    transform: translateY(-50%);
}


/* Gold Mark */

.corp-standard-gold-mark {
    position: absolute;
    left: 67%;
    top: 50%;
    z-index: 4;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 50%;
    font-size: 13px;
    transform: translate(-50%, -50%);
    box-shadow: 0 15px 35px rgba(0,0,0,.25);
    animation: corpStandardMark 3s ease-in-out infinite;
}


/* =========================
   PRINCIPLES
========================= */

.corp-standard-principles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(255,255,255,.15);
    border-bottom: 1px solid rgba(255,255,255,.15);
    animation: corpStandardPrinciplesIn .8s .4s ease both;
}

.corp-standard-principle {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 20px;
    min-height: 180px;
    padding: 30px 30px 30px 0;
    border-right: 1px solid rgba(255,255,255,.15);
}

.corp-standard-principle:nth-child(2) {
    padding-left: 30px;
}

.corp-standard-principle:last-child {
    padding-left: 30px;
    border-right: 0;
}

.corp-standard-principle > span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
}

.corp-standard-principle small {
    display: block;
    margin-bottom: 13px;
    color: rgba(255,255,255,.42);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.corp-standard-principle h3 {
    max-width: 210px;
    margin: 0;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.25;
}


/* =========================
   BOTTOM
========================= */

.corp-standard-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    padding-top: 35px;
    animation: corpStandardBottomIn .8s .55s ease both;
}

.corp-standard-bottom p {
    max-width: 570px;
    margin: 0;
    color: rgba(255,255,255,.55);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.8;
}


/* Button override */

.corp-standard-bottom .corp-home-banner-primary {
    flex-shrink: 0;
    color: #17283a;
    background: var(--corp-accent);
}

.corp-standard-bottom .corp-home-banner-primary:hover {
    color: #ffffff;
    background: var(--corp-primary);
}


/* =========================
   ANIMATIONS
========================= */

@keyframes corpStandardTopIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpStandardHeadingIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpStandardVisualIn {

    from {
        opacity: 0;
        transform: scale(.96);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}

@keyframes corpStandardPrinciplesIn {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpStandardBottomIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpStandardMark {

    0%, 100% {
        transform: translate(-50%, -50%) rotate(0);
    }

    50% {
        transform: translate(-50%, -50%) rotate(8deg);
    }

}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 992px) {

    .corp-standard-heading h2 {
        font-size: 48px;
    }

    .corp-standard-visual {
        height: 390px;
    }

    .corp-standard-image-main {
        width: 76%;
    }

    .corp-standard-image-small {
        width: 30%;
        height: 220px;
    }

    .corp-standard-principle {
        min-height: 165px;
    }

}

@media (max-width: 768px) {

    .corp-standard-section {
        padding: 90px 0;
    }

    .corp-standard-container {
        width: min(100% - 30px, 650px);
    }

    .corp-standard-heading {
        margin-bottom: 45px;
    }

    .corp-standard-heading h2 {
        font-size: 39px;
    }

    .corp-standard-visual {
        height: 360px;
        margin-bottom: 50px;
    }

    .corp-standard-image-main {
        width: 82%;
    }

    .corp-standard-image-small {
        width: 35%;
        height: 190px;
    }

    .corp-standard-gold-mark {
        left: 72%;
        width: 54px;
        height: 54px;
    }

    .corp-standard-principles {
        grid-template-columns: 1fr;
    }

    .corp-standard-principle,
    .corp-standard-principle:nth-child(2),
    .corp-standard-principle:last-child {
        min-height: auto;
        padding: 25px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.15);
    }

    .corp-standard-principle:last-child {
        border-bottom: 0;
    }

    .corp-standard-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

}

@media (max-width: 480px) {

    .corp-standard-section {
        padding: 70px 0;
    }

    .corp-standard-heading h2 {
        font-size: 32px;
    }

    .corp-standard-visual {
        height: 300px;
    }

    .corp-standard-image-main {
        width: 88%;
    }

    .corp-standard-image-small {
        width: 38%;
        height: 145px;
        border-width: 5px;
    }

    .corp-standard-vertical-text {
        right: 27%;
        font-size: 7px;
    }

    .corp-standard-gold-mark {
        left: 76%;
        width: 46px;
        height: 46px;
    }

}

/* =====================================================
   LEARNING ATELIER
====================================================== */

.corp-atelier-section {
    position: relative;
    width: 100%;
    padding: 110px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-atelier-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP
====================================================== */

.corp-atelier-top {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 42px;
    opacity: 0;
    animation: corpAtelierTopIn .8s ease forwards;
}

.corp-atelier-number {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-atelier-label {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-atelier-line {
    width: 80px;
    height: 1px;
    background: var(--corp-line);
}


/* =====================================================
   HEADING
====================================================== */

.corp-atelier-heading {
    max-width: 800px;
    margin-bottom: 58px;
    opacity: 0;
    animation: corpAtelierHeadingIn .9s .15s ease forwards;
}

.corp-atelier-kicker {
    margin: 0 0 14px;
    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-atelier-heading h2 {
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}

.corp-atelier-heading h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =====================================================
   VISUAL
====================================================== */

.corp-atelier-visual {
    position: relative;
    width: 100%;
    height: 500px;
    opacity: 0;
    animation: corpAtelierVisualIn 1s .3s ease forwards;
}

.corp-atelier-image {
    position: absolute;
    top: 0;
    left: 9%;
    width: 76%;
    height: 100%;
    overflow: hidden;
}

.corp-atelier-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(23,40,58,.05),
        rgba(23,40,58,.20)
    );
}

.corp-atelier-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-atelier-visual:hover .corp-atelier-image img {
    transform: scale(1.035);
}


/* =====================================================
   IMAGE NUMBER
====================================================== */

.corp-atelier-image-number {
    position: absolute;
    left: 0;
    top: 38px;
    z-index: 3;
    color: var(--corp-primary);
    font-family: "Manrope", sans-serif;
    font-size: 62px;
    font-weight: 800;
    line-height: 1;
}


/* =====================================================
   SIDE WORD
====================================================== */

.corp-atelier-side-word {
    position: absolute;
    right: 0;
    top: 50%;
    z-index: 4;
    color: var(--corp-primary);
    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 5px;
    writing-mode: vertical-rl;
    transform: translateY(-50%);
}


/* =====================================================
   GOLD STATEMENT
====================================================== */

.corp-atelier-statement {
    position: absolute;
    left: 0;
    bottom: 32px;
    z-index: 5;
    width: 285px;
    padding: 23px 26px;
    background: var(--corp-accent);
    box-shadow: 0 18px 45px rgba(24,40,58,.18);
    animation: corpAtelierStatement 1s .8s ease both;
}

.corp-atelier-statement-line {
    display: block;
    width: 32px;
    height: 2px;
    margin-bottom: 13px;
    background: #17283a;
}

.corp-atelier-statement p {
    margin: 0;
    color: #17283a;
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.55;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-atelier-bottom {
    display: grid;
    grid-template-columns: 90px 130px 155px 1fr;
    gap: 20px;
    align-items: start;
    margin-top: 52px;
    padding-top: 25px;
    border-top: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpAtelierBottomIn .9s .55s ease forwards;
}

.corp-atelier-caption {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.corp-atelier-caption span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 800;
}

.corp-atelier-caption p {
    margin: 0;
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}

.corp-atelier-description {
    max-width: 420px;
    margin-left: auto;
}

.corp-atelier-description p {
    margin: 0 0 20px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpAtelierTopIn {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpAtelierHeadingIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpAtelierVisualIn {
    from {
        opacity: 0;
        transform: translateY(40px);
        clip-path: inset(8% 0 8% 0);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        clip-path: inset(0 0 0 0);
    }
}

@keyframes corpAtelierStatement {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpAtelierBottomIn {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-atelier-section {
        padding: 90px 0;
    }

    .corp-atelier-visual {
        height: 440px;
    }

    .corp-atelier-image {
        left: 7%;
        width: 82%;
    }

    .corp-atelier-bottom {
        grid-template-columns: repeat(3, 1fr);
    }

    .corp-atelier-description {
        grid-column: 1 / -1;
        max-width: 500px;
        margin-left: 0;
        margin-top: 12px;
    }
}


@media (max-width: 768px) {

    .corp-atelier-section {
        padding: 75px 0;
    }

    .corp-atelier-heading h2 {
        letter-spacing: -1.5px;
    }

    .corp-atelier-visual {
        height: 380px;
    }

    .corp-atelier-image {
        left: 0;
        width: 92%;
    }

    .corp-atelier-image-number {
        top: 18px;
        font-size: 48px;
    }

    .corp-atelier-statement {
        width: 240px;
        bottom: 18px;
        padding: 19px;
    }

    .corp-atelier-bottom {
        grid-template-columns: repeat(3, 1fr);
    }
}


@media (max-width: 480px) {

    .corp-atelier-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-atelier-top {
        margin-bottom: 30px;
    }

    .corp-atelier-heading {
        margin-bottom: 38px;
    }

    .corp-atelier-heading h2 {
        font-size: 38px;
        letter-spacing: -1px;
    }

    .corp-atelier-visual {
        height: 320px;
    }

    .corp-atelier-image {
        width: 100%;
    }

    .corp-atelier-image-number,
    .corp-atelier-side-word {
        display: none;
    }

    .corp-atelier-statement {
        left: 15px;
        width: calc(100% - 30px);
        bottom: 15px;
    }

    .corp-atelier-bottom {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .corp-atelier-description {
        grid-column: 1 / -1;
        margin-top: 4px;
    }
}

/* =====================================================
   CORPORATE IMPACT COUNTERS
====================================================== */

.corp-counter-section {
    position: relative;
    width: 100%;
    padding: 60px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-counter-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP
====================================================== */

.corp-counter-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 45px;
    opacity: 0;
    animation: corpCounterFadeUp .8s ease forwards;
}

.corp-counter-label {
    display: flex;
    align-items: center;
    gap: 14px;
}

.corp-counter-label span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-counter-label i {
    width: 45px;
    height: 1px;
    background: var(--corp-line);
}

.corp-counter-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-counter-top > p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
}


/* =====================================================
   HEADING
====================================================== */

.corp-counter-heading {
    margin-bottom: 60px;
    opacity: 0;
    animation: corpCounterHeadingIn .9s .15s ease forwards;
}

.corp-counter-heading h2 {
    max-width: 700px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}

.corp-counter-heading h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =====================================================
   COUNTER LIST
====================================================== */

.corp-counter-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}

.corp-counter-item {
    position: relative;
    min-height: 270px;
    padding: 30px 28px 35px;
    border-right: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpCounterItemIn .8s ease forwards;
}

.corp-counter-item:nth-child(1) {
    animation-delay: .25s;
}

.corp-counter-item:nth-child(2) {
    animation-delay: .35s;
}

.corp-counter-item:nth-child(3) {
    animation-delay: .45s;
}

.corp-counter-item:nth-child(4) {
    animation-delay: .55s;
}

.corp-counter-item:last-child {
    border-right: 0;
}

.corp-counter-index {
    display: block;
    margin-bottom: 32px;
    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}


/* =====================================================
   NUMBER
====================================================== */

.corp-counter-number {
    display: flex;
    align-items: flex-start;
    margin-bottom: 18px;
}

.corp-counter-number strong {
    color: var(--corp-primary);
    font-family: "Manrope", sans-serif;
    font-size: 54px;
    font-weight: 800;
    line-height: .9;
    letter-spacing: -2px;
}

.corp-counter-number em {
    margin: 1px 0 0 5px;
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 22px;
    font-weight: 800;
    font-style: normal;
}


/* =====================================================
   TEXT
====================================================== */

.corp-counter-item h3 {
    margin: 0 0 10px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 700;
}

.corp-counter-item p {
    max-width: 210px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   HOVER
====================================================== */

.corp-counter-item {
    transition: background .3s ease;
}

.corp-counter-item:hover {
    background: var(--corp-surface);
}

.corp-counter-item:hover .corp-counter-number strong {
    color: var(--corp-accent);
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-counter-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 28px;
    opacity: 0;
    animation: corpCounterFadeUp .8s .7s ease forwards;
}

.corp-counter-bottom > span {
    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpCounterFadeUp {

    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpCounterHeadingIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpCounterItemIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-counter-section {
        padding: 90px 0;
    }

    .corp-counter-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .corp-counter-item:nth-child(2) {
        border-right: 0;
    }

    .corp-counter-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--corp-line);
    }
}


@media (max-width: 768px) {

    .corp-counter-section {
        padding: 75px 0;
    }

    .corp-counter-top {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    .corp-counter-heading {
        margin-bottom: 45px;
    }

    .corp-counter-heading h2 {
        letter-spacing: -1.5px;
    }

    .corp-counter-number strong {
        font-size: 48px;
    }
}


@media (max-width: 480px) {

    .corp-counter-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-counter-heading h2 {
        font-size: 38px;
        letter-spacing: -1px;
    }

    .corp-counter-list {
        grid-template-columns: 1fr;
    }

    .corp-counter-item {
        min-height: auto;
        padding: 25px 20px;
        border-right: 0;
        border-bottom: 1px solid var(--corp-line);
    }

    .corp-counter-item:last-child {
        border-bottom: 0;
    }

    .corp-counter-item:nth-child(2) {
        border-right: 0;
    }

    .corp-counter-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--corp-line);
    }

    .corp-counter-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =====================================================
   OUR PEOPLE / STAFF
====================================================== */

.corp-staff-section {
    position: relative;
    width: 100%;
    padding: 120px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-staff-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-staff-header {
    display: grid;
    grid-template-columns: 1fr .55fr;
    align-items: end;
    gap: 80px;
    margin-bottom: 65px;
    opacity: 0;
    animation: corpStaffHeaderIn .9s ease forwards;
}

.corp-staff-label {
    display: block;
    margin-bottom: 20px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-staff-heading h2 {
    max-width: 650px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -2px;
}

.corp-staff-heading h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-staff-header > p {
    max-width: 360px;
    margin: 0 0 4px auto;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   FEATURE AREA
====================================================== */

.corp-staff-feature {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 70px;
    align-items: stretch;
}


/* =====================================================
   MAIN PERSON
====================================================== */

.corp-staff-main {
    position: relative;
    opacity: 0;
    animation: corpStaffMainIn .9s .15s ease forwards;
}

.corp-staff-image {
    position: relative;
    height: 560px;
    overflow: hidden;
    background: #17283a;
}

.corp-staff-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-staff-main:hover .corp-staff-image img {
    transform: scale(1.035);
}

.corp-staff-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 55%,
        rgba(23,40,58,.65)
    );
}

.corp-staff-image-number {
    position: absolute;
    z-index: 2;
    top: 22px;
    left: 22px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-staff-main-info {
    position: absolute;
    z-index: 3;
    left: 30px;
    bottom: 28px;
}

.corp-staff-main-info span,
.corp-staff-person-info span {
    display: block;
    margin-bottom: 7px;
    color: var(--corp-accent);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-staff-main-info h3 {
    margin: 0 0 5px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 28px;
    font-weight: 700;
}

.corp-staff-main-info p {
    margin: 0;
    color: rgba(255,255,255,.75);
    font-size: 12px;
    font-weight: 400;
}


/* =====================================================
   SIDE PEOPLE
====================================================== */

.corp-staff-side {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--corp-line);
}

.corp-staff-person {
    position: relative;
    display: grid;
    grid-template-columns: 105px 1fr 30px;
    gap: 22px;
    align-items: center;
    min-height: 160px;
    border-bottom: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpStaffPersonIn .8s ease forwards;
}

.corp-staff-person:nth-child(1) {
    animation-delay: .3s;
}

.corp-staff-person:nth-child(2) {
    animation-delay: .45s;
}

.corp-staff-person:nth-child(3) {
    animation-delay: .6s;
}

.corp-staff-person-image {
    width: 105px;
    height: 115px;
    overflow: hidden;
    background: var(--corp-soft);
}

.corp-staff-person-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .5s ease;
}

.corp-staff-person:hover .corp-staff-person-image img {
    transform: scale(1.07);
}

.corp-staff-person-info h3 {
    margin: 0 0 5px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.corp-staff-person-info p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

.corp-staff-person-number {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
    text-align: right;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-staff-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpStaffBottomIn .8s .75s ease forwards;
}

.corp-staff-bottom span {
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.corp-staff-bottom p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpStaffHeaderIn {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpStaffMainIn {
    from {
        opacity: 0;
        transform: translateX(-35px);
        clip-path: inset(0 8% 0 0);
    }

    to {
        opacity: 1;
        transform: translateX(0);
        clip-path: inset(0);
    }
}

@keyframes corpStaffPersonIn {
    from {
        opacity: 0;
        transform: translateX(30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpStaffBottomIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-staff-section {
        padding: 90px 0;
    }

    .corp-staff-header {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .corp-staff-header > p {
        margin: 0;
        max-width: 600px;
    }

    .corp-staff-feature {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .corp-staff-image {
        height: 520px;
    }
}

@media (max-width: 768px) {

    .corp-staff-section {
        padding: 75px 0;
    }

    .corp-staff-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-staff-heading h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .corp-staff-image {
        height: 450px;
    }

    .corp-staff-person {
        min-height: 145px;
    }

}

@media (max-width: 480px) {

    .corp-staff-heading h2 {
        font-size: 37px;
        letter-spacing: -1px;
    }

    .corp-staff-image {
        height: 390px;
    }

    .corp-staff-main-info {
        left: 20px;
        bottom: 20px;
    }

    .corp-staff-main-info h3 {
        font-size: 23px;
    }

    .corp-staff-person {
        grid-template-columns: 78px 1fr 25px;
        gap: 13px;
    }

    .corp-staff-person-image {
        width: 78px;
        height: 90px;
    }

    .corp-staff-person-info h3 {
        font-size: 16px;
    }

    .corp-staff-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

}


/* =====================================================
   LEARNING IN MOTION
====================================================== */

.corp-motion-section {
    position: relative;
    width: 100%;
    padding: 110px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-motion-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    align-items: center;
    gap: 75px;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-motion-content {
    opacity: 0;
    animation: corpMotionContentIn .9s ease forwards;
}

.corp-motion-label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
}

.corp-motion-label span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-motion-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-line);
}

.corp-motion-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-motion-content h2 {
    margin: 0 0 22px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}

.corp-motion-content h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-motion-content > p {
    max-width: 470px;
    margin: 0 0 28px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   SMALL DETAIL
====================================================== */

.corp-motion-line {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
}

.corp-motion-line > span {
    width: 3px;
    height: 42px;
    flex: 0 0 3px;
    background: var(--corp-accent);
}

.corp-motion-line p {
    max-width: 330px;
    margin: 0;
    color: var(--corp-text);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.65;
}


/* =====================================================
   VIDEO
====================================================== */

.corp-motion-video-wrap {
    position: relative;
    opacity: 0;
    animation: corpMotionVideoIn 1s .2s ease forwards;
}

.corp-motion-video {
    position: relative;
    width: 100%;
    height: 520px;
    overflow: hidden;
    background: #17283a;
    box-shadow: 0 22px 55px rgba(24,40,58,.14);
}

.corp-motion-video video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.corp-motion-video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(23,40,58,.04) 45%,
        rgba(23,40,58,.58)
    );
    pointer-events: none;
}


/* =====================================================
   PLAY MARK
====================================================== */

.corp-motion-play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease;
}

.corp-motion-play i {
    margin-left: 3px;
    font-size: 13px;
}

.corp-motion-video:hover .corp-motion-play {
    color: #ffffff;
    background: var(--corp-primary);
    transform: translate(-50%, -50%) scale(1.08);
}


/* =====================================================
   VIDEO LABEL
====================================================== */

.corp-motion-video-label {
    position: absolute;
    left: 24px;
    bottom: 20px;
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpMotionContentIn {

    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpMotionVideoIn {

    from {
        opacity: 0;
        transform: translateX(45px);
        clip-path: inset(0 8% 0 8%);
    }

    to {
        opacity: 1;
        transform: translateX(0);
        clip-path: inset(0);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-motion-section {
        padding: 90px 0;
    }

    .corp-motion-container {
        grid-template-columns: 1fr 1fr;
        gap: 45px;
    }

    .corp-motion-video {
        height: 440px;
    }
}


@media (max-width: 768px) {

    .corp-motion-section {
        padding: 75px 0;
    }

    .corp-motion-container {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .corp-motion-content h2 {
        letter-spacing: -1.5px;
    }

    .corp-motion-video {
        height: 420px;
    }
}


@media (max-width: 480px) {

    .corp-motion-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-motion-content h2 {
        font-size: 38px;
        letter-spacing: -1px;
    }

    .corp-motion-video {
        height: 340px;
    }

    .corp-motion-play {
        width: 54px;
        height: 54px;
    }
}

/* =====================================================
   THE DIFFERENCE SECTION
====================================================== */

.corp-difference-section {
    position: relative;
    width: 100%;
    padding: 115px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-difference-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-difference-header {
    margin-bottom: 55px;
    opacity: 0;
    animation: corpDifferenceHeaderIn .9s ease forwards;
}

.corp-difference-index {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

.corp-difference-index span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-difference-index i {
    width: 42px;
    height: 1px;
    background: var(--corp-line);
}

.corp-difference-index strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-difference-header h2 {
    max-width: 760px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -2px;
}

.corp-difference-header h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =====================================================
   FEATURE VISUAL
====================================================== */

.corp-difference-feature {
    position: relative;
    min-height: 560px;
    opacity: 0;
    animation: corpDifferenceFeatureIn 1s .15s ease forwards;
}

.corp-difference-image {
    position: relative;
    width: 82%;
    height: 560px;
    margin-left: auto;
    overflow: hidden;
    background: #17283a;
    box-shadow: 0 24px 60px rgba(24,40,58,.13);
}

.corp-difference-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-difference-image:hover img {
    transform: scale(1.04);
}

.corp-difference-image-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(23,40,58,.02) 45%,
        rgba(23,40,58,.68)
    );
}

.corp-difference-image-caption {
    position: absolute;
    left: 30px;
    bottom: 27px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.corp-difference-image-caption span {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-difference-image-caption strong {
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
}


/* =====================================================
   FLOATING STATEMENT
====================================================== */

.corp-difference-statement {
    position: absolute;
    left: 0;
    bottom: 55px;
    width: 390px;
    padding: 34px 36px;
    background: var(--corp-primary);
    box-shadow: 0 20px 50px rgba(24,40,58,.22);
    opacity: 0;
    animation: corpDifferenceStatementIn .9s .55s ease forwards;
}

.corp-difference-statement-mark {
    display: block;
    margin-bottom: 8px;
    color: var(--corp-accent);
    font-family: Georgia, serif;
    font-size: 48px;
    line-height: .7;
}

.corp-difference-statement p {
    margin: 0;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.55;
}


/* =====================================================
   VALUES
====================================================== */

.corp-difference-values {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 65px;
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}

.corp-difference-value {
    display: flex;
    gap: 20px;
    padding: 28px 30px 28px 0;
    border-right: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpDifferenceValueIn .8s ease forwards;
}

.corp-difference-value:nth-child(1) {
    animation-delay: .2s;
}

.corp-difference-value:nth-child(2) {
    padding-left: 30px;
    animation-delay: .35s;
}

.corp-difference-value:nth-child(3) {
    padding-left: 30px;
    padding-right: 0;
    border-right: 0;
    animation-delay: .5s;
}

.corp-difference-value > span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
}

.corp-difference-value strong {
    display: block;
    margin-bottom: 8px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-difference-value p {
    max-width: 220px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-difference-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 30px;
    opacity: 0;
    animation: corpDifferenceBottomIn .8s .65s ease forwards;
}

.corp-difference-bottom p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpDifferenceHeaderIn {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpDifferenceFeatureIn {
    from {
        opacity: 0;
        transform: translateY(45px);
        clip-path: inset(8% 0 8% 0);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        clip-path: inset(0);
    }
}

@keyframes corpDifferenceStatementIn {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpDifferenceValueIn {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpDifferenceBottomIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-difference-section {
        padding: 90px 0;
    }

    .corp-difference-feature {
        min-height: 500px;
    }

    .corp-difference-image {
        width: 88%;
        height: 500px;
    }

    .corp-difference-statement {
        width: 350px;
    }

    .corp-difference-values {
        grid-template-columns: 1fr;
    }

    .corp-difference-value,
    .corp-difference-value:nth-child(2),
    .corp-difference-value:nth-child(3) {
        padding: 24px 0;
        border-right: 0;
        border-bottom: 1px solid var(--corp-line);
    }

    .corp-difference-value:nth-child(3) {
        border-bottom: 0;
    }
}

@media (max-width: 768px) {

    .corp-difference-section {
        padding: 75px 0;
    }

    .corp-difference-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-difference-header {
        margin-bottom: 40px;
    }

    .corp-difference-header h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .corp-difference-feature {
        min-height: auto;
    }

    .corp-difference-image {
        width: 100%;
        height: 430px;
    }

    .corp-difference-statement {
        position: relative;
        left: auto;
        bottom: auto;
        width: 88%;
        margin: -55px auto 0;
        z-index: 2;
    }

    .corp-difference-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 480px) {

    .corp-difference-header h2 {
        font-size: 37px;
    }

    .corp-difference-image {
        height: 350px;
    }

    .corp-difference-image-caption {
        left: 18px;
        bottom: 18px;
    }

    .corp-difference-statement {
        width: 94%;
        padding: 28px 25px;
    }

    .corp-difference-statement p {
        font-size: 15px;
    }

    .corp-difference-value {
        gap: 15px;
    }
}

/* =====================================================
   PROGRAMS PAGE BANNER
====================================================== */

.corp-programs-banner {
    position: relative;
    width: 100%;
    min-height: 430px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(12, 30, 49, .88),
            rgba(12, 30, 49, .62),
            rgba(12, 30, 49, .38)
        ),
        url("../images/asia-culturecenter-IGwScSCN42U-unsplash.jpg") center / cover no-repeat;
}

.corp-programs-banner-content {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    max-width: 1180px;
    opacity: 0;
    animation: corpProgramsBannerIn .9s ease forwards;
}

.corp-programs-banner-content h1 {
    max-width: 760px;
    margin: 0 0 18px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(44px, 5vw, 66px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -2px;
}

.corp-programs-banner-content p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   ANIMATION
====================================================== */

@keyframes corpProgramsBannerIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 768px) {

    .corp-programs-banner {
        min-height: 380px;
    }

    .corp-programs-banner-content {
        width: min(100% - 30px, 1180px);
    }

    .corp-programs-banner-content h1 {
        font-size: 46px;
        letter-spacing: -1.5px;
    }

}

@media (max-width: 480px) {

    .corp-programs-banner {
        min-height: 340px;
    }

    .corp-programs-banner-content h1 {
        font-size: 38px;
        letter-spacing: -1px;
    }

    .corp-programs-banner-content p {
        font-size: 13px;
        line-height: 1.75;
    }

}

/* =====================================================
   PROGRAM COLLECTION
====================================================== */

.corp-program-collection {
    position: relative;
    width: 100%;
    padding: 120px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-program-collection-wrap {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP
====================================================== */

.corp-program-collection-top {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: end;
    gap: 80px;
    margin-bottom: 65px;
    opacity: 0;
    animation: corpProgramTopIn .9s ease forwards;
}

.corp-program-collection-label {
    display: block;
    margin-bottom: 20px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-program-collection-top h2 {
    max-width: 680px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -2px;
}

.corp-program-collection-top h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-program-collection-top > p {
    max-width: 390px;
    margin: 0 0 5px auto;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   SHOWCASE
====================================================== */

.corp-program-showcase {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}


/* =====================================================
   PROGRAM CARD
====================================================== */

.corp-program-card {
    position: relative;
    background: var(--corp-surface);
    overflow: hidden;
    opacity: 0;
    animation: corpProgramCardIn .8s ease forwards;
}

.corp-program-card:nth-child(1) {
    animation-delay: .15s;
}

.corp-program-card:nth-child(2) {
    animation-delay: .28s;
}

.corp-program-card:nth-child(3) {
    animation-delay: .41s;
}

.corp-program-card:nth-child(4) {
    animation-delay: .54s;
}


/* =====================================================
   IMAGE
====================================================== */

.corp-program-card-image {
    position: relative;
    height: 270px;
    overflow: hidden;
    background: #17283a;
}

.corp-program-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-program-card:hover .corp-program-card-image img {
    transform: scale(1.07);
}

.corp-program-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 45%,
        rgba(23,40,58,.55)
    );
}

.corp-program-card-image > span {
    position: absolute;
    z-index: 2;
    top: 18px;
    left: 18px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}


/* =====================================================
   CARD BODY
====================================================== */

.corp-program-card-body {
    position: relative;
    min-height: 245px;
    padding: 27px 25px 25px;
}

.corp-program-card-body small {
    display: block;
    margin-bottom: 12px;
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-program-card-body h3 {
    max-width: 190px;
    margin: 0 0 14px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
}

.corp-program-card-body p {
    max-width: 220px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.75;
}

.corp-program-card-body a {
    position: absolute;
    right: 22px;
    bottom: 22px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    border: 1px solid var(--corp-line);
    border-radius: 50%;
    text-decoration: none;
    font-size: 11px;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.corp-program-card:hover .corp-program-card-body a {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: rotate(45deg);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpProgramTopIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpProgramCardIn {

    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 1100px) {

    .corp-program-showcase {
        grid-template-columns: repeat(2, 1fr);
    }

    .corp-program-card-image {
        height: 300px;
    }

}

@media (max-width: 992px) {

    .corp-program-collection {
        padding: 90px 0;
    }

    .corp-program-collection-top {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .corp-program-collection-top > p {
        margin-left: 0;
        margin-right: 0;
    }

}

@media (max-width: 768px) {

    .corp-program-collection {
        padding: 75px 0;
    }

    .corp-program-collection-wrap {
        width: min(100% - 30px, 1180px);
    }

    .corp-program-collection-top h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

}

@media (max-width: 560px) {

    .corp-program-showcase {
        grid-template-columns: 1fr;
    }

    .corp-program-card-image {
        height: 300px;
    }

    .corp-program-card-body {
        min-height: 220px;
    }

}

@media (max-width: 480px) {

    .corp-program-collection-top h2 {
        font-size: 37px;
    }

    .corp-program-card-image {
        height: 270px;
    }

}


/* =====================================================
   PROGRAMS — HOW WE BUILD
====================================================== */

.corp-build-section {
    position: relative;
    width: 100%;
    padding: 80px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-build-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP
====================================================== */

.corp-build-top {
    margin-bottom: 65px;
    opacity: 0;
    animation: corpBuildTopIn .9s ease forwards;
}

.corp-build-label {
    display: block;
    margin-bottom: 20px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-build-top h2 {
    max-width: 720px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -2px;
}

.corp-build-top h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =====================================================
   BOARD
====================================================== */

.corp-build-board {
    display: grid;
    grid-template-columns: 1.1fr repeat(4, 1fr);
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}


/* =====================================================
   INTRO COLUMN
====================================================== */

.corp-build-intro {
    padding: 35px 35px 35px 0;
    border-right: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpBuildIntroIn .8s .15s ease forwards;
}

.corp-build-intro > span {
    display: block;
    margin-bottom: 22px;
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-build-intro > p {
    max-width: 220px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}

.corp-build-line {
    width: 45px;
    height: 2px;
    margin: 30px 0 18px;
    background: var(--corp-accent);
}

.corp-build-intro strong {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--corp-text);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.corp-build-intro strong i {
    color: var(--corp-accent);
    font-size: 9px;
}


/* =====================================================
   STEP
====================================================== */

.corp-build-step {
    position: relative;
    min-height: 315px;
    padding: 35px 25px;
    border-right: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpBuildStepIn .8s ease forwards;
    transition:
        background .35s ease,
        transform .35s ease;
}

.corp-build-step:nth-child(2) {
    animation-delay: .2s;
}

.corp-build-step:nth-child(3) {
    animation-delay: .32s;
}

.corp-build-step:nth-child(4) {
    animation-delay: .44s;
}

.corp-build-step:nth-child(5) {
    border-right: 0;
    animation-delay: .56s;
}

.corp-build-step:hover {
    background: var(--corp-bg);
    transform: translateY(-5px);
}

.corp-build-step-number {
    display: block;
    margin-bottom: 50px;
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
}

.corp-build-step > i {
    display: block;
    margin-bottom: 22px;
    color: var(--corp-primary);
    font-size: 21px;
    transition:
        color .3s ease,
        transform .3s ease;
}

.corp-build-step:hover > i {
    color: var(--corp-accent);
    transform: translateY(-3px);
}

.corp-build-step h3 {
    margin: 0 0 12px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.corp-build-step p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.75;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpBuildTopIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpBuildIntroIn {

    from {
        opacity: 0;
        transform: translateX(-25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpBuildStepIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 1100px) {

    .corp-build-board {
        grid-template-columns: 1fr 1fr;
    }

    .corp-build-intro {
        grid-column: 1 / -1;
        padding: 30px 0;
        border-right: 0;
        border-bottom: 1px solid var(--corp-line);
    }

    .corp-build-intro > p {
        max-width: 500px;
    }

    .corp-build-step:nth-child(3) {
        border-right: 0;
    }

    .corp-build-step:nth-child(4),
    .corp-build-step:nth-child(5) {
        border-top: 1px solid var(--corp-line);
    }
}

@media (max-width: 768px) {

    .corp-build-section {
        padding: 75px 0;
    }

    .corp-build-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-build-top {
        margin-bottom: 45px;
    }

    .corp-build-top h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .corp-build-board {
        grid-template-columns: 1fr;
    }

    .corp-build-intro {
        grid-column: auto;
    }

    .corp-build-step,
    .corp-build-step:nth-child(3),
    .corp-build-step:nth-child(4),
    .corp-build-step:nth-child(5) {
        min-height: auto;
        padding: 28px 0;
        border-right: 0;
        border-top: 1px solid var(--corp-line);
    }

    .corp-build-step-number {
        margin-bottom: 25px;
    }

}

@media (max-width: 480px) {

    .corp-build-top h2 {
        font-size: 37px;
    }

    .corp-build-step {
        padding: 25px 0;
    }

}


/* =====================================================
   PROGRAM SPOTLIGHT
====================================================== */

.corp-spotlight-section {
    position: relative;
    width: 100%;
    padding: 125px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-spotlight-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 90px;
    align-items: center;
}


/* =====================================================
   VISUAL
====================================================== */

.corp-spotlight-visual {
    opacity: 0;
    animation: corpSpotlightVisualIn .9s ease forwards;
}

.corp-spotlight-image {
    position: relative;
    width: 100%;
    height: 590px;
    overflow: hidden;
}

.corp-spotlight-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-spotlight-image:hover img {
    transform: scale(1.04);
}

.corp-spotlight-image-label {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: rgba(12, 30, 49, .82);
    backdrop-filter: blur(8px);
}

.corp-spotlight-image-label span {
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.corp-spotlight-image-label strong {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 800;
}

.corp-spotlight-caption {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 25px;
    padding-top: 22px;
    border-top: 1px solid var(--corp-line);
}

.corp-spotlight-caption span {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-spotlight-caption p {
    max-width: 290px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-spotlight-content {
    opacity: 0;
    animation: corpSpotlightContentIn .9s .15s ease forwards;
}

.corp-spotlight-eyebrow {
    display: block;
    margin-bottom: 22px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
}

.corp-spotlight-content h2 {
    max-width: 610px;
    margin: 0 0 25px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(44px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}

.corp-spotlight-content h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-spotlight-description {
    max-width: 510px;
    margin: 0 0 45px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}


/* =====================================================
   OUTCOMES
====================================================== */

.corp-spotlight-outcomes {
    margin-bottom: 40px;
    border-top: 1px solid var(--corp-line);
}

.corp-spotlight-outcome {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 18px;
    padding: 20px 0;
    border-bottom: 1px solid var(--corp-line);
    transition: padding-left .3s ease;
}

.corp-spotlight-outcome:hover {
    padding-left: 8px;
}

.corp-spotlight-outcome > span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
}

.corp-spotlight-outcome strong {
    display: block;
    margin-bottom: 6px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.corp-spotlight-outcome p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.65;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpSpotlightVisualIn {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpSpotlightContentIn {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-spotlight-section {
        padding: 90px 0;
    }

    .corp-spotlight-container {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .corp-spotlight-image {
        height: 520px;
    }

    .corp-spotlight-content h2 {
        max-width: 700px;
    }
}


@media (max-width: 768px) {

    .corp-spotlight-section {
        padding: 75px 0;
    }

    .corp-spotlight-container {
        width: min(100% - 30px, 1180px);
        gap: 45px;
    }

    .corp-spotlight-image {
        height: 430px;
    }

    .corp-spotlight-content h2 {
        font-size: 43px;
        letter-spacing: -1.5px;
    }

    .corp-spotlight-caption {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}


@media (max-width: 480px) {

    .corp-spotlight-image {
        height: 360px;
    }

    .corp-spotlight-content h2 {
        font-size: 37px;
        letter-spacing: -1px;
    }

    .corp-spotlight-description {
        margin-bottom: 30px;
    }

    .corp-spotlight-outcome {
        grid-template-columns: 32px 1fr;
        gap: 12px;
    }
}

/* =====================================================
   LEARNING FORMATS
====================================================== */

.corp-formats-section {
    position: relative;
    width: 100%;
    padding: 125px 0;
    background: #17283a;
    overflow: hidden;
}

.corp-formats-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-formats-header {
    max-width: 820px;
    margin-bottom: 75px;
    opacity: 0;
    animation: corpFormatsHeaderIn .9s ease forwards;
}

.corp-formats-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.corp-formats-label span,
.corp-formats-label strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.corp-formats-label i {
    width: 42px;
    height: 1px;
    background: rgba(214,166,66,.65);
}

.corp-formats-header h2 {
    margin: 0 0 24px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(44px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}

.corp-formats-header h2 span {
    display: block;
    color: var(--corp-accent);
}

.corp-formats-header p {
    max-width: 510px;
    margin: 0;
    color: #9eacbb;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   FORMAT LIST
====================================================== */

.corp-formats-list {
    border-top: 1px solid rgba(255,255,255,.14);
}

.corp-format-item {
    display: grid;
    grid-template-columns: 70px 1.1fr 1.5fr 70px;
    align-items: center;
    min-height: 145px;
    border-bottom: 1px solid rgba(255,255,255,.14);
    transition:
        padding .35s ease,
        background .35s ease;
    opacity: 0;
    animation: corpFormatItemIn .8s ease forwards;
}

.corp-format-item:nth-child(1) {
    animation-delay: .15s;
}

.corp-format-item:nth-child(2) {
    animation-delay: .25s;
}

.corp-format-item:nth-child(3) {
    animation-delay: .35s;
}

.corp-format-item:nth-child(4) {
    animation-delay: .45s;
}

.corp-format-item:hover {
    padding-left: 18px;
    padding-right: 18px;
    background: rgba(255,255,255,.035);
}

.corp-format-index {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-format-main span {
    display: block;
    margin-bottom: 9px;
    color: #8292a3;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-format-main h3 {
    margin: 0;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 22px;
    font-weight: 700;
}

.corp-format-description p {
    max-width: 360px;
    margin: 0;
    color: #98a6b5;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.75;
}

.corp-format-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    justify-self: end;
    color: var(--corp-accent);
    border: 1px solid rgba(214,166,66,.45);
    border-radius: 50%;
    font-size: 15px;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.corp-format-item:hover .corp-format-icon {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: rotate(8deg);
}


/* =====================================================
   FOOTER
====================================================== */

.corp-formats-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 38px;
    opacity: 0;
    animation: corpFormatsFooterIn .8s .65s ease forwards;
}

.corp-formats-footer > span {
    color: #7f90a1;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpFormatsHeaderIn {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpFormatItemIn {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpFormatsFooterIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-formats-section {
        padding: 95px 0;
    }

    .corp-format-item {
        grid-template-columns: 55px 1fr 1.2fr 60px;
    }

    .corp-format-main h3 {
        font-size: 19px;
    }
}


@media (max-width: 768px) {

    .corp-formats-section {
        padding: 75px 0;
    }

    .corp-formats-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-formats-header {
        margin-bottom: 50px;
    }

    .corp-formats-header h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .corp-format-item {
        grid-template-columns: 42px 1fr 52px;
        gap: 15px;
        padding: 25px 0;
    }

    .corp-format-description {
        grid-column: 2 / -1;
    }

    .corp-format-description p {
        max-width: 100%;
    }

    .corp-format-icon {
        grid-column: 3;
        grid-row: 1;
    }

    .corp-formats-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}


@media (max-width: 480px) {

    .corp-formats-header h2 {
        font-size: 37px;
    }

    .corp-format-item {
        grid-template-columns: 32px 1fr 45px;
        gap: 10px;
    }

    .corp-format-main h3 {
        font-size: 17px;
    }

    .corp-format-icon {
        width: 42px;
        height: 42px;
    }
}

/* =====================================================
   PROGRAM EXPERIENCE
====================================================== */

.corp-experience-section {
    position: relative;
    width: 100%;
    padding: 130px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-experience-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-experience-header {
    margin-bottom: 65px;
    opacity: 0;
    animation: corpExperienceHeaderIn .9s ease forwards;
}

.corp-experience-number {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.corp-experience-number span,
.corp-experience-number strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.corp-experience-number i {
    width: 45px;
    height: 1px;
    background: var(--corp-accent);
    opacity: .6;
}

.corp-experience-header h2 {
    max-width: 820px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(44px, 5.2vw, 66px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2.2px;
}

.corp-experience-header h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =====================================================
   MAIN STAGE
====================================================== */

.corp-experience-stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    min-height: 620px;
    opacity: 0;
    animation: corpExperienceStageIn 1s .15s ease forwards;
}


/* =====================================================
   IMAGE
====================================================== */

.corp-experience-image {
    position: relative;
    min-height: 620px;
    overflow: hidden;
}

.corp-experience-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .9s ease;
}

.corp-experience-image:hover img {
    transform: scale(1.035);
}

.corp-experience-image-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(10,24,40,.05) 35%,
            rgba(10,24,40,.78) 100%
        );
}


/* =====================================================
   QUOTE
====================================================== */

.corp-experience-quote {
    position: absolute;
    left: 42px;
    bottom: 40px;
    max-width: 470px;
    color: #ffffff;
}

.corp-experience-quote i {
    margin-bottom: 17px;
    color: var(--corp-accent);
    font-size: 18px;
}

.corp-experience-quote p {
    margin: 0 0 18px;
    font-family: "Manrope", sans-serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.45;
}

.corp-experience-quote span {
    color: rgba(255,255,255,.68);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.8px;
}


/* =====================================================
   FEATURE RAIL
====================================================== */

.corp-experience-rail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--corp-bg);
    border-top: 1px solid var(--corp-line);
    border-right: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}

.corp-experience-feature {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 18px;
    padding: 31px 30px;
    border-bottom: 1px solid var(--corp-line);
    transition:
        background .3s ease,
        padding-left .3s ease;
}

.corp-experience-feature:last-child {
    border-bottom: 0;
}

.corp-experience-feature:hover {
    background: var(--corp-surface);
    padding-left: 38px;
}

.corp-experience-feature > span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
}

.corp-experience-feature strong {
    display: block;
    margin-bottom: 8px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.corp-experience-feature p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-experience-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 35px;
    opacity: 0;
    animation: corpExperienceBottomIn .8s .55s ease forwards;
}

.corp-experience-bottom p {
    max-width: 580px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpExperienceHeaderIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpExperienceStageIn {

    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpExperienceBottomIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-experience-section {
        padding: 95px 0;
    }

    .corp-experience-stage {
        grid-template-columns: 1fr 300px;
    }

    .corp-experience-image,
    .corp-experience-stage {
        min-height: 560px;
    }

    .corp-experience-image {
        min-height: 560px;
    }

    .corp-experience-feature {
        padding: 26px 22px;
    }

}


@media (max-width: 768px) {

    .corp-experience-section {
        padding: 75px 0;
    }

    .corp-experience-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-experience-header {
        margin-bottom: 45px;
    }

    .corp-experience-header h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .corp-experience-stage {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .corp-experience-image {
        min-height: 480px;
    }

    .corp-experience-rail {
        border-left: 1px solid var(--corp-line);
    }

    .corp-experience-feature:hover {
        padding-left: 30px;
    }

    .corp-experience-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 480px) {

    .corp-experience-header h2 {
        font-size: 37px;
    }

    .corp-experience-image {
        min-height: 390px;
    }

    .corp-experience-quote {
        left: 24px;
        right: 24px;
        bottom: 25px;
    }

    .corp-experience-quote p {
        font-size: 18px;
    }

    .corp-experience-feature {
        grid-template-columns: 32px 1fr;
        gap: 12px;
        padding: 24px 18px;
    }

    .corp-experience-feature:hover {
        padding-left: 18px;
    }

}


/* =====================================================
   EXECUTIVE LEARNING
====================================================== */

.corp-executive-section {
    position: relative;
    width: 100%;
    padding: 125px 0;
    background: #101d2b;
    overflow: hidden;
}

.corp-executive-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP
====================================================== */

.corp-executive-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 65px;
    opacity: 0;
    animation: corpExecutiveTopIn .9s ease forwards;
}

.corp-executive-label {
    display: flex;
    align-items: center;
    gap: 12px;
}

.corp-executive-label span,
.corp-executive-label strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.corp-executive-label i {
    width: 45px;
    height: 1px;
    background: var(--corp-accent);
    opacity: .55;
}

.corp-executive-mark {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(214,166,66,.55);
    border-radius: 50%;
    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.corp-executive-mark span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-executive-mark:hover {
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: rotate(8deg);
}

.corp-executive-mark:hover span {
    color: #17283a;
}


/* =====================================================
   MAIN CONTENT
====================================================== */

.corp-executive-main {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 60px;
    opacity: 0;
    animation: corpExecutiveMainIn .9s .12s ease forwards;
}

.corp-executive-heading > span {
    display: block;
    margin-bottom: 20px;
    color: #8999a9;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
}

.corp-executive-heading h2 {
    max-width: 700px;
    margin: 0;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}

.corp-executive-heading h2 em {
    display: block;
    color: var(--corp-accent);
    font-style: normal;
}

.corp-executive-intro {
    padding-bottom: 6px;
}

.corp-executive-intro p {
    max-width: 380px;
    margin: 0 0 28px;
    color: #9caab8;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}

.corp-executive-intro .corp-home-banner-primary {
    flex-direction: row;
}


/* =====================================================
   LARGE VISUAL
====================================================== */

.corp-executive-visual {
    position: relative;
    width: 100%;
    height: 560px;
    overflow: hidden;
    opacity: 0;
    animation: corpExecutiveVisualIn 1s .25s ease forwards;
}

.corp-executive-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 1s ease;
}

.corp-executive-visual:hover img {
    transform: scale(1.035);
}

.corp-executive-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(7,17,28,.12),
            rgba(7,17,28,.15)
        ),
        linear-gradient(
            0deg,
            rgba(7,17,28,.88),
            transparent 48%
        );
    pointer-events: none;
}


/* =====================================================
   IMAGE STATEMENT
====================================================== */

.corp-executive-statement {
    position: absolute;
    left: 42px;
    bottom: 40px;
    max-width: 520px;
}

.corp-executive-statement span {
    display: block;
    margin-bottom: 15px;
    color: var(--corp-accent);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 2px;
}

.corp-executive-statement strong {
    display: block;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.45;
}


/* =====================================================
   VERTICAL SIDE TEXT
====================================================== */

.corp-executive-side-text {
    position: absolute;
    top: 35px;
    right: 30px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.corp-executive-side-text span {
    color: rgba(255,255,255,.7);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 2px;
    writing-mode: vertical-rl;
}


/* =====================================================
   BOTTOM EDITORIAL
====================================================== */

.corp-executive-bottom {
    display: grid;
    grid-template-columns: 1fr 2fr auto;
    align-items: center;
    gap: 30px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.14);
    opacity: 0;
    animation: corpExecutiveBottomIn .8s .5s ease forwards;
}

.corp-executive-bottom > div:first-child span {
    color: var(--corp-accent);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.corp-executive-bottom p {
    max-width: 500px;
    margin: 0;
    color: #8e9dac;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
}

.corp-executive-bottom-number {
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.corp-executive-bottom-number strong {
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 25px;
    font-weight: 700;
}

.corp-executive-bottom-number span {
    color: #7e8d9d;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.4px;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpExecutiveTopIn {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpExecutiveMainIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpExecutiveVisualIn {

    from {
        opacity: 0;
        transform: scale(.97);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}

@keyframes corpExecutiveBottomIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-executive-section {
        padding: 95px 0;
    }

    .corp-executive-main {
        grid-template-columns: 1fr;
        gap: 35px;
        margin-bottom: 50px;
    }

    .corp-executive-intro {
        padding-bottom: 0;
    }

    .corp-executive-visual {
        height: 520px;
    }

    .corp-executive-bottom {
        grid-template-columns: 1fr 1.5fr auto;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-executive-section {
        padding: 75px 0;
    }

    .corp-executive-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-executive-top {
        margin-bottom: 50px;
    }

    .corp-executive-main {
        margin-bottom: 45px;
    }

    .corp-executive-heading h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .corp-executive-visual {
        height: 450px;
    }

    .corp-executive-bottom {
        grid-template-columns: 1fr;
        gap: 18px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-executive-heading h2 {
        font-size: 37px;
        letter-spacing: -1px;
    }

    .corp-executive-visual {
        height: 380px;
    }

    .corp-executive-statement {
        left: 24px;
        right: 24px;
        bottom: 25px;
    }

    .corp-executive-statement strong {
        font-size: 18px;
    }

    .corp-executive-side-text {
        right: 18px;
        top: 20px;
    }

}

/* =====================================================
   PROGRAM IMMERSION
====================================================== */

.corp-immersion-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-immersion-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-immersion-header {
    margin-bottom: 65px;
    opacity: 0;
    animation: corpImmersionHeaderIn .9s ease forwards;
}

.corp-immersion-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.corp-immersion-label span,
.corp-immersion-label strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.corp-immersion-label i {
    width: 45px;
    height: 1px;
    background: var(--corp-accent);
    opacity: .6;
}

.corp-immersion-header h2 {
    max-width: 800px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}

.corp-immersion-header h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =====================================================
   MAIN LAYOUT
====================================================== */

.corp-immersion-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: stretch;
    gap: 0;
    opacity: 0;
    animation: corpImmersionLayoutIn 1s .15s ease forwards;
}


/* =====================================================
   IMAGE
====================================================== */

.corp-immersion-visual {
    position: relative;
    min-height: 600px;
    overflow: hidden;
}

.corp-immersion-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .9s ease;
}

.corp-immersion-visual:hover img {
    transform: scale(1.035);
}

.corp-immersion-image-number {
    position: absolute;
    top: 25px;
    left: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 13px;
    background: rgba(12,30,49,.82);
    backdrop-filter: blur(8px);
}

.corp-immersion-image-number span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 800;
}

.corp-immersion-image-number small {
    color: #ffffff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.4px;
}


/* =====================================================
   CONTENT PANEL
====================================================== */

.corp-immersion-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 65px 65px;
    background: #ffffff;
    border: 1px solid var(--corp-line);
}

.corp-immersion-panel-label {
    display: block;
    margin-bottom: 18px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-immersion-panel h3 {
    max-width: 430px;
    margin: 0 0 20px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
}

.corp-immersion-panel > p {
    max-width: 450px;
    margin: 0 0 35px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   HIGHLIGHTS
====================================================== */

.corp-immersion-highlight {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 15px;
    align-items: center;
    padding: 16px 0;
    border-top: 1px solid var(--corp-line);
}

.corp-immersion-highlight:last-of-type {
    border-bottom: 1px solid var(--corp-line);
}

.corp-immersion-highlight-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 9px;
    font-size: 14px;
    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}

.corp-immersion-highlight:hover .corp-immersion-highlight-icon {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: translateY(-3px);
}

.corp-immersion-highlight strong {
    display: block;
    margin-bottom: 4px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.corp-immersion-highlight span {
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
}


/* =====================================================
   CTA
====================================================== */

.corp-immersion-panel .corp-home-banner-primary {
    align-self: flex-start;
    margin-top: 35px;
}


/* =====================================================
   FOOTER
====================================================== */

.corp-immersion-footer {
    display: grid;
    grid-template-columns: auto 1fr 1.5fr;
    align-items: center;
    gap: 25px;
    padding-top: 28px;
    opacity: 0;
    animation: corpImmersionFooterIn .8s .55s ease forwards;
}

.corp-immersion-footer > span {
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-immersion-footer > div {
    width: 100%;
    height: 1px;
    background: var(--corp-line);
}

.corp-immersion-footer p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpImmersionHeaderIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpImmersionLayoutIn {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpImmersionFooterIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-immersion-section {
        padding: 95px 0;
    }

    .corp-immersion-layout {
        grid-template-columns: 1fr 1fr;
    }

    .corp-immersion-visual {
        min-height: 540px;
    }

    .corp-immersion-panel {
        padding: 45px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-immersion-section {
        padding: 75px 0;
    }

    .corp-immersion-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-immersion-header {
        margin-bottom: 45px;
    }

    .corp-immersion-header h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .corp-immersion-layout {
        grid-template-columns: 1fr;
    }

    .corp-immersion-visual {
        min-height: 430px;
    }

    .corp-immersion-panel {
        padding: 40px 30px;
    }

    .corp-immersion-footer {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .corp-immersion-footer > div {
        width: 60px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-immersion-header h2 {
        font-size: 37px;
        letter-spacing: -1px;
    }

    .corp-immersion-visual {
        min-height: 350px;
    }

    .corp-immersion-panel {
        padding: 32px 22px;
    }

    .corp-immersion-panel h3 {
        font-size: 25px;
    }

}


/* =====================================================
   PROGRAMS CTA
====================================================== */

.corp-programs-cta {
    position: relative;
    width: 100%;
    padding: 120px 0 55px;
    background: var(--corp-primary);
    overflow: hidden;
}

.corp-programs-cta-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

/* Top Label */

.corp-programs-cta-number {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 55px;

    opacity: 0;
    animation: corpProgramsCtaTop .8s ease forwards;
}

.corp-programs-cta-number span,
.corp-programs-cta-number strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.corp-programs-cta-number i {
    width: 48px;
    height: 1px;
    background: var(--corp-accent);
    opacity: .65;
}

/* Main */

.corp-programs-cta-main {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 90px;
    align-items: end;

    opacity: 0;
    animation: corpProgramsCtaMain .9s .12s ease forwards;
}

.corp-programs-cta-heading h2 {
    max-width: 760px;
    margin: 0;

    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5.5vw, 70px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2.5px;
}

.corp-programs-cta-heading h2 span {
    display: block;
    color: var(--corp-accent);
}

.corp-programs-cta-content {
    padding-bottom: 5px;
}

.corp-programs-cta-content p {
    max-width: 390px;
    margin: 0 0 30px;

    color: rgba(255,255,255,.70);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}

/* Button */

.corp-programs-cta-content .corp-home-banner-primary {
    display: inline-flex;
}

/* Bottom */

.corp-programs-cta-bottom {
    display: flex;
    align-items: center;
    gap: 18px;

    margin-top: 100px;
    padding-top: 25px;

    border-top: 1px solid rgba(255,255,255,.14);

    opacity: 0;
    animation: corpProgramsCtaBottom .8s .35s ease forwards;
}

.corp-programs-cta-bottom span {
    color: rgba(255,255,255,.55);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 2px;
}

.corp-programs-cta-bottom i {
    width: 45px;
    height: 1px;
    background: rgba(255,255,255,.25);
}

/* Animations */

@keyframes corpProgramsCtaTop {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpProgramsCtaMain {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpProgramsCtaBottom {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-programs-cta {
        padding: 95px 0 45px;
    }

    .corp-programs-cta-main {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .corp-programs-cta-content p {
        max-width: 600px;
    }

    .corp-programs-cta-bottom {
        margin-top: 70px;
    }
}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-programs-cta {
        padding: 75px 0 35px;
    }

    .corp-programs-cta-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-programs-cta-number {
        margin-bottom: 40px;
    }

    .corp-programs-cta-heading h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .corp-programs-cta-bottom {
        margin-top: 55px;
        flex-wrap: wrap;
        gap: 13px;
    }
}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-programs-cta-heading h2 {
        font-size: 36px;
        letter-spacing: -1px;
    }

    .corp-programs-cta-content p {
        font-size: 13px;
    }

    .corp-programs-cta-bottom i {
        width: 25px;
    }
}

/* =====================================================
   METHODOLOGY — LEARNING PRINCIPLES
====================================================== */

.corp-method-principles {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-method-principles-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-method-principles-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 80px;
    align-items: end;
    margin-bottom: 70px;
    opacity: 0;
    animation: corpMethodPrinciplesHeader .8s ease forwards;
}

.corp-method-principles-heading-meta {
    grid-column: 1 / -1;

    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 28px;
}

.corp-method-principles-heading-meta span,
.corp-method-principles-heading-meta strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-method-principles-heading-meta i {
    width: 45px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-method-principles-header h2 {
    max-width: 650px;
    margin: 0;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2.8px;
}

.corp-method-principles-header h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-method-principles-header > p {
    max-width: 390px;
    margin: 0 0 4px;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   PRINCIPLES STAGE
====================================================== */

.corp-method-principles-stage {
    position: relative;

    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;

    border-top: 1px solid var(--corp-line);
    border-left: 1px solid var(--corp-line);

    opacity: 0;
    animation: corpMethodPrinciplesStage 1s .15s ease forwards;
}


/* =====================================================
   PRINCIPLE
====================================================== */

.corp-method-principle {
    min-width: 0;
    min-height: 260px;

    padding: 32px 34px 36px;

    background: var(--corp-surface);
    border-right: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);

    transition:
        background .3s ease,
        transform .3s ease;
}

.corp-method-principle:hover {
    background: var(--corp-soft);
}

.corp-method-principle-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 55px;
}

.corp-method-principle-top > span {
    color: var(--corp-accent);

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.corp-method-principle-top > i {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 9px;

    font-size: 14px;

    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.corp-method-principle:hover .corp-method-principle-top > i {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: translateY(-3px);
}


/* =====================================================
   PRINCIPLE CONTENT
====================================================== */

.corp-method-principle-content small {
    display: block;

    margin-bottom: 9px;

    color: var(--corp-accent);

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-method-principle-content h3 {
    margin: 0 0 12px;

    color: var(--corp-text);

    font-family: "Manrope", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.15;
}

.corp-method-principle-content p {
    max-width: 330px;
    margin: 0;

    color: var(--corp-muted);

    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   CENTER APPROACH
====================================================== */

.corp-method-principles-center {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 150px;
    height: 150px;

    display: grid;
    place-items: center;

    transform: translate(-50%, -50%);

    z-index: 5;
}

.corp-method-principles-center-ring {
    width: 150px;
    height: 150px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: var(--corp-primary);
    border: 7px solid var(--corp-bg);
    border-radius: 50%;

    box-shadow: 0 12px 35px rgba(24, 40, 58, .15);

    text-align: center;
}

.corp-method-principles-center-ring span {
    margin-bottom: 4px;

    color: rgba(255, 255, 255, .65);

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.corp-method-principles-center-ring strong {
    color: #ffffff;

    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.3px;
}

.corp-method-principles-center-ring i {
    margin-top: 12px;

    color: var(--corp-accent);
    font-size: 11px;
}


/* =====================================================
   FOOTER
====================================================== */

.corp-method-principles-footer {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 35px;

    padding-top: 30px;

    opacity: 0;
    animation: corpMethodPrinciplesFooter .8s .4s ease forwards;
}

.corp-method-principles-footer-line {
    display: flex;
    align-items: center;
    gap: 10px;
}

.corp-method-principles-footer-line span {
    color: var(--corp-primary);

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.corp-method-principles-footer-line i {
    width: 24px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-method-principles-footer > p {
    max-width: 430px;
    margin: 0;

    color: var(--corp-muted);

    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpMethodPrinciplesHeader {

    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpMethodPrinciplesStage {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpMethodPrinciplesFooter {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-method-principles {
        padding: 100px 0;
    }

    .corp-method-principles-header {
        grid-template-columns: 1fr;
        row-gap: 25px;
        margin-bottom: 55px;
    }

    .corp-method-principles-header > p {
        max-width: 600px;
        margin: 0;
    }

    .corp-method-principles-stage {
        grid-template-columns: 1fr 1fr;
    }

    .corp-method-principle {
        min-height: 250px;
    }

    .corp-method-principles-center {
        width: 125px;
        height: 125px;
    }

    .corp-method-principles-center-ring {
        width: 125px;
        height: 125px;
    }

    .corp-method-principles-center-ring strong {
        font-size: 15px;
    }

    .corp-method-principles-footer {
        grid-template-columns: 1fr 1fr;
        gap: 25px;
    }

    .corp-method-principles-footer > .corp-home-banner-primary {
        justify-self: end;
    }

    .corp-method-principles-footer > p {
        grid-column: 1 / -1;
        grid-row: 2;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-method-principles {
        padding: 100px 0;
    }

    .corp-method-principles-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-method-principles-header {
        margin-bottom: 45px;
    }

    .corp-method-principles-header h2 {
        font-size: 45px;
        letter-spacing: -2px;
    }

    .corp-method-principles-stage {
        display: block;
        border-left: 1px solid var(--corp-line);
    }

    .corp-method-principle {
        min-height: auto;
        padding: 30px 25px 34px;
    }

    .corp-method-principle-top {
        margin-bottom: 35px;
    }

    .corp-method-principles-center {
        position: relative;

        top: auto;
        left: auto;

        width: 100%;
        height: auto;

        padding: 30px 0;

        transform: none;

        background: var(--corp-bg);

        border-top: 1px solid var(--corp-line);
        border-bottom: 1px solid var(--corp-line);
    }

    .corp-method-principles-center-ring {
        width: 105px;
        height: 105px;
        border-width: 5px;
    }

    .corp-method-principles-center-ring strong {
        font-size: 14px;
    }

    .corp-method-principles-footer {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .corp-method-principles-footer > .corp-home-banner-primary {
        justify-self: auto;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-method-principles {
        padding: 100px 0;
    }

    .corp-method-principles-container {
        width: calc(100% - 30px);
    }

    .corp-method-principles-header h2 {
        font-size: 38px;
        letter-spacing: -1.3px;
    }

    .corp-method-principles-heading-meta {
        gap: 9px;
    }

    .corp-method-principles-heading-meta i {
        width: 30px;
    }

    .corp-method-principle {
        padding: 26px 20px 30px;
    }

    .corp-method-principle-top {
        margin-bottom: 30px;
    }

    .corp-method-principle-content h3 {
        font-size: 23px;
    }

    .corp-method-principles-footer-line {
        flex-wrap: wrap;
    }

}

/* =====================================================
   METHODOLOGY — LEARNING DELIVERY MODEL
====================================================== */

.corp-delivery-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-delivery-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 90px;
    align-items: start;
}


/* =====================================================
   INTRO
====================================================== */

.corp-delivery-intro {
    position: sticky;
    top: 110px;

    opacity: 0;
    animation: corpDeliveryIntroIn .8s ease forwards;
}

.corp-delivery-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
}

.corp-delivery-label span,
.corp-delivery-label strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-delivery-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-delivery-intro h2 {
    max-width: 500px;
    margin: 0 0 25px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2.8px;
}

.corp-delivery-intro h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-delivery-intro > p {
    max-width: 420px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}

.corp-delivery-signature {
    margin-top: 65px;
    padding-top: 20px;

    border-top: 1px solid var(--corp-line);
}

.corp-delivery-signature span {
    display: block;
    margin-bottom: 9px;

    color: var(--corp-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-delivery-signature strong {
    display: flex;
    align-items: center;
    gap: 9px;

    color: var(--corp-primary);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.corp-delivery-signature strong i {
    width: 18px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   DELIVERY MODEL
====================================================== */

.corp-delivery-model {
    border-top: 1px solid var(--corp-line);

    opacity: 0;
    animation: corpDeliveryModelIn .9s .15s ease forwards;
}

.corp-delivery-item {
    position: relative;

    display: grid;
    grid-template-columns: 55px 1fr 50px;
    gap: 25px;
    align-items: start;

    padding: 31px 0 34px;

    border-bottom: 1px solid var(--corp-line);

    transition:
        padding-left .3s ease,
        background .3s ease;
}

.corp-delivery-item::before {
    content: "";

    position: absolute;
    left: -18px;
    top: 0;

    width: 2px;
    height: 0;

    background: var(--corp-accent);

    transition: height .35s ease;
}

.corp-delivery-item:hover::before {
    height: 100%;
}

.corp-delivery-number {
    color: var(--corp-accent);

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.corp-delivery-item-content span {
    display: block;
    margin-bottom: 8px;

    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-delivery-item-content h3 {
    margin: 0 0 10px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.2;
}

.corp-delivery-item-content p {
    max-width: 560px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}

.corp-delivery-item-icon {
    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 9px;

    font-size: 13px;

    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.corp-delivery-item:hover .corp-delivery-item-icon {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: translateY(-3px);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpDeliveryIntroIn {

    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpDeliveryModelIn {

    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-delivery-section {
        padding: 100px 0;
    }

    .corp-delivery-container {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .corp-delivery-intro {
        position: static;
    }

    .corp-delivery-intro > p {
        max-width: 620px;
    }

    .corp-delivery-signature {
        max-width: 500px;
        margin-top: 40px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-delivery-section {
        padding: 100px 0;
    }

    .corp-delivery-container {
        width: min(100% - 30px, 1180px);
        gap: 45px;
    }

    .corp-delivery-intro h2 {
        font-size: 45px;
        letter-spacing: -2px;
    }

    .corp-delivery-item {
        grid-template-columns: 38px 1fr 44px;
        gap: 15px;
        padding: 27px 0 30px;
    }

    .corp-delivery-item::before {
        left: -10px;
    }

    .corp-delivery-item-content h3 {
        font-size: 21px;
    }

    .corp-delivery-item-icon {
        width: 42px;
        height: 42px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-delivery-section {
        padding: 100px 0;
    }

    .corp-delivery-container {
        width: calc(100% - 30px);
    }

    .corp-delivery-intro h2 {
        font-size: 38px;
        letter-spacing: -1.3px;
    }

    .corp-delivery-label {
        gap: 9px;
    }

    .corp-delivery-label i {
        width: 30px;
    }

    .corp-delivery-item {
        grid-template-columns: 32px 1fr;
        gap: 13px;
    }

    .corp-delivery-item-icon {
        grid-column: 2;
        margin-top: 5px;
    }

    .corp-delivery-item-content h3 {
        font-size: 20px;
    }

}

/* =====================================================
   METHODOLOGY — LEARNING IN PRACTICE
====================================================== */

.corp-practice-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-practice-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   LABEL
====================================================== */

.corp-practice-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 45px;

    opacity: 0;
    animation: corpPracticeLabelIn .8s ease forwards;
}

.corp-practice-label span,
.corp-practice-label strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-practice-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   MAIN LAYOUT
====================================================== */

.corp-practice-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 85px;
    align-items: center;
}


/* =====================================================
   MAIN IMAGE
====================================================== */

.corp-practice-visual {
    position: relative;
    min-height: 620px;

    overflow: hidden;

    opacity: 0;
    animation: corpPracticeVisualIn .9s .1s ease forwards;
}

.corp-practice-visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(10, 25, 40, .72)
        );

    pointer-events: none;
}

.corp-practice-visual img {
    width: 100%;
    height: 100%;
    min-height: 620px;

    display: block;
    object-fit: cover;

    transition: transform .7s ease;
}

.corp-practice-visual:hover img {
    transform: scale(1.035);
}

.corp-practice-image-caption {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 25px;

    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.corp-practice-image-caption span {
    color: #ffffff;

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.corp-practice-image-caption strong {
    color: var(--corp-accent);

    font-family: "Manrope", sans-serif;
    font-size: 28px;
    font-weight: 800;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-practice-content {
    opacity: 0;
    animation: corpPracticeContentIn .9s .2s ease forwards;
}

.corp-practice-kicker {
    display: block;
    margin-bottom: 18px;

    color: var(--corp-accent);

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.corp-practice-content h2 {
    max-width: 500px;
    margin: 0 0 24px;

    color: var(--corp-text);

    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2.8px;
}

.corp-practice-content h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-practice-description {
    max-width: 455px;
    margin: 0 0 42px;

    color: var(--corp-muted);

    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   FEATURES
====================================================== */

.corp-practice-feature {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 18px;

    padding: 20px 0;

    border-top: 1px solid var(--corp-line);

    opacity: 0;
    animation: corpPracticeFeatureIn .7s ease forwards;
}

.corp-practice-feature:nth-child(4) {
    animation-delay: .35s;
}

.corp-practice-feature:nth-child(5) {
    animation-delay: .45s;
}

.corp-practice-feature:nth-child(6) {
    animation-delay: .55s;
}

.corp-practice-feature:last-child {
    border-bottom: 1px solid var(--corp-line);
}

.corp-practice-feature-number {
    color: var(--corp-accent);

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
}

.corp-practice-feature h3 {
    margin: 0 0 7px;

    color: var(--corp-text);

    font-family: "Manrope", sans-serif;
    font-size: 19px;
    font-weight: 700;
}

.corp-practice-feature p {
    max-width: 390px;
    margin: 0;

    color: var(--corp-muted);

    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   GALLERY
====================================================== */

.corp-practice-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.25fr;
    gap: 14px;

    margin-top: 70px;

    opacity: 0;
    animation: corpPracticeGalleryIn .9s .45s ease forwards;
}

.corp-practice-gallery-item {
    position: relative;
    height: 170px;

    overflow: hidden;
}

.corp-practice-gallery-item::after {
    content: "";

    position: absolute;
    inset: 0;

    background: linear-gradient(
        180deg,
        transparent 45%,
        rgba(10, 25, 40, .75)
    );
}

.corp-practice-gallery-item img {
    width: 100%;
    height: 100%;

    display: block;
    object-fit: cover;

    transition: transform .5s ease;
}

.corp-practice-gallery-item:hover img {
    transform: scale(1.06);
}

.corp-practice-gallery-item span {
    position: absolute;
    left: 15px;
    bottom: 13px;
    z-index: 2;

    color: #ffffff;

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.corp-practice-gallery-text {
    min-height: 170px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 20px 25px;

    background: var(--corp-primary);
}

.corp-practice-gallery-text strong {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;

    margin-bottom: 15px;

    color: #ffffff;

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.corp-practice-gallery-text strong i {
    width: 16px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-practice-gallery-text p {
    max-width: 210px;
    margin: 0;

    color: rgba(255,255,255,.68);

    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpPracticeLabelIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpPracticeVisualIn {

    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpPracticeContentIn {

    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpPracticeFeatureIn {

    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpPracticeGalleryIn {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-practice-section {
        padding: 100px 0;
    }

    .corp-practice-layout {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .corp-practice-visual {
        min-height: 520px;
    }

    .corp-practice-visual img {
        min-height: 520px;
    }

    .corp-practice-content h2 {
        max-width: 650px;
    }

    .corp-practice-description {
        max-width: 650px;
    }

    .corp-practice-gallery {
        grid-template-columns: 1fr 1fr;
    }

    .corp-practice-gallery-text {
        min-height: 170px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-practice-section {
        padding: 100px 0;
    }

    .corp-practice-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-practice-label {
        margin-bottom: 35px;
    }

    .corp-practice-visual {
        min-height: 430px;
    }

    .corp-practice-visual img {
        min-height: 430px;
    }

    .corp-practice-content h2 {
        font-size: 45px;
        letter-spacing: -2px;
    }

    .corp-practice-description {
        margin-bottom: 30px;
    }

    .corp-practice-gallery {
        grid-template-columns: 1fr 1fr;
        margin-top: 50px;
    }

    .corp-practice-gallery-item {
        height: 150px;
    }

    .corp-practice-gallery-text {
        min-height: 150px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-practice-section {
        padding: 100px 0;
    }

    .corp-practice-container {
        width: calc(100% - 30px);
    }

    .corp-practice-content h2 {
        font-size: 38px;
        letter-spacing: -1.3px;
    }

    .corp-practice-label {
        gap: 9px;
    }

    .corp-practice-label i {
        width: 30px;
    }

    .corp-practice-visual {
        min-height: 360px;
    }

    .corp-practice-visual img {
        min-height: 360px;
    }

    .corp-practice-image-caption {
        left: 18px;
        right: 18px;
    }

    .corp-practice-gallery {
        grid-template-columns: 1fr;
    }

    .corp-practice-gallery-item,
    .corp-practice-gallery-text {
        min-height: 145px;
        height: 145px;
    }

}

/* =====================================================
   METHODOLOGY — THE LEARNING DIFFERENCE
====================================================== */

.corp-difference-method-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-difference-method-container {
    position: relative;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   VISUAL
====================================================== */

.corp-difference-method-visual {
    position: relative;
    width: 100%;
    height: 650px;
    overflow: hidden;

    opacity: 0;
    animation: corpDifferenceMethodVisualIn .9s ease forwards;
}

.corp-difference-method-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;

    transition: transform .8s ease;
}

.corp-difference-method-visual:hover img {
    transform: scale(1.035);
}

.corp-difference-method-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(10, 25, 40, .82),
            rgba(10, 25, 40, .38),
            rgba(10, 25, 40, .10)
        );
}

.corp-difference-method-visual-text {
    position: absolute;
    left: 55px;
    bottom: 58px;

    z-index: 2;
    max-width: 620px;
}

.corp-difference-method-visual-text > span {
    display: block;
    margin-bottom: 20px;

    color: var(--corp-accent);

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-difference-method-visual-text h2 {
    margin: 0;

    color: #ffffff;

    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -2.5px;
}

.corp-difference-method-visual-text h2 strong {
    display: block;
    color: var(--corp-accent);
    font-weight: 800;
}


/* =====================================================
   FLOATING PANEL
====================================================== */

.corp-difference-method-panel {
    position: relative;
    z-index: 3;

    width: 510px;
    margin: -245px 55px 0 auto;

    padding: 42px 42px 45px;

    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    box-shadow: var(--corp-shadow);

    opacity: 0;
    animation: corpDifferenceMethodPanelIn .9s .25s ease forwards;
}

.corp-difference-method-panel-top {
    display: flex;
    align-items: center;
    gap: 11px;

    margin-bottom: 24px;
}

.corp-difference-method-panel-top span,
.corp-difference-method-panel-top strong {
    color: var(--corp-accent);

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-difference-method-panel-top i {
    width: 30px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-difference-method-panel-lead {
    margin: 0 0 30px;

    color: var(--corp-text);

    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.65;
}


/* =====================================================
   POINTS
====================================================== */

.corp-difference-method-points {
    border-top: 1px solid var(--corp-line);
    margin-bottom: 32px;
}

.corp-difference-method-point {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 15px;

    padding: 18px 0;

    border-bottom: 1px solid var(--corp-line);
}

.corp-difference-method-point > span {
    color: var(--corp-accent);

    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 800;
}

.corp-difference-method-point h3 {
    margin: 0 0 5px;

    color: var(--corp-text);

    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 700;
}

.corp-difference-method-point p {
    max-width: 350px;
    margin: 0;

    color: var(--corp-muted);

    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-difference-method-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    padding-top: 32px;

    opacity: 0;
    animation: corpDifferenceMethodBottomIn .8s .5s ease forwards;
}

.corp-difference-method-bottom span,
.corp-difference-method-bottom strong {
    color: var(--corp-primary);

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-difference-method-bottom strong {
    color: var(--corp-accent);
}

.corp-difference-method-bottom i {
    width: 25px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpDifferenceMethodVisualIn {

    from {
        opacity: 0;
        transform: scale(1.03);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}

@keyframes corpDifferenceMethodPanelIn {

    from {
        opacity: 0;
        transform: translateY(45px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpDifferenceMethodBottomIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-difference-method-section {
        padding: 100px 0;
    }

    .corp-difference-method-visual {
        height: 560px;
    }

    .corp-difference-method-visual-text {
        left: 40px;
        bottom: 45px;
    }

    .corp-difference-method-panel {
        width: min(510px, calc(100% - 70px));
        margin: -180px 35px 0 auto;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-difference-method-section {
        padding: 100px 0;
    }

    .corp-difference-method-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-difference-method-visual {
        height: 500px;
    }

    .corp-difference-method-visual-text {
        left: 25px;
        right: 25px;
        bottom: 35px;
    }

    .corp-difference-method-visual-text h2 {
        font-size: 45px;
        letter-spacing: -2px;
    }

    .corp-difference-method-panel {
        width: calc(100% - 30px);
        margin: -80px 15px 0;
        padding: 32px 25px 35px;
    }

    .corp-difference-method-bottom {
        flex-wrap: wrap;
        gap: 9px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-difference-method-section {
        padding: 100px 0;
    }

    .corp-difference-method-container {
        width: calc(100% - 30px);
    }

    .corp-difference-method-visual {
        height: 420px;
    }

    .corp-difference-method-visual-text {
        left: 20px;
        right: 20px;
        bottom: 25px;
    }

    .corp-difference-method-visual-text h2 {
        font-size: 38px;
        letter-spacing: -1.3px;
    }

    .corp-difference-method-panel {
        width: calc(100% - 20px);
        margin: -55px 10px 0;
        padding: 28px 20px 30px;
    }

    .corp-difference-method-panel-lead {
        font-size: 16px;
    }

    .corp-difference-method-bottom {
        justify-content: flex-start;
    }

}

/* =====================================================
   METHODOLOGY — MEASURE & IMPROVE
====================================================== */

.corp-measure-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-measure-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-measure-header {
    margin-bottom: 60px;

    opacity: 0;
    animation: corpMeasureHeaderIn .8s ease forwards;
}

.corp-measure-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
}

.corp-measure-label span,
.corp-measure-label strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-measure-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-measure-heading-wrap {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 80px;
    align-items: end;
}

.corp-measure-heading-wrap h2 {
    max-width: 700px;
    margin: 0;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2.8px;
}

.corp-measure-heading-wrap h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-measure-heading-wrap p {
    max-width: 390px;
    margin: 0 0 3px;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   STAGE
====================================================== */

.corp-measure-stage {
    display: grid;
    grid-template-columns: 1.1fr .9fr;

    min-height: 610px;

    border: 1px solid var(--corp-line);

    opacity: 0;
    animation: corpMeasureStageIn .9s .15s ease forwards;
}


/* =====================================================
   IMAGE
====================================================== */

.corp-measure-image {
    position: relative;
    min-height: 610px;
    overflow: hidden;
}

.corp-measure-image img {
    width: 100%;
    height: 100%;
    min-height: 610px;

    display: block;
    object-fit: cover;

    transition: transform .7s ease;
}

.corp-measure-image:hover img {
    transform: scale(1.035);
}

.corp-measure-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgba(9, 23, 38, .72)
        );

    pointer-events: none;
}

.corp-measure-image-mark {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 27px;

    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.corp-measure-image-mark span {
    color: #ffffff;

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.corp-measure-image-mark strong {
    color: var(--corp-accent);

    font-family: "Manrope", sans-serif;
    font-size: 30px;
    font-weight: 800;
}


/* =====================================================
   PANEL
====================================================== */

.corp-measure-panel {
    display: flex;
    flex-direction: column;

    padding: 38px 40px;

    background: var(--corp-surface);
}

.corp-measure-panel-top {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 25px;
}

.corp-measure-panel-top span,
.corp-measure-panel-top strong {
    color: var(--corp-accent);

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-measure-panel-top i {
    width: 25px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   STATS
====================================================== */

.corp-measure-stat {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 15px;

    padding: 22px 0;

    border-top: 1px solid var(--corp-line);
}

.corp-measure-stat:last-of-type {
    border-bottom: 1px solid var(--corp-line);
}

.corp-measure-stat > strong {
    color: var(--corp-accent);

    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
}

.corp-measure-stat h3 {
    margin: 0 0 7px;

    color: var(--corp-text);

    font-family: "Manrope", sans-serif;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
}

.corp-measure-stat p {
    max-width: 320px;
    margin: 0;

    color: var(--corp-muted);

    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}


/* =====================================================
   PANEL BOTTOM
====================================================== */

.corp-measure-panel-bottom {
    margin-top: auto;
    padding-top: 28px;
}

.corp-measure-panel-bottom > span {
    display: block;
    margin-bottom: 10px;

    color: var(--corp-muted);

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-measure-panel-bottom strong {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;

    color: var(--corp-primary);

    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.corp-measure-panel-bottom strong i {
    width: 18px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   FOOTER
====================================================== */

.corp-measure-footer {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    align-items: center;
    gap: 25px;

    padding-top: 30px;

    opacity: 0;
    animation: corpMeasureFooterIn .8s .45s ease forwards;
}

.corp-measure-footer-line {
    width: 90px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-measure-footer p {
    max-width: 500px;
    margin: 0;

    color: var(--corp-muted);

    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpMeasureHeaderIn {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpMeasureStageIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpMeasureFooterIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-measure-section {
        padding: 100px 0;
    }

    .corp-measure-heading-wrap {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .corp-measure-heading-wrap p {
        max-width: 650px;
    }

    .corp-measure-stage {
        grid-template-columns: 1fr 1fr;
        min-height: 550px;
    }

    .corp-measure-image,
    .corp-measure-image img {
        min-height: 550px;
    }

    .corp-measure-panel {
        padding: 32px 28px;
    }

    .corp-measure-footer {
        grid-template-columns: 60px 1fr;
    }

    .corp-measure-footer-line {
        width: 60px;
    }

    .corp-measure-footer .corp-home-banner-primary {
        grid-column: 2;
        justify-self: start;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-measure-section {
        padding: 100px 0;
    }

    .corp-measure-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-measure-header {
        margin-bottom: 45px;
    }

    .corp-measure-heading-wrap h2 {
        font-size: 45px;
        letter-spacing: -2px;
    }

    .corp-measure-stage {
        display: block;
        min-height: auto;
    }

    .corp-measure-image {
        min-height: 430px;
    }

    .corp-measure-image img {
        min-height: 430px;
    }

    .corp-measure-panel {
        padding: 32px 25px;
    }

    .corp-measure-footer {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .corp-measure-footer-line {
        width: 55px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-measure-section {
        padding: 100px 0;
    }

    .corp-measure-container {
        width: calc(100% - 30px);
    }

    .corp-measure-label {
        gap: 9px;
    }

    .corp-measure-label i {
        width: 30px;
    }

    .corp-measure-heading-wrap h2 {
        font-size: 38px;
        letter-spacing: -1.3px;
    }

    .corp-measure-image,
    .corp-measure-image img {
        min-height: 360px;
    }

    .corp-measure-panel {
        padding: 28px 20px;
    }

    .corp-measure-stat {
        grid-template-columns: 32px 1fr;
    }

}

/* =====================================================
   METHODOLOGY — FINAL CTA
====================================================== */

.corp-method-final-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-method-final-container {
    position: relative;
    width: min(1180px, calc(100% - 40px));
    min-height: 570px;
    margin: 0 auto;
    overflow: hidden;
}


/* =====================================================
   BACKGROUND VISUAL
====================================================== */

.corp-method-final-visual {
    position: absolute;
    inset: 0;
    overflow: hidden;

    opacity: 0;
    animation: corpMethodFinalVisualIn 1s ease forwards;
}

.corp-method-final-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;

    transition: transform .8s ease;
}

.corp-method-final-container:hover
.corp-method-final-visual img {
    transform: scale(1.025);
}

.corp-method-final-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(10, 25, 40, .94),
            rgba(10, 25, 40, .76),
            rgba(10, 25, 40, .34)
        );
}


/* =====================================================
   CONTENT
====================================================== */

.corp-method-final-content {
    position: relative;
    z-index: 2;

    width: min(700px, 65%);
    padding: 95px 0 75px 65px;

    opacity: 0;
    animation: corpMethodFinalContentIn .9s .2s ease forwards;
}

.corp-method-final-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
}

.corp-method-final-label span,
.corp-method-final-label strong {
    color: var(--corp-accent);

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.corp-method-final-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-method-final-content h2 {
    max-width: 680px;
    margin: 0 0 25px;

    color: #ffffff;

    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2.8px;
}

.corp-method-final-content h2 span {
    display: block;
    color: var(--corp-accent);
}

.corp-method-final-content > p {
    max-width: 510px;
    margin: 0;

    color: rgba(255,255,255,.72);

    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   ACTIONS
====================================================== */

.corp-method-final-actions {
    display: flex;
    align-items: center;
    gap: 28px;

    margin-top: 38px;
}

.corp-method-final-actions .corp-home-banner-primary {
    flex-shrink: 0;
}

.corp-method-final-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: #ffffff;

    font-size: 11px;
    font-weight: 700;
    text-decoration: none;

    transition: color .3s ease;
}

.corp-method-final-link i {
    font-size: 10px;
    transition: transform .3s ease;
}

.corp-method-final-link:hover {
    color: var(--corp-accent);
}

.corp-method-final-link:hover i {
    transform: translateX(4px);
}


/* =====================================================
   BOTTOM EDITORIAL LINE
====================================================== */

.corp-method-final-bottom {
    position: absolute;
    z-index: 3;

    left: 65px;
    right: 65px;
    bottom: 27px;

    display: flex;
    align-items: center;
    gap: 12px;

    padding-top: 18px;

    border-top: 1px solid rgba(255,255,255,.22);

    opacity: 0;
    animation: corpMethodFinalBottomIn .8s .5s ease forwards;
}

.corp-method-final-bottom span,
.corp-method-final-bottom strong {
    color: rgba(255,255,255,.58);

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-method-final-bottom strong {
    color: var(--corp-accent);
}

.corp-method-final-bottom i {
    width: 22px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpMethodFinalVisualIn {

    from {
        opacity: 0;
        transform: scale(1.035);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}

@keyframes corpMethodFinalContentIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpMethodFinalBottomIn {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-method-final-section {
        padding: 100px 0;
    }

    .corp-method-final-container {
        min-height: 540px;
    }

    .corp-method-final-content {
        width: 72%;
        padding-left: 45px;
    }

    .corp-method-final-bottom {
        left: 45px;
        right: 45px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-method-final-section {
        padding: 100px 0;
    }

    .corp-method-final-container {
        width: min(100% - 30px, 1180px);
        min-height: 600px;
    }

    .corp-method-final-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(10, 25, 40, .90),
                rgba(10, 25, 40, .72)
            );
    }

    .corp-method-final-content {
        width: 100%;
        padding: 65px 30px 120px;
    }

    .corp-method-final-content h2 {
        font-size: 45px;
        letter-spacing: -2px;
    }

    .corp-method-final-actions {
        flex-wrap: wrap;
        gap: 20px;
    }

    .corp-method-final-bottom {
        left: 30px;
        right: 30px;
        bottom: 25px;

        flex-wrap: wrap;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-method-final-section {
        padding: 100px 0;
    }

    .corp-method-final-container {
        width: calc(100% - 30px);
        min-height: 620px;
    }

    .corp-method-final-content {
        padding: 55px 22px 130px;
    }

    .corp-method-final-label {
        gap: 9px;
    }

    .corp-method-final-label i {
        width: 30px;
    }

    .corp-method-final-content h2 {
        font-size: 38px;
        letter-spacing: -1.3px;
    }

    .corp-method-final-content > p {
        line-height: 1.75;
    }

    .corp-method-final-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .corp-method-final-bottom {
        left: 22px;
        right: 22px;
        gap: 9px;
    }

}

/* =====================================================
   CLIENTS — CLIENT ECOSYSTEM
====================================================== */

.corp-client-ecosystem-section {
    width: 100%;
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-client-ecosystem-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP
====================================================== */

.corp-client-ecosystem-top {
    max-width: 760px;
    margin-bottom: 65px;

    opacity: 0;
    animation: corpClientEcoTopIn .9s ease forwards;
}

.corp-client-ecosystem-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;
}

.corp-client-ecosystem-label span,
.corp-client-ecosystem-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-client-ecosystem-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-client-ecosystem-top h2 {
    margin: 0 0 20px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2.5px;
}

.corp-client-ecosystem-top h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-client-ecosystem-top p {
    max-width: 570px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   INDUSTRY WALL
====================================================== */

.corp-client-ecosystem-wall {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-top: 1px solid var(--corp-line);
    border-left: 1px solid var(--corp-line);
}

.corp-client-ecosystem-item {
    position: relative;
    min-height: 190px;
    padding: 30px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    border-right: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);

    background: var(--corp-surface);

    overflow: hidden;

    opacity: 0;
    animation: corpClientEcoItemIn .7s ease forwards;

    transition:
        background .3s ease,
        transform .3s ease;
}

.corp-client-ecosystem-item:nth-child(1) {
    animation-delay: .12s;
}

.corp-client-ecosystem-item:nth-child(2) {
    animation-delay: .2s;
}

.corp-client-ecosystem-item:nth-child(3) {
    animation-delay: .28s;
}

.corp-client-ecosystem-item:nth-child(4) {
    animation-delay: .36s;
}

.corp-client-ecosystem-item:nth-child(5) {
    animation-delay: .44s;
}

.corp-client-ecosystem-item:nth-child(6) {
    animation-delay: .52s;
}

.corp-client-ecosystem-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;

    width: 3px;
    height: 0;

    background: var(--corp-accent);

    transition: height .35s ease;
}

.corp-client-ecosystem-item:hover {
    background: var(--corp-soft);
    transform: translateY(-4px);
}

.corp-client-ecosystem-item:hover::before {
    height: 100%;
}

.corp-client-ecosystem-item > span {
    position: absolute;
    top: 25px;
    right: 28px;

    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}

.corp-client-ecosystem-item i {
    width: 46px;
    height: 46px;
    margin-bottom: 25px;

    display: grid;
    place-items: center;

    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 9px;

    font-size: 15px;

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}

.corp-client-ecosystem-item:hover i {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: translateY(-3px);
}

.corp-client-ecosystem-item strong {
    margin-bottom: 7px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.corp-client-ecosystem-item small {
    color: var(--corp-muted);
    font-size: 10px;
    font-weight: 400;
    line-height: 1.5;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-client-ecosystem-bottom {
    margin-top: 45px;

    display: grid;
    grid-template-columns: 1fr 2fr auto;
    align-items: center;
    gap: 25px;

    opacity: 0;
    animation: corpClientEcoBottomIn .8s .65s ease forwards;
}

.corp-client-ecosystem-line {
    width: 100%;
    height: 1px;
    background: var(--corp-accent);
}

.corp-client-ecosystem-bottom p {
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}

.corp-client-ecosystem-mark {
    display: flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
}

.corp-client-ecosystem-mark span {
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.corp-client-ecosystem-mark i {
    width: 18px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpClientEcoTopIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpClientEcoItemIn {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpClientEcoBottomIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 768px) {

    .corp-client-ecosystem-section {
        padding: 100px 0;
    }

    .corp-client-ecosystem-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-client-ecosystem-top {
        margin-bottom: 50px;
    }

    .corp-client-ecosystem-wall {
        grid-template-columns: repeat(2, 1fr);
    }

    .corp-client-ecosystem-item {
        min-height: 175px;
        padding: 25px;
    }

    .corp-client-ecosystem-bottom {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .corp-client-ecosystem-line {
        max-width: 80px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-client-ecosystem-section {
        padding: 100px 0;
    }

    .corp-client-ecosystem-top h2 {
        font-size: 38px;
        letter-spacing: -1.4px;
    }

    .corp-client-ecosystem-wall {
        grid-template-columns: 1fr;
    }

    .corp-client-ecosystem-item {
        min-height: 165px;
        padding: 24px;
    }

    .corp-client-ecosystem-item > span {
        right: 22px;
    }

    .corp-client-ecosystem-bottom {
        margin-top: 35px;
    }

}

/* =====================================================
   CLIENTS — PARTNERSHIP & IMPACT
====================================================== */

.corp-client-impact-section {
    width: 100%;
    padding: 100px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-client-impact-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: .9fr 1.1fr;
    column-gap: 100px;
    row-gap: 55px;
    align-items: center;
}


/* =====================================================
   INTRO
====================================================== */

.corp-client-impact-intro {
    opacity: 0;
    animation: corpClientImpactIntro .9s ease forwards;
}

.corp-client-impact-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;
}

.corp-client-impact-label span,
.corp-client-impact-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-client-impact-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-client-impact-intro h2 {
    margin: 0 0 22px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2.5px;
}

.corp-client-impact-intro h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-client-impact-intro > p {
    max-width: 450px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}

.corp-client-impact-intro .corp-home-banner-primary {
    margin-top: 32px;
}


/* =====================================================
   IMPACT STAGE
====================================================== */

.corp-client-impact-stage {
    opacity: 0;
    animation: corpClientImpactStage .9s .18s ease forwards;
}


/* MAIN */

.corp-client-impact-main {
    position: relative;

    min-height: 285px;
    padding: 38px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    background: var(--corp-bg);
    border: 1px solid var(--corp-line);

    overflow: hidden;
}

.corp-client-impact-main::after {
    content: "";

    position: absolute;
    right: -80px;
    top: -80px;

    width: 190px;
    height: 190px;

    border-radius: 50%;
    border: 1px solid rgba(214,166,66,.35);

    transition: transform .5s ease;
}

.corp-client-impact-main:hover::after {
    transform: scale(1.15);
}

.corp-client-impact-number {
    position: absolute;
    top: 28px;
    left: 30px;

    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}

.corp-client-impact-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 24px;

    display: grid;
    place-items: center;

    color: #17283a;
    background: var(--corp-accent);
    border-radius: 10px;

    font-size: 17px;

    transition: transform .3s ease;
}

.corp-client-impact-main:hover
.corp-client-impact-icon {
    transform: translateY(-4px) rotate(-3deg);
}

.corp-client-impact-main h3 {
    margin: 0 0 9px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 24px;
    font-weight: 700;
}

.corp-client-impact-main p {
    max-width: 430px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   LOWER ITEMS
====================================================== */

.corp-client-impact-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    border-left: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}

.corp-client-impact-item {
    position: relative;

    min-height: 180px;
    padding: 28px;

    display: flex;
    align-items: flex-start;
    gap: 18px;

    background: var(--corp-surface);
    border-right: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);

    transition:
        background .3s ease,
        transform .3s ease;
}

.corp-client-impact-item:hover {
    background: var(--corp-soft);
    transform: translateY(-3px);
}

.corp-client-impact-item > span {
    position: absolute;
    top: 20px;
    right: 22px;

    color: var(--corp-muted);
    font-size: 8px;
    font-weight: 700;
}

.corp-client-impact-item > i {
    width: 42px;
    height: 42px;
    min-width: 42px;

    display: grid;
    place-items: center;

    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 8px;

    font-size: 14px;

    transition:
        color .3s ease,
        background .3s ease;
}

.corp-client-impact-item:hover > i {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
}

.corp-client-impact-item strong {
    display: block;
    margin: 3px 0 8px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.corp-client-impact-item p {
    margin: 0;

    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.65;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-client-impact-bottom {
    grid-column: 1 / -1;

    display: flex;
    align-items: center;
    gap: 14px;

    padding-top: 22px;

    border-top: 1px solid var(--corp-line);

    opacity: 0;
    animation: corpClientImpactBottom .8s .45s ease forwards;
}

.corp-client-impact-bottom span,
.corp-client-impact-bottom strong {
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.corp-client-impact-bottom strong {
    color: var(--corp-accent);
}

.corp-client-impact-bottom i {
    width: 25px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpClientImpactIntro {

    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpClientImpactStage {

    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpClientImpactBottom {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-client-impact-container {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .corp-client-impact-intro {
        max-width: 700px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-client-impact-section {
        padding: 100px 0;
    }

    .corp-client-impact-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-client-impact-intro h2 {
        font-size: 45px;
    }

    .corp-client-impact-main {
        min-height: 270px;
        padding: 30px;
    }

    .corp-client-impact-row {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 480px) {

    .corp-client-impact-section {
        padding: 100px 0;
    }

    .corp-client-impact-intro h2 {
        font-size: 38px;
        letter-spacing: -1.3px;
    }

    .corp-client-impact-main {
        min-height: 250px;
        padding: 25px;
    }

    .corp-client-impact-item {
        min-height: 165px;
        padding: 24px;
    }

    .corp-client-impact-bottom {
        flex-wrap: wrap;
        gap: 10px;
    }

}

/* =====================================================
   CLIENTS — CLIENT STORIES
====================================================== */

.corp-client-stories-section {
    width: 100%;
    padding: 100px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-client-stories-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   LABEL
====================================================== */

.corp-client-stories-label {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 45px;

    opacity: 0;
    animation: corpClientStoriesLabelIn .8s ease forwards;
}

.corp-client-stories-label span,
.corp-client-stories-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.corp-client-stories-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   STORY
====================================================== */

.corp-client-story {
    position: relative;

    display: grid;
    grid-template-columns: 48% 52%;

    min-height: 560px;

    opacity: 0;
    animation: corpClientStoryIn .9s .12s ease forwards;
}


/* =====================================================
   NUMBER
====================================================== */

.corp-client-story-number {
    position: absolute;
    z-index: 5;

    top: 25px;
    left: 25px;

    width: 52px;
    height: 52px;

    display: grid;
    place-items: center;

    color: #17283a;
    background: var(--corp-accent);

    font-size: 11px;
    font-weight: 800;

    border-radius: 50%;
}


/* =====================================================
   IMAGE
====================================================== */

.corp-client-story-image {
    position: relative;
    min-height: 560px;

    overflow: hidden;
}

.corp-client-story-image img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;

    transition: transform .8s ease;
}

.corp-client-story:hover
.corp-client-story-image img {
    transform: scale(1.04);
}

.corp-client-story-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgba(8, 22, 36, .72)
        );
}

.corp-client-story-image-caption {
    position: absolute;
    z-index: 2;

    left: 30px;
    right: 30px;
    bottom: 25px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-top: 15px;

    border-top: 1px solid rgba(255,255,255,.35);
}

.corp-client-story-image-caption span {
    color: #ffffff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.corp-client-story-image-caption strong {
    color: var(--corp-accent);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.3px;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-client-story-content {
    position: relative;
    z-index: 2;

    align-self: center;

    margin-left: -55px;
    padding: 58px 55px;

    background: var(--corp-bg);
    border: 1px solid var(--corp-line);
}

.corp-client-story-tag {
    display: block;
    margin-bottom: 20px;

    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.corp-client-story-content h2 {
    margin: 0 0 22px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(38px, 4vw, 54px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -2px;
}

.corp-client-story-content h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-client-story-content > p {
    max-width: 510px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   QUOTE
====================================================== */

.corp-client-story-quote {
    margin-top: 28px;
    padding: 22px 0 22px 20px;

    border-left: 2px solid var(--corp-accent);
}

.corp-client-story-quote i {
    margin-bottom: 10px;

    color: var(--corp-accent);
    font-size: 13px;
}

.corp-client-story-quote p {
    max-width: 430px;
    margin: 0;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
}


/* =====================================================
   AUTHOR
====================================================== */

.corp-client-story-author {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-top: 25px;
}

.corp-client-story-author-line {
    width: 30px;
    height: 1px;

    background: var(--corp-accent);
}

.corp-client-story-author strong {
    display: block;

    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.corp-client-story-author span {
    display: block;
    margin-top: 4px;

    color: var(--corp-muted);
    font-size: 10px;
    font-weight: 400;
}


/* =====================================================
   IMAGE MOMENTS
====================================================== */

.corp-client-story-moments {
    display: grid;
    grid-template-columns: 1fr 1fr 1.3fr;
    gap: 18px;

    margin-top: 35px;

    opacity: 0;
    animation: corpClientMomentsIn .8s .35s ease forwards;
}

.corp-client-moment {
    position: relative;
    height: 175px;
    overflow: hidden;
}

.corp-client-moment img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;

    transition: transform .6s ease;
}

.corp-client-moment:hover img {
    transform: scale(1.05);
}

.corp-client-moment::after {
    content: "";

    position: absolute;
    inset: 0;

    background: linear-gradient(
        180deg,
        transparent 40%,
        rgba(8,22,36,.68)
    );
}

.corp-client-moment span {
    position: absolute;
    z-index: 2;

    left: 18px;
    bottom: 15px;

    color: #ffffff;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.corp-client-moment-text {
    height: 175px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    background: var(--corp-primary);
}

.corp-client-moment-text strong {
    color: #ffffff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.corp-client-moment-text i {
    width: 20px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   FOOTER
====================================================== */

.corp-client-stories-footer {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 30px;

    margin-top: 35px;
    padding-top: 25px;

    border-top: 1px solid var(--corp-line);

    opacity: 0;
    animation: corpClientFooterIn .8s .5s ease forwards;
}

.corp-client-stories-footer p {
    max-width: 570px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpClientStoriesLabelIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpClientStoryIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpClientMomentsIn {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpClientFooterIn {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-client-story {
        grid-template-columns: 45% 55%;
    }

    .corp-client-story-content {
        margin-left: -35px;
        padding: 45px 35px;
    }

    .corp-client-story-content h2 {
        font-size: 42px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-client-stories-section {
        padding: 100px 0;
    }

    .corp-client-stories-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-client-story {
        display: block;
        min-height: auto;
    }

    .corp-client-story-image {
        min-height: 400px;
    }

    .corp-client-story-content {
        margin: -35px 18px 0;
        padding: 40px 28px;
    }

    .corp-client-story-content h2 {
        font-size: 42px;
    }

    .corp-client-story-moments {
        grid-template-columns: 1fr 1fr;
    }

    .corp-client-moment-text {
        grid-column: 1 / -1;
    }

    .corp-client-stories-footer {
        grid-template-columns: 1fr;
        gap: 20px;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-client-stories-section {
        padding: 100px 0;
    }

    .corp-client-story-image {
        min-height: 330px;
    }

    .corp-client-story-number {
        width: 44px;
        height: 44px;

        top: 18px;
        left: 18px;

        font-size: 10px;
    }

    .corp-client-story-content {
        margin: -25px 12px 0;
        padding: 32px 22px;
    }

    .corp-client-story-content h2 {
        font-size: 36px;
        letter-spacing: -1.3px;
    }

    .corp-client-story-moments {
        grid-template-columns: 1fr;
    }

    .corp-client-moment,
    .corp-client-moment-text {
        height: 160px;
    }

}

/* =====================================================
   CLIENTS — PARTNERSHIP JOURNEY
====================================================== */

.corp-client-journey-section {
    width: 100%;
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-client-journey-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-client-journey-header {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 70px;
    align-items: end;

    margin-bottom: 55px;

    opacity: 0;
    animation: corpClientJourneyHeaderIn .9s ease forwards;
}

.corp-client-journey-label {
    display: flex;
    align-items: center;
    gap: 12px;
}

.corp-client-journey-label span,
.corp-client-journey-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-client-journey-label i {
    width: 40px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-client-journey-heading h2 {
    margin: 0 0 18px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -2.5px;
}

.corp-client-journey-heading h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-client-journey-heading p {
    max-width: 560px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   VISUAL
====================================================== */

.corp-client-journey-visual {
    display: grid;
    grid-template-columns: 38% 62%;

    min-height: 510px;

    background: var(--corp-surface);
    border: 1px solid var(--corp-line);

    opacity: 0;
    animation: corpClientJourneyVisualIn .9s .15s ease forwards;
}


/* =====================================================
   IMAGE
====================================================== */

.corp-client-journey-image {
    position: relative;
    min-height: 510px;
    overflow: hidden;
}

.corp-client-journey-image img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;

    transition: transform .8s ease;
}

.corp-client-journey-visual:hover
.corp-client-journey-image img {
    transform: scale(1.04);
}

.corp-client-journey-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(8,22,36,.05),
            rgba(8,22,36,.68)
        );
}

.corp-client-journey-image-mark {
    position: absolute;
    z-index: 2;

    left: 25px;
    bottom: 25px;

    display: flex;
    align-items: center;
    gap: 12px;

    padding-top: 13px;

    border-top: 1px solid rgba(255,255,255,.35);
}

.corp-client-journey-image-mark strong {
    color: var(--corp-accent);
    font-size: 25px;
    font-weight: 700;
}

.corp-client-journey-image-mark span {
    color: #ffffff;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.4px;
}


/* =====================================================
   TRACK
====================================================== */

.corp-client-journey-track {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.corp-client-journey-step {
    position: relative;

    min-height: 255px;
    padding: 32px;

    border-left: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);

    display: flex;
    flex-direction: column;
    justify-content: center;

    transition:
        background .3s ease,
        transform .3s ease;
}

.corp-client-journey-step:hover {
    background: var(--corp-soft);
}

.corp-client-journey-step > span {
    position: absolute;

    top: 24px;
    right: 25px;

    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 800;
}

.corp-client-journey-step-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 20px;

    display: grid;
    place-items: center;

    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 9px;

    font-size: 15px;

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}

.corp-client-journey-step:hover
.corp-client-journey-step-icon {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: translateY(-3px);
}

.corp-client-journey-step h3 {
    margin: 0 0 8px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 20px;
    font-weight: 700;
}

.corp-client-journey-step p {
    max-width: 300px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   FOOTER
====================================================== */

.corp-client-journey-footer {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-top: 28px;

    opacity: 0;
    animation: corpClientJourneyFooterIn .8s .45s ease forwards;
}

.corp-client-journey-footer span,
.corp-client-journey-footer strong {
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-client-journey-footer strong {
    color: var(--corp-accent);
}

.corp-client-journey-footer i {
    width: 22px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpClientJourneyHeaderIn {

    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpClientJourneyVisualIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpClientJourneyFooterIn {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-client-journey-header {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .corp-client-journey-visual {
        grid-template-columns: 35% 65%;
    }

    .corp-client-journey-step {
        padding: 26px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .corp-client-journey-section {
        padding: 100px 0;
    }

    .corp-client-journey-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-client-journey-heading h2 {
        font-size: 45px;
    }

    .corp-client-journey-visual {
        grid-template-columns: 1fr;
    }

    .corp-client-journey-image {
        min-height: 380px;
    }

    .corp-client-journey-track {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 480px) {

    .corp-client-journey-section {
        padding: 100px 0;
    }

    .corp-client-journey-heading h2 {
        font-size: 38px;
        letter-spacing: -1.3px;
    }

    .corp-client-journey-image {
        min-height: 320px;
    }

    .corp-client-journey-track {
        grid-template-columns: 1fr;
    }

    .corp-client-journey-step {
        min-height: 175px;
    }

    .corp-client-journey-footer {
        flex-wrap: wrap;
    }

}

/* =====================================================
   CLIENTS — TRUSTED PARTNERSHIPS
====================================================== */

.corp-client-partners-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-client-partners-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP
====================================================== */

.corp-client-partners-top {
    max-width: 850px;
    margin-bottom: 55px;
    opacity: 0;
    animation: corpClientPartnersTopIn .8s ease forwards;
}

.corp-client-partners-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.corp-client-partners-label span {
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
}

.corp-client-partners-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-client-partners-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-client-partners-top h2 {
    max-width: 780px;
    margin: 0 0 20px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -2px;
}

.corp-client-partners-top h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-client-partners-top p {
    max-width: 570px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =====================================================
   IMAGE WALL
====================================================== */

.corp-client-partners-wall {
    display: grid;
    grid-template-columns: 1.55fr .85fr .85fr;
    grid-template-rows: 250px 190px;
    gap: 16px;
}


/* MAIN IMAGE */

.corp-client-partners-image-main {
    position: relative;
    grid-column: 1;
    grid-row: 1 / 3;
    overflow: hidden;
    opacity: 0;
    animation: corpClientPartnersMainIn .9s ease .15s forwards;
}

.corp-client-partners-image-main img,
.corp-client-partners-image-small img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .6s ease;
}

.corp-client-partners-image-main:hover img,
.corp-client-partners-image-small:hover img {
    transform: scale(1.04);
}

.corp-client-partners-image-main::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 40%,
        rgba(12, 30, 49, .82)
    );
}

.corp-client-partners-image-content {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 28px;
    z-index: 2;
}

.corp-client-partners-image-content span {
    display: block;
    margin-bottom: 8px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-client-partners-image-content h3 {
    max-width: 420px;
    margin: 0;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
}


/* SMALL IMAGES */

.corp-client-partners-image-small {
    position: relative;
    overflow: hidden;
    opacity: 0;
}

.corp-client-partners-image-small:nth-child(2) {
    animation: corpClientPartnersSmallIn .8s ease .3s forwards;
}

.corp-client-partners-image-small:nth-child(3) {
    animation: corpClientPartnersSmallIn .8s ease .42s forwards;
}

.corp-client-partners-image-tag {
    position: absolute;
    left: 16px;
    bottom: 16px;
    z-index: 2;
    padding: 7px 10px;
    color: #ffffff;
    background: rgba(12, 30, 49, .78);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1px;
}


/* =====================================================
   STAT
====================================================== */

.corp-client-partners-stat {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 28px;
    background: var(--corp-primary);
    opacity: 0;
    animation: corpClientPartnersStatIn .8s ease .55s forwards;
}

.corp-client-partners-stat > strong {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
}

.corp-client-partners-stat span {
    display: block;
    margin-bottom: 8px;
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-client-partners-stat p {
    max-width: 230px;
    margin: 0;
    color: rgba(255, 255, 255, .68);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-client-partners-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 35px;
    opacity: 0;
    animation: corpClientPartnersBottomIn .8s ease .7s forwards;
}

.corp-client-partners-bottom span {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-client-partners-bottom i {
    width: 28px;
    height: 1px;
    background: var(--corp-line);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpClientPartnersTopIn {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpClientPartnersMainIn {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpClientPartnersSmallIn {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpClientPartnersStatIn {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpClientPartnersBottomIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-client-partners-wall {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 360px 220px 190px;
    }

    .corp-client-partners-image-main {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .corp-client-partners-stat {
        grid-column: 1 / 3;
    }
}


@media (max-width: 768px) {

    .corp-client-partners-section {
        padding: 100px 0;
    }

    .corp-client-partners-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-client-partners-top {
        margin-bottom: 40px;
    }

    .corp-client-partners-top h2 {
        letter-spacing: -1.5px;
    }

    .corp-client-partners-wall {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 300px 190px 175px;
        gap: 12px;
    }

    .corp-client-partners-stat {
        padding: 22px;
    }
}


@media (max-width: 480px) {

    .corp-client-partners-section {
        padding: 100px 0;
    }

    .corp-client-partners-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-client-partners-top h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }

    .corp-client-partners-wall {
        grid-template-columns: 1fr;
        grid-template-rows: 300px 190px 190px auto;
    }

    .corp-client-partners-image-main {
        grid-column: 1;
    }

    .corp-client-partners-stat {
        grid-column: 1;
    }

    .corp-client-partners-image-content {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

    .corp-client-partners-image-content h3 {
        font-size: 21px;
    }

    .corp-client-partners-bottom {
        flex-wrap: wrap;
        gap: 12px;
    }
}

/* =====================================================
   CLIENTS — WHO WE WORK WITH
====================================================== */

.corp-client-network-section {
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-client-network-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-client-network-header {
    margin-bottom: 55px;
    opacity: 0;
    animation: corpClientNetworkHeaderIn .8s ease forwards;
}

.corp-client-network-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.corp-client-network-label span {
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
}

.corp-client-network-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-client-network-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.corp-client-network-header h2 {
    max-width: 800px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -2px;
}

.corp-client-network-header h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =====================================================
   FEATURE
====================================================== */

.corp-client-network-feature {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    min-height: 500px;
    background: var(--corp-surface);
    opacity: 0;
    animation: corpClientNetworkFeatureIn .9s ease .15s forwards;
}


/* IMAGE */

.corp-client-network-image {
    position: relative;
    overflow: hidden;
}

.corp-client-network-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-client-network-image:hover img {
    transform: scale(1.04);
}

.corp-client-network-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(23,59,99,.05),
        rgba(23,59,99,.38)
    );
}

.corp-client-network-image-mark {
    position: absolute;
    left: 25px;
    bottom: 25px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.corp-client-network-image-mark span {
    color: var(--corp-accent);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-client-network-image-mark strong {
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 20px;
    font-weight: 700;
}


/* STATEMENT */

.corp-client-network-statement {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 55px;
}

.corp-client-network-statement > span {
    margin-bottom: 18px;
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.corp-client-network-statement h3 {
    max-width: 480px;
    margin: 0 0 20px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
}

.corp-client-network-statement p {
    max-width: 470px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* META */

.corp-client-network-meta {
    display: flex;
    gap: 45px;
    margin-top: 38px;
    padding-top: 25px;
    border-top: 1px solid var(--corp-line);
}

.corp-client-network-meta div {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.corp-client-network-meta strong {
    color: var(--corp-primary);
    font-family: "Manrope", sans-serif;
    font-size: 30px;
    font-weight: 800;
}

.corp-client-network-meta span {
    color: var(--corp-muted);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.2px;
}


/* =====================================================
   INDUSTRIES
====================================================== */

.corp-client-network-industries {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-left: 1px solid var(--corp-line);
    border-top: 1px solid var(--corp-line);
}

.corp-client-network-industry {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 105px;
    padding: 20px 25px;
    border-right: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpClientNetworkIndustryIn .7s ease forwards;
}

.corp-client-network-industry:nth-child(1) {
    animation-delay: .35s;
}

.corp-client-network-industry:nth-child(2) {
    animation-delay: .42s;
}

.corp-client-network-industry:nth-child(3) {
    animation-delay: .49s;
}

.corp-client-network-industry:nth-child(4) {
    animation-delay: .56s;
}

.corp-client-network-industry:nth-child(5) {
    animation-delay: .63s;
}

.corp-client-network-industry:nth-child(6) {
    animation-delay: .70s;
}

.corp-client-network-industry span {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
}

.corp-client-network-industry strong {
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 700;
}


/* =====================================================
   FOOTER
====================================================== */

.corp-client-network-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 28px;
    opacity: 0;
    animation: corpClientNetworkFooterIn .8s ease .8s forwards;
}

.corp-client-network-footer span {
    color: var(--corp-muted);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-client-network-footer strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.3px;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpClientNetworkHeaderIn {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpClientNetworkFeatureIn {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpClientNetworkIndustryIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpClientNetworkFooterIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-client-network-feature {
        grid-template-columns: 1fr;
    }

    .corp-client-network-image {
        min-height: 430px;
    }

    .corp-client-network-statement {
        padding: 45px;
    }

    .corp-client-network-industries {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 768px) {

    .corp-client-network-section {
        padding: 100px 0;
    }

    .corp-client-network-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-client-network-header {
        margin-bottom: 40px;
    }

    .corp-client-network-header h2 {
        letter-spacing: -1.5px;
    }

    .corp-client-network-image {
        min-height: 350px;
    }

    .corp-client-network-statement {
        padding: 35px;
    }

    .corp-client-network-statement h3 {
        font-size: 28px;
    }
}


@media (max-width: 480px) {

    .corp-client-network-header h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }

    .corp-client-network-image {
        min-height: 280px;
    }

    .corp-client-network-statement {
        padding: 28px 22px;
    }

    .corp-client-network-statement h3 {
        font-size: 25px;
    }

    .corp-client-network-meta {
        gap: 30px;
    }

    .corp-client-network-industries {
        grid-template-columns: 1fr;
    }

    .corp-client-network-industry {
        min-height: 85px;
    }

    .corp-client-network-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* =====================================================
   CLIENTS — FINAL / CLIENT PERSPECTIVE
====================================================== */

.corp-client-perspective-section {
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-surface);
}

.corp-client-perspective-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   TOP
====================================================== */

.corp-client-perspective-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpClientPerspectiveTopIn .8s ease forwards;
}

.corp-client-perspective-label {
    display: flex;
    align-items: center;
    gap: 12px;
}

.corp-client-perspective-label span {
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
}

.corp-client-perspective-label i {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-client-perspective-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.corp-client-perspective-index {
    color: var(--corp-muted);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.4px;
}


/* =====================================================
   MAIN
====================================================== */

.corp-client-perspective-main {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 270px;
    gap: 35px;
    padding: 75px 0;
    border-bottom: 1px solid var(--corp-line);
}


/* QUOTE MARK */

.corp-client-perspective-quote-mark {
    color: var(--corp-accent);
    font-family: Georgia, serif;
    font-size: 125px;
    font-weight: 400;
    line-height: .7;
    opacity: 0;
    animation: corpClientPerspectiveMarkIn .8s ease .15s forwards;
}


/* QUOTE */

.corp-client-perspective-quote {
    opacity: 0;
    animation: corpClientPerspectiveQuoteIn .9s ease .25s forwards;
}

.corp-client-perspective-quote h2 {
    max-width: 700px;
    margin: 0 0 25px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -2px;
}

.corp-client-perspective-quote h2 span {
    color: var(--corp-primary);
}

.corp-client-perspective-quote p {
    max-width: 570px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   SIDE
====================================================== */

.corp-client-perspective-side {
    align-self: center;
    opacity: 0;
    animation: corpClientPerspectiveSideIn .8s ease .45s forwards;
}

.corp-client-perspective-side-line {
    width: 45px;
    height: 2px;
    margin-bottom: 18px;
    background: var(--corp-accent);
}

.corp-client-perspective-side > span {
    display: block;
    margin-bottom: 22px;
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-client-perspective-side ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.corp-client-perspective-side li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 0;
    border-bottom: 1px solid var(--corp-line);
}

.corp-client-perspective-side li:last-child {
    border-bottom: 0;
}

.corp-client-perspective-side li strong {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
}

.corp-client-perspective-side li span {
    color: var(--corp-text);
    font-size: 12px;
    font-weight: 600;
}


/* =====================================================
   BOTTOM WORDS
====================================================== */

.corp-client-perspective-bottom {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    opacity: 0;
    animation: corpClientPerspectiveBottomIn .8s ease .6s forwards;
}

.corp-client-perspective-word {
    min-height: 105px;
    display: flex;
    align-items: center;
    padding: 0 24px;
    border-right: 1px solid var(--corp-line);
}

.corp-client-perspective-word:first-child {
    padding-left: 0;
}

.corp-client-perspective-word:last-child {
    border-right: 0;
}

.corp-client-perspective-word span {
    color: var(--corp-primary);
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpClientPerspectiveTopIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpClientPerspectiveMarkIn {

    from {
        opacity: 0;
        transform: translateX(-25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpClientPerspectiveQuoteIn {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpClientPerspectiveSideIn {

    from {
        opacity: 0;
        transform: translateX(25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpClientPerspectiveBottomIn {

    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-client-perspective-main {
        grid-template-columns: 80px minmax(0, 1fr);
        gap: 25px;
    }

    .corp-client-perspective-side {
        grid-column: 2;
        max-width: 420px;
    }

}


@media (max-width: 768px) {

    .corp-client-perspective-section {
        padding: 100px 0;
    }

    .corp-client-perspective-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-client-perspective-top {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .corp-client-perspective-main {
        grid-template-columns: 55px minmax(0, 1fr);
        gap: 18px;
        padding: 55px 0;
    }

    .corp-client-perspective-quote-mark {
        font-size: 80px;
    }

    .corp-client-perspective-quote h2 {
        letter-spacing: -1.5px;
    }

    .corp-client-perspective-side {
        grid-column: 2;
    }

    .corp-client-perspective-bottom {
        grid-template-columns: repeat(2, 1fr);
    }

    .corp-client-perspective-word {
        min-height: 80px;
    }

    .corp-client-perspective-word:nth-child(2) {
        border-right: 0;
    }

    .corp-client-perspective-word:nth-child(-n+2) {
        border-bottom: 1px solid var(--corp-line);
    }

}


@media (max-width: 480px) {

    .corp-client-perspective-quote h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }

    .corp-client-perspective-main {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .corp-client-perspective-quote-mark {
        height: 45px;
        font-size: 75px;
    }

    .corp-client-perspective-side {
        grid-column: 1;
        margin-top: 15px;
    }

    .corp-client-perspective-bottom {
        grid-template-columns: 1fr 1fr;
    }

    .corp-client-perspective-word {
        padding: 0 15px;
    }

    .corp-client-perspective-word:first-child {
        padding-left: 15px;
    }

}


/* =====================================================
   CUSTOMIZED TRAINING — EDITORIAL GALLERY
====================================================== */

.corp-custom-editorial-section {
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-custom-editorial-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-custom-editorial-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    padding-bottom: 38px;
    border-bottom: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpCustomEditorialHeader .8s ease forwards;
}

.corp-custom-editorial-label {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 8px;
}

.corp-custom-editorial-label span {
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
}

.corp-custom-editorial-label i {
    width: 40px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-custom-editorial-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.corp-custom-editorial-header h2 {
    max-width: 760px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2px;
}

.corp-custom-editorial-header h2 span {
    color: var(--corp-primary);
}


/* =====================================================
   GALLERY
====================================================== */

.corp-custom-editorial-gallery {
    display: grid;
    grid-template-columns: 1.15fr .8fr 1fr;
    gap: 14px;
    height: 470px;
    margin-top: 45px;
}

.corp-custom-editorial-image {
    position: relative;
    overflow: hidden;
    opacity: 0;
}

.corp-custom-editorial-image-one {
    animation: corpCustomEditorialImageOne .9s ease .15s forwards;
}

.corp-custom-editorial-image-two {
    margin-top: 65px;
    animation: corpCustomEditorialImageTwo .9s ease .3s forwards;
}

.corp-custom-editorial-image-three {
    margin-top: 125px;
    animation: corpCustomEditorialImageThree .9s ease .45s forwards;
}

.corp-custom-editorial-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-custom-editorial-image:hover img {
    transform: scale(1.05);
}

.corp-custom-editorial-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 55%,
        rgba(12, 28, 45, .72)
    );
}

.corp-custom-editorial-image span {
    position: absolute;
    z-index: 2;
    left: 20px;
    bottom: 18px;
    color: #ffffff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* =====================================================
   STATEMENT
====================================================== */

.corp-custom-editorial-statement {
    display: grid;
    grid-template-columns: 220px 1fr;
    align-items: center;
    gap: 55px;
    margin-top: 75px;
    padding: 35px 0;
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpCustomEditorialStatement .9s ease .6s forwards;
}

.corp-custom-editorial-big-number {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 72px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -4px;
}

.corp-custom-editorial-copy span {
    display: block;
    margin-bottom: 12px;
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-custom-editorial-copy p {
    max-width: 720px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   FOOTER
====================================================== */

.corp-custom-editorial-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 24px;
    opacity: 0;
    animation: corpCustomEditorialFooter .8s ease .75s forwards;
}

.corp-custom-editorial-footer strong {
    color: var(--corp-text);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.corp-custom-editorial-footer i {
    width: 35px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpCustomEditorialHeader {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpCustomEditorialImageOne {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpCustomEditorialImageTwo {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpCustomEditorialImageThree {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpCustomEditorialStatement {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpCustomEditorialFooter {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-custom-editorial-gallery {
        grid-template-columns: repeat(3, 1fr);
        height: 400px;
    }

    .corp-custom-editorial-image-two {
        margin-top: 45px;
    }

    .corp-custom-editorial-image-three {
        margin-top: 85px;
    }

    .corp-custom-editorial-statement {
        grid-template-columns: 160px 1fr;
        gap: 35px;
    }

}

@media (max-width: 768px) {

    .corp-custom-editorial-section {
        padding: 100px 0;
    }

    .corp-custom-editorial-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-custom-editorial-header {
        display: block;
    }

    .corp-custom-editorial-label {
        margin-bottom: 25px;
    }

    .corp-custom-editorial-header h2 {
        font-size: 48px;
        letter-spacing: -1.5px;
    }

    .corp-custom-editorial-gallery {
        height: 360px;
        gap: 10px;
    }

    .corp-custom-editorial-image-two {
        margin-top: 35px;
    }

    .corp-custom-editorial-image-three {
        margin-top: 70px;
    }

    .corp-custom-editorial-statement {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 55px;
    }

    .corp-custom-editorial-big-number {
        font-size: 58px;
    }

}

@media (max-width: 480px) {

    .corp-custom-editorial-header h2 {
        font-size: 42px;
    }

    .corp-custom-editorial-gallery {
        height: 270px;
        gap: 7px;
    }

    .corp-custom-editorial-image-two {
        margin-top: 25px;
    }

    .corp-custom-editorial-image-three {
        margin-top: 50px;
    }

    .corp-custom-editorial-image span {
        left: 10px;
        bottom: 10px;
        font-size: 7px;
    }

    .corp-custom-editorial-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .corp-custom-editorial-footer i {
        display: none;
    }

}

/* =====================================================
   CUSTOMIZED TRAINING — 8 OPTIONS
====================================================== */

.corp-custom-options-section {
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-custom-options-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-custom-options-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    padding-bottom: 38px;
    border-bottom: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpCustomOptionsHeader .8s ease forwards;
}

.corp-custom-options-label {
    display: flex;
    align-items: center;
    gap: 11px;
    padding-bottom: 8px;
}

.corp-custom-options-label span {
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
}

.corp-custom-options-label i {
    width: 40px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-custom-options-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.corp-custom-options-header h2 {
    max-width: 700px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -2px;
}

.corp-custom-options-header h2 span {
    color: var(--corp-primary);
}


/* =====================================================
   GRID
====================================================== */

.corp-custom-options-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 45px;
    border-top: 1px solid var(--corp-line);
    border-left: 1px solid var(--corp-line);
}


/* =====================================================
   OPTION BOX
====================================================== */

.corp-custom-option {
    position: relative;
    min-height: 285px;
    padding: 28px;
    background: var(--corp-surface);
    border-right: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
    overflow: hidden;
    transition:
        background .35s ease,
        transform .35s ease;
    opacity: 0;
}

.corp-custom-option:nth-child(1) {
    animation: corpCustomOptionIn .65s ease .1s forwards;
}

.corp-custom-option:nth-child(2) {
    animation: corpCustomOptionIn .65s ease .18s forwards;
}

.corp-custom-option:nth-child(3) {
    animation: corpCustomOptionIn .65s ease .26s forwards;
}

.corp-custom-option:nth-child(4) {
    animation: corpCustomOptionIn .65s ease .34s forwards;
}

.corp-custom-option:nth-child(5) {
    animation: corpCustomOptionIn .65s ease .42s forwards;
}

.corp-custom-option:nth-child(6) {
    animation: corpCustomOptionIn .65s ease .50s forwards;
}

.corp-custom-option:nth-child(7) {
    animation: corpCustomOptionIn .65s ease .58s forwards;
}

.corp-custom-option:nth-child(8) {
    animation: corpCustomOptionIn .65s ease .66s forwards;
}

.corp-custom-option::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--corp-accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
}

.corp-custom-option:hover {
    background: #ffffff;
    transform: translateY(-4px);
    z-index: 2;
}

.corp-custom-option:hover::before {
    transform: scaleX(1);
}


/* =====================================================
   TOP
====================================================== */

.corp-custom-option-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 42px;
}

.corp-custom-option-top > span {
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
}

.corp-custom-option-top i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 50%;
    font-size: 14px;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.corp-custom-option:hover .corp-custom-option-top i {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: rotate(-8deg);
}


/* =====================================================
   CONTENT
====================================================== */

.corp-custom-option h3 {
    margin: 0 0 11px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
}

.corp-custom-option p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-custom-option-line {
    width: 100%;
    height: 1px;
    margin-top: 25px;
    background: var(--corp-line);
}

.corp-custom-option-tag {
    display: block;
    margin-top: 13px;
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* =====================================================
   FOOTER
====================================================== */

.corp-custom-options-footer {
    display: flex;
    align-items: center;
    gap: 18px;
    padding-top: 25px;
    opacity: 0;
    animation: corpCustomOptionsFooter .8s ease .85s forwards;
}

.corp-custom-options-footer span,
.corp-custom-options-footer strong {
    color: var(--corp-muted);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.corp-custom-options-footer strong {
    color: var(--corp-primary);
}

.corp-custom-options-footer div {
    width: 45px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   ANIMATION
====================================================== */

@keyframes corpCustomOptionsHeader {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpCustomOptionIn {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpCustomOptionsFooter {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-custom-options-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 768px) {

    .corp-custom-options-section {
        padding: 100px 0;
    }

    .corp-custom-options-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-custom-options-header {
        display: block;
    }

    .corp-custom-options-label {
        margin-bottom: 25px;
    }

    .corp-custom-options-header h2 {
        font-size: 48px;
        letter-spacing: -1.5px;
    }

    .corp-custom-option {
        min-height: 260px;
        padding: 25px;
    }

}

@media (max-width: 480px) {

    .corp-custom-options-header h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }

    .corp-custom-options-grid {
        grid-template-columns: 1fr;
    }

    .corp-custom-option {
        min-height: auto;
        padding: 25px 22px;
    }

    .corp-custom-option-top {
        margin-bottom: 30px;
    }

    .corp-custom-options-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

}

/* =====================================================
   CUSTOMIZED TRAINING — WORKSHOP EXPERIENCE
====================================================== */

.corp-custom-workshop-section {
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-surface);
}

.corp-custom-workshop-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-custom-workshop-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    padding-bottom: 38px;
    border-bottom: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpCustomWorkshopHeader .8s ease forwards;
}

.corp-custom-workshop-label {
    display: flex;
    align-items: center;
    gap: 11px;
    padding-bottom: 8px;
}

.corp-custom-workshop-label span {
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
}

.corp-custom-workshop-label i {
    width: 40px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-custom-workshop-label strong {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.corp-custom-workshop-header h2 {
    max-width: 720px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -2px;
}

.corp-custom-workshop-header h2 span {
    color: var(--corp-primary);
}


/* =====================================================
   MAIN EXPERIENCE
====================================================== */

.corp-custom-workshop-stage {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 30px;
    margin-top: 50px;
    align-items: stretch;
}

.corp-custom-workshop-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 45px;
    background: var(--corp-primary);
    opacity: 0;
    animation: corpCustomWorkshopIntro .8s ease .15s forwards;
}

.corp-custom-workshop-intro > span {
    margin-bottom: 24px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-custom-workshop-intro h3 {
    margin: 0 0 20px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1px;
}

.corp-custom-workshop-intro p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   MAIN IMAGE
====================================================== */

.corp-custom-workshop-main-image {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    opacity: 0;
    animation: corpCustomWorkshopImage .9s ease .25s forwards;
}

.corp-custom-workshop-main-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-custom-workshop-main-image:hover img {
    transform: scale(1.04);
}

.corp-custom-workshop-main-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 50%,
        rgba(10,25,42,.75)
    );
}

.corp-custom-workshop-image-caption {
    position: absolute;
    z-index: 2;
    right: 25px;
    bottom: 22px;
    left: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.corp-custom-workshop-image-caption span {
    color: #ffffff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-custom-workshop-image-caption strong {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 42px;
    font-weight: 800;
}


/* =====================================================
   MOMENTS
====================================================== */

.corp-custom-workshop-moments {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-top: 25px;
}

.corp-custom-workshop-moment {
    display: grid;
    grid-template-columns: 125px 1fr;
    gap: 20px;
    align-items: center;
    padding: 18px;
    border: 1px solid var(--corp-line);
    background: var(--corp-bg);
    opacity: 0;
}

.corp-custom-workshop-moment:nth-child(1) {
    animation: corpCustomWorkshopMoment .7s ease .4s forwards;
}

.corp-custom-workshop-moment:nth-child(2) {
    animation: corpCustomWorkshopMoment .7s ease .5s forwards;
}

.corp-custom-workshop-moment:nth-child(3) {
    animation: corpCustomWorkshopMoment .7s ease .6s forwards;
}

.corp-custom-workshop-moment-image {
    height: 130px;
    overflow: hidden;
}

.corp-custom-workshop-moment-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .5s ease;
}

.corp-custom-workshop-moment:hover img {
    transform: scale(1.06);
}

.corp-custom-workshop-moment-content > span {
    display: block;
    margin-bottom: 9px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
}

.corp-custom-workshop-moment-content strong {
    display: block;
    margin-bottom: 7px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 700;
}

.corp-custom-workshop-moment-content p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.65;
}


/* =====================================================
   FOOTER
====================================================== */

.corp-custom-workshop-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding-top: 28px;
    opacity: 0;
    animation: corpCustomWorkshopFooter .8s ease .8s forwards;
}

.corp-custom-workshop-footer span {
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-custom-workshop-footer i {
    width: 35px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpCustomWorkshopHeader {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpCustomWorkshopIntro {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpCustomWorkshopImage {
    from {
        opacity: 0;
        transform: translateX(30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpCustomWorkshopMoment {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpCustomWorkshopFooter {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 1100px) {

    .corp-custom-workshop-moment {
        grid-template-columns: 1fr;
    }

    .corp-custom-workshop-moment-image {
        height: 170px;
    }

}

@media (max-width: 992px) {

    .corp-custom-workshop-stage {
        grid-template-columns: 1fr;
    }

    .corp-custom-workshop-intro {
        min-height: 330px;
    }

}

@media (max-width: 768px) {

    .corp-custom-workshop-section {
        padding: 100px 0;
    }

    .corp-custom-workshop-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-custom-workshop-header {
        display: block;
    }

    .corp-custom-workshop-label {
        margin-bottom: 25px;
    }

    .corp-custom-workshop-header h2 {
        font-size: 48px;
        letter-spacing: -1.5px;
    }

    .corp-custom-workshop-stage {
        margin-top: 40px;
    }

    .corp-custom-workshop-main-image {
        min-height: 400px;
    }

    .corp-custom-workshop-moments {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 480px) {

    .corp-custom-workshop-header h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }

    .corp-custom-workshop-intro {
        min-height: auto;
        padding: 32px 24px;
    }

    .corp-custom-workshop-main-image {
        min-height: 300px;
    }

    .corp-custom-workshop-moment {
        grid-template-columns: 110px 1fr;
        gap: 15px;
        padding: 14px;
    }

    .corp-custom-workshop-moment-image {
        height: 110px;
    }

}

/* =====================================================
   CUSTOMIZED TRAINING — BLUEPRINT
====================================================== */

.corp-custom-blueprint-section {
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-custom-blueprint-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-custom-blueprint-header {
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 55px;
    padding-bottom: 45px;
    border-bottom: 1px solid var(--corp-line);
    opacity: 0;
    animation: corpBlueprintHeaderIn .8s ease forwards;
}

.corp-custom-blueprint-label {
    display: flex;
    align-items: center;
    gap: 11px;
    padding-top: 8px;
}

.corp-custom-blueprint-label span {
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
}

.corp-custom-blueprint-label i {
    width: 38px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-custom-blueprint-label strong {
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-custom-blueprint-heading h2 {
    max-width: 700px;
    margin: 0 0 18px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -2px;
}

.corp-custom-blueprint-heading h2 span {
    color: var(--corp-primary);
}

.corp-custom-blueprint-heading p {
    max-width: 620px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   BLUEPRINT
====================================================== */

.corp-custom-blueprint {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    min-height: 500px;
    margin-top: 50px;
}


/* =====================================================
   QUOTE
====================================================== */

.corp-custom-blueprint-quote {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 55px;
    overflow: hidden;
    background: var(--corp-primary);
    opacity: 0;
    animation: corpBlueprintQuoteIn .8s ease .2s forwards;
}

.corp-custom-blueprint-quote::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -120px;
    bottom: -130px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.corp-custom-blueprint-quote > span {
    margin-bottom: 30px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.corp-custom-blueprint-quote blockquote {
    max-width: 370px;
    margin: 0;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(30px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -1px;
}

.corp-custom-blueprint-mark {
    position: absolute;
    right: 35px;
    bottom: 30px;
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 50%;
    font-size: 13px;
    animation: corpBlueprintMark 3s ease-in-out infinite;
}


/* =====================================================
   LIST
====================================================== */

.corp-custom-blueprint-list {
    background: var(--corp-surface);
    border-top: 1px solid var(--corp-line);
}

.corp-custom-blueprint-row {
    display: grid;
    grid-template-columns: 45px 1fr 25px;
    gap: 20px;
    align-items: center;
    min-height: 125px;
    padding: 20px 38px;
    border-bottom: 1px solid var(--corp-line);
    transition:
        background .3s ease,
        padding .3s ease;
    opacity: 0;
}

.corp-custom-blueprint-row:nth-child(1) {
    animation: corpBlueprintRowIn .7s ease .35s forwards;
}

.corp-custom-blueprint-row:nth-child(2) {
    animation: corpBlueprintRowIn .7s ease .45s forwards;
}

.corp-custom-blueprint-row:nth-child(3) {
    animation: corpBlueprintRowIn .7s ease .55s forwards;
}

.corp-custom-blueprint-row:nth-child(4) {
    animation: corpBlueprintRowIn .7s ease .65s forwards;
}

.corp-custom-blueprint-row:hover {
    padding-left: 45px;
    background: var(--corp-soft);
}

.corp-custom-blueprint-row > span {
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
}

.corp-custom-blueprint-row strong {
    display: block;
    margin-bottom: 5px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.corp-custom-blueprint-row p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
}

.corp-custom-blueprint-row > i {
    color: var(--corp-primary);
    font-size: 11px;
    transition:
        color .3s ease,
        transform .3s ease;
}

.corp-custom-blueprint-row:hover > i {
    color: var(--corp-accent);
    transform: translateX(4px);
}


/* =====================================================
   FOOTER
====================================================== */

.corp-custom-blueprint-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding-top: 25px;
    opacity: 0;
    animation: corpBlueprintFooterIn .8s ease .8s forwards;
}

.corp-custom-blueprint-footer strong {
    color: var(--corp-primary);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-custom-blueprint-footer i {
    width: 35px;
    height: 1px;
    background: var(--corp-accent);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpBlueprintHeaderIn {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpBlueprintQuoteIn {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpBlueprintRowIn {
    from {
        opacity: 0;
        transform: translateX(30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpBlueprintFooterIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes corpBlueprintMark {
    0%,
    100% {
        transform: rotate(0);
    }

    50% {
        transform: rotate(90deg);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-custom-blueprint-header {
        grid-template-columns: 190px 1fr;
        gap: 35px;
    }

    .corp-custom-blueprint {
        grid-template-columns: 1fr;
    }

    .corp-custom-blueprint-quote {
        min-height: 390px;
    }

}

@media (max-width: 768px) {

    .corp-custom-blueprint-section {
        padding: 100px 0;
    }

    .corp-custom-blueprint-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-custom-blueprint-header {
        display: block;
    }

    .corp-custom-blueprint-label {
        margin-bottom: 25px;
    }

    .corp-custom-blueprint-heading h2 {
        font-size: 48px;
        letter-spacing: -1.5px;
    }

    .corp-custom-blueprint {
        margin-top: 40px;
    }

}

@media (max-width: 480px) {

    .corp-custom-blueprint-heading h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }

    .corp-custom-blueprint-quote {
        min-height: 350px;
        padding: 32px 24px;
    }

    .corp-custom-blueprint-row {
        grid-template-columns: 32px 1fr 18px;
        gap: 12px;
        min-height: 105px;
        padding: 20px;
    }

    .corp-custom-blueprint-row:hover {
        padding-left: 20px;
    }

    .corp-custom-blueprint-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

}


/* =====================================================
   CUSTOMIZED TRAINING — SECTION 05
   PROGRAM ARCHITECTURE
====================================================== */

.corp-custom-architecture-section {
    width: 100%;
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-custom-architecture-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADER
====================================================== */

.corp-custom-architecture-header {
    max-width: 760px;
    margin-bottom: 70px;
    opacity: 0;
    animation: corpArchitectureHeaderIn .8s ease forwards;
}

.corp-custom-architecture-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-custom-architecture-label i {
    font-size: 13px;
}

.corp-custom-architecture-header h2 {
    margin: 0 0 18px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -2px;
}

.corp-custom-architecture-header p {
    max-width: 620px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   ARCHITECTURE
====================================================== */

.corp-custom-architecture {
    min-height: 420px;
    display: grid;
    grid-template-columns: 1fr 330px 1fr;
    align-items: center;
    gap: 55px;
}


/* =====================================================
   SIDE POINTS
====================================================== */

.corp-custom-architecture-side {
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.corp-custom-architecture-point {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    opacity: 0;
    animation: corpArchitecturePointIn .8s ease forwards;
}

.corp-custom-architecture-side:first-child
.corp-custom-architecture-point:nth-child(1) {
    animation-delay: .15s;
}

.corp-custom-architecture-side:first-child
.corp-custom-architecture-point:nth-child(2) {
    animation-delay: .3s;
}

.corp-custom-architecture-side:last-child
.corp-custom-architecture-point:nth-child(1) {
    animation-delay: .45s;
}

.corp-custom-architecture-side:last-child
.corp-custom-architecture-point:nth-child(2) {
    animation-delay: .6s;
}

.corp-custom-architecture-point > span {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: var(--corp-accent);
    border: 1px solid var(--corp-accent);
    border-radius: 50%;
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 700;
}

.corp-custom-architecture-point strong {
    display: block;
    margin-bottom: 8px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 700;
}

.corp-custom-architecture-point p {
    max-width: 270px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}


/* =====================================================
   CENTER CIRCLE
====================================================== */

.corp-custom-architecture-core {
    position: relative;
    width: 300px;
    height: 300px;
    margin: auto;
    display: grid;
    place-items: center;
    opacity: 0;
    animation:
        corpArchitectureCoreIn 1s ease .35s forwards,
        corpArchitectureCoreFloat 5s ease-in-out 1.5s infinite;
}


/* =====================================================
   OUTER ROTATING RING
====================================================== */

.corp-custom-architecture-ring {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}


/* Outer ring */

.ring-one {
    inset: 12px;
    border: 1px solid var(--corp-line);
    animation: corpArchitectureRingRotate 18s linear infinite;
}


/* Outer moving dashed effect */

.ring-one::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    border: 1px dashed var(--corp-accent);
    opacity: .55;
    animation: corpArchitectureRingRotateReverse 12s linear infinite;
}


/* =====================================================
   SECOND ROTATING RING
====================================================== */

.ring-two {
    inset: 45px;
    border: 1px solid var(--corp-accent);
    opacity: .55;
    animation: corpArchitectureRingRotateReverse 10s linear infinite;
}


/* Small moving dot on second ring */

.ring-two::after {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    top: 50%;
    left: -5px;
    border-radius: 50%;
    background: var(--corp-accent);
    box-shadow:
        0 0 0 5px rgba(214,166,66,.10),
        0 0 18px rgba(214,166,66,.55);
    transform: translateY(-50%);
}


/* =====================================================
   CENTER CORE
====================================================== */

.corp-custom-architecture-core-inner {
    position: relative;
    z-index: 3;
    width: 160px;
    height: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--corp-primary);
    border-radius: 50%;
    text-align: center;

    box-shadow:
        0 0 0 8px rgba(214,166,66,.06),
        0 20px 50px rgba(23,59,99,.22);

    animation:
        corpArchitectureCorePulse 3s ease-in-out infinite;
}


/* Inner glow */

.corp-custom-architecture-core-inner::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1px solid rgba(214,166,66,.28);
    animation: corpArchitectureInnerGlow 2.5s ease-in-out infinite;
}


/* Small accent point */

.corp-custom-architecture-core-inner::after {
    content: "";
    position: absolute;
    top: 18px;
    right: 24px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--corp-accent);
    box-shadow: 0 0 14px rgba(214,166,66,.75);
    animation: corpArchitectureDotPulse 1.8s ease-in-out infinite;
}


/* Icon */

.corp-custom-architecture-core-inner i {
    position: relative;
    z-index: 2;
    margin-bottom: 12px;
    color: var(--corp-accent);
    font-size: 21px;
    animation: corpArchitectureIconFloat 2.5s ease-in-out infinite;
}


/* Text */

.corp-custom-architecture-core-inner span {
    position: relative;
    z-index: 2;
    color: rgba(255,255,255,.62);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-custom-architecture-core-inner strong {
    position: relative;
    z-index: 2;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: 1px;
}

.corp-custom-architecture-core-inner small {
    position: relative;
    z-index: 2;
    margin-top: 3px;
    color: var(--corp-accent);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-custom-architecture-bottom {
    margin-top: 65px;
    padding-top: 24px;
    border-top: 1px solid var(--corp-line);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    opacity: 0;
    animation: corpArchitectureBottomIn .8s ease .8s forwards;
}

.corp-custom-architecture-bottom span {
    color: var(--corp-text);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.corp-custom-architecture-bottom i {
    color: var(--corp-accent);
    font-size: 11px;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpArchitectureHeaderIn {

    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


@keyframes corpArchitecturePointIn {

    from {
        opacity: 0;
        transform: translateX(-25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


@keyframes corpArchitectureCoreIn {

    from {
        opacity: 0;
        transform: scale(.72);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}


/* Gentle floating */

@keyframes corpArchitectureCoreFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }

}


/* Outer ring rotation */

@keyframes corpArchitectureRingRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


/* Reverse rotation */

@keyframes corpArchitectureRingRotateReverse {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }

}


/* Center pulse */

@keyframes corpArchitectureCorePulse {

    0%,
    100% {
        box-shadow:
            0 0 0 8px rgba(214,166,66,.06),
            0 20px 50px rgba(23,59,99,.22);
    }

    50% {
        box-shadow:
            0 0 0 14px rgba(214,166,66,.03),
            0 24px 60px rgba(23,59,99,.30);
    }

}


/* Inner ring glow */

@keyframes corpArchitectureInnerGlow {

    0%,
    100% {
        opacity: .35;
        transform: scale(1);
    }

    50% {
        opacity: .8;
        transform: scale(1.06);
    }

}


/* Icon movement */

@keyframes corpArchitectureIconFloat {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-3px) rotate(3deg);
    }

}


/* Accent dot */

@keyframes corpArchitectureDotPulse {

    0%,
    100% {
        opacity: .5;
        transform: scale(.8);
    }

    50% {
        opacity: 1;
        transform: scale(1.3);
    }

}


@keyframes corpArchitectureBottomIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-custom-architecture {
        grid-template-columns: 1fr 260px 1fr;
        gap: 25px;
    }

    .corp-custom-architecture-core {
        width: 250px;
        height: 250px;
    }

    .corp-custom-architecture-core-inner {
        width: 135px;
        height: 135px;
    }

    .corp-custom-architecture-point {
        gap: 12px;
    }

    .corp-custom-architecture-point p {
        font-size: 12px;
    }

    .corp-custom-architecture-side {
        gap: 50px;
    }

}


@media (max-width: 768px) {

    .corp-custom-architecture-section {
        padding: 80px 0;
    }

    .corp-custom-architecture-header {
        margin-bottom: 50px;
    }

    .corp-custom-architecture {
        display: flex;
        flex-direction: column;
        gap: 45px;
    }

    .corp-custom-architecture-core {
        order: 1;
        width: 240px;
        height: 240px;
    }

    .corp-custom-architecture-side {
        width: 100%;
        gap: 35px;
    }

    .corp-custom-architecture-side:first-child {
        order: 2;
    }

    .corp-custom-architecture-side:last-child {
        order: 3;
    }

    .corp-custom-architecture-point p {
        max-width: 100%;
    }

    .corp-custom-architecture-bottom {
        flex-wrap: wrap;
        gap: 14px;
        margin-top: 50px;
    }

}


@media (max-width: 480px) {

    .corp-custom-architecture-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-custom-architecture-header h2 {
        letter-spacing: -1.2px;
    }

    .corp-custom-architecture-point > span {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .corp-custom-architecture-point strong {
        font-size: 15px;
    }

    .corp-custom-architecture-core {
        width: 210px;
        height: 210px;
    }

    .corp-custom-architecture-core-inner {
        width: 120px;
        height: 120px;
    }

    .corp-custom-architecture-core-inner strong {
        font-size: 16px;
    }

    .corp-custom-architecture-bottom i {
        display: none;
    }

}

/* =====================================================
   CUSTOMIZED TRAINING — FINAL PROFESSIONAL SECTION
====================================================== */

.corp-custom-final-pro-section {
    width: 100%;
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-custom-final-pro-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =====================================================
   HEADING
====================================================== */

.corp-custom-final-pro-heading {
    max-width: 900px;
}

.corp-custom-final-pro-meta {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 30px;

    opacity: 0;
    animation: corpFinalProMetaIn .7s ease forwards;
}

.corp-custom-final-pro-meta span {
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-custom-final-pro-meta i {
    width: 48px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-custom-final-pro-meta strong {
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-custom-final-pro-heading h2 {
    margin: 0;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -2.8px;

    opacity: 0;
    animation: corpFinalProHeadingIn .9s ease .15s forwards;
}

.corp-custom-final-pro-heading h2 span {
    color: var(--corp-primary);
}


/* =====================================================
   IMAGE GALLERY
====================================================== */

.corp-custom-final-pro-gallery {
    display: grid;
    grid-template-columns: 1.55fr .72fr;
    gap: 18px;

    margin-top: 75px;
}


/* =====================================================
   MAIN IMAGE
====================================================== */

.corp-custom-final-pro-main-image {
    position: relative;
    height: 500px;
    overflow: hidden;
    background: var(--corp-soft);

    opacity: 0;
    animation: corpFinalProMainImageIn .9s ease .3s forwards;
}

.corp-custom-final-pro-main-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;

    transition: transform .8s ease;
}

.corp-custom-final-pro-main-image:hover img {
    transform: scale(1.035);
}


/* =====================================================
   MAIN IMAGE CAPTION
====================================================== */

.corp-custom-final-pro-image-caption {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;

    display: flex;
    align-items: flex-start;
    gap: 16px;

    padding: 18px 20px;

    background: rgba(13, 29, 45, .88);
    backdrop-filter: blur(10px);
}

.corp-custom-final-pro-image-caption > span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 700;
}

.corp-custom-final-pro-image-caption strong {
    display: block;
    margin-bottom: 4px;

    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.corp-custom-final-pro-image-caption small {
    display: block;

    color: rgba(255,255,255,.68);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.6;
}


/* =====================================================
   SIDE IMAGES
====================================================== */

.corp-custom-final-pro-side-images {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
}

.corp-custom-final-pro-side-image {
    position: relative;
    min-height: 0;
    overflow: hidden;
    background: var(--corp-soft);

    opacity: 0;
}

.corp-custom-final-pro-side-image:nth-child(1) {
    animation: corpFinalProSideOneIn .8s ease .5s forwards;
}

.corp-custom-final-pro-side-image:nth-child(2) {
    animation: corpFinalProSideTwoIn .8s ease .65s forwards;
}

.corp-custom-final-pro-side-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;

    transition: transform .7s ease;
}

.corp-custom-final-pro-side-image:hover img {
    transform: scale(1.05);
}

.corp-custom-final-pro-side-image > span {
    position: absolute;
    left: 18px;
    bottom: 18px;

    padding: 7px 10px;

    color: #ffffff;
    background: rgba(13,29,45,.82);

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.4px;
}


/* =====================================================
   CLOSING
====================================================== */

.corp-custom-final-pro-closing {
    display: grid;
    grid-template-columns: 70px 1fr auto;
    align-items: center;
    gap: 35px;

    margin-top: 42px;
    padding-top: 30px;

    border-top: 1px solid var(--corp-line);

    opacity: 0;
    animation: corpFinalProClosingIn .8s ease .8s forwards;
}

.corp-custom-final-pro-closing-mark {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 42px;
    font-weight: 500;
    line-height: 1;
}

.corp-custom-final-pro-closing p {
    max-width: 650px;
    margin: 0;

    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}

.corp-custom-final-pro-closing-note {
    display: flex;
    align-items: center;
    gap: 16px;
}

.corp-custom-final-pro-closing-note span,
.corp-custom-final-pro-closing-note strong {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-custom-final-pro-closing-note span {
    color: var(--corp-muted);
}

.corp-custom-final-pro-closing-note strong {
    color: var(--corp-primary);
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpFinalProMetaIn {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpFinalProHeadingIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpFinalProMainImageIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpFinalProSideOneIn {

    from {
        opacity: 0;
        transform: translateX(30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpFinalProSideTwoIn {

    from {
        opacity: 0;
        transform: translateX(30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpFinalProClosingIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-custom-final-pro-gallery {
        grid-template-columns: 1.35fr .8fr;
    }

    .corp-custom-final-pro-main-image {
        height: 440px;
    }

    .corp-custom-final-pro-closing {
        grid-template-columns: 50px 1fr;
        gap: 25px;
    }

    .corp-custom-final-pro-closing-note {
        grid-column: 2;
    }

}


@media (max-width: 768px) {

    .corp-custom-final-pro-section {
        padding: 80px 0;
    }

    .corp-custom-final-pro-heading h2 {
        letter-spacing: -1.8px;
    }

    .corp-custom-final-pro-gallery {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 55px;
    }

    .corp-custom-final-pro-main-image {
        height: 390px;
    }

    .corp-custom-final-pro-side-images {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 240px;
        gap: 14px;
    }

    .corp-custom-final-pro-closing {
        grid-template-columns: 45px 1fr;
        gap: 20px;
    }

    .corp-custom-final-pro-closing-note {
        grid-column: 2;
        flex-wrap: wrap;
    }

}


@media (max-width: 480px) {

    .corp-custom-final-pro-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-custom-final-pro-heading h2 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .corp-custom-final-pro-main-image {
        height: 320px;
    }

    .corp-custom-final-pro-side-images {
        grid-template-columns: 1fr;
        grid-template-rows: 230px 230px;
    }

    .corp-custom-final-pro-image-caption {
        left: 14px;
        right: 14px;
        bottom: 14px;
        padding: 14px;
    }

    .corp-custom-final-pro-closing {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .corp-custom-final-pro-closing-note {
        grid-column: auto;
    }

}



/* =====================================================
   ELEVATEPRO HR LOGIN PORTAL
====================================================== */

:root {
    --corp-bg: #f4f7fb;
    --corp-surface: #ffffff;
    --corp-soft: #edf2f7;
    --corp-line: #dbe3ec;
    --corp-text: #18283a;
    --corp-muted: #718092;
    --corp-primary: #173b63;
    --corp-accent: #d6a642;
    --corp-white: #ffffff;
    --corp-shadow: 0 20px 60px rgba(24,40,58,.10);
    --corp-transition: .28s ease;
}


/* =====================================================
   RESET
====================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    background: var(--corp-bg);
    color: var(--corp-text);
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 400;
}

button,
input {
    font: inherit;
}

button {
    border: 0;
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
}


/* =====================================================
   PAGE
====================================================== */

.corp-login-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}


/* =====================================================
   TOPBAR
====================================================== */

.corp-login-topbar {
    width: 100%;
    min-height: 78px;
    padding: 0 40px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: var(--corp-surface);
    border-bottom: 1px solid var(--corp-line);
}


/* LOGO */

.corp-login-logo {
    display: inline-flex;
    align-items: center;
    gap: 11px;
}

.corp-login-logo-mark {
    width: 36px;
    height: 36px;

    display: grid;
    place-items: center;

    color: #ffffff;
    background: var(--corp-primary);

    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 800;

    transition:
        background .3s ease,
        transform .3s ease;
}

.corp-login-logo:hover .corp-login-logo-mark {
    background: var(--corp-accent);
    color: var(--corp-primary);
    transform: rotate(-4deg);
}

.corp-login-logo-text {
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 800;
}


/* =====================================================
   CONTROLS
====================================================== */

.corp-login-controls {
    display: flex;
    align-items: center;
    gap: 7px;
}

.corp-login-controls button {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    color: var(--corp-muted);
    background: transparent;
    border: 1px solid var(--corp-line);

    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease;
}

.corp-login-controls button:hover {
    color: var(--corp-primary);
    background: var(--corp-soft);
    border-color: var(--corp-primary);
}

.corp-login-controls button.active {
    color: var(--corp-primary);
    background: rgba(214,166,66,.14);
    border-color: var(--corp-accent);
}

.corp-login-controls button span {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .5px;
}


/* =====================================================
   MAIN
====================================================== */

.corp-login-main {
    flex: 1;
    width: 100%;
    padding: 55px 40px;
}

.corp-login-layout {
    width: min(1180px, 100%);
    min-height: 680px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.08fr .92fr;

    background: var(--corp-surface);
    box-shadow: var(--corp-shadow);

    overflow: hidden;
}


/* =====================================================
   VISUAL SIDE
====================================================== */

.corp-login-visual {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: flex-end;

    padding: 70px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            rgba(10,29,49,.95),
            rgba(23,59,99,.88)
        ),
        url("assets/images/hr-login.jpg") center / cover no-repeat;
}


/* subtle grid */

.corp-login-visual::before {
    content: "";
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.035) 1px,
            transparent 1px
        );

    background-size: 50px 50px;
    pointer-events: none;
}


/* accent line */

.corp-login-visual::after {
    content: "";
    position: absolute;
    top: 0;
    left: 70px;

    width: 1px;
    height: 150px;

    background: var(--corp-accent);
}


/* =====================================================
   VISUAL CONTENT
====================================================== */

.corp-login-visual-content {
    position: relative;
    z-index: 2;
    max-width: 570px;

    opacity: 0;
    animation: corpLoginVisualIn .9s ease forwards;
}

.corp-login-visual-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 24px;

    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-login-visual-label i {
    font-size: 12px;
}

.corp-login-visual h1 {
    max-width: 550px;
    margin-bottom: 22px;

    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2.5px;
}

.corp-login-visual h1 span {
    display: block;
    color: var(--corp-accent);
}

.corp-login-visual p {
    max-width: 480px;

    color: rgba(255,255,255,.70);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =====================================================
   METRICS
====================================================== */

.corp-login-metrics {
    display: flex;
    gap: 42px;
    margin-top: 55px;
}

.corp-login-metric {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.corp-login-metric strong {
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 800;
}

.corp-login-metric span {
    color: rgba(255,255,255,.50);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1px;
}


/* =====================================================
   VISUAL MARK
====================================================== */

.corp-login-visual-mark {
    position: absolute;
    top: 55px;
    right: 60px;

    display: flex;
    flex-direction: column;
    align-items: flex-end;

    opacity: .55;
}

.corp-login-visual-mark span {
    color: rgba(255,255,255,.35);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-login-visual-mark strong {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 44px;
    font-weight: 800;
    line-height: 1;
}


/* =====================================================
   FORM AREA
====================================================== */

.corp-login-form-area {
    display: flex;
    align-items: center;

    padding: 65px;
    background: var(--corp-surface);
}

.corp-login-form-wrap {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
}


/* =====================================================
   FORM HEADER
====================================================== */

.corp-login-form-header {
    margin-bottom: 38px;

    opacity: 0;
    animation: corpLoginFormIn .8s ease .15s forwards;
}

.corp-login-form-number {
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-login-form-line {
    display: inline-block;
    width: 38px;
    height: 1px;
    margin: 0 10px 3px;

    background: var(--corp-accent);
}

.corp-login-form-label {
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-login-form-header h2 {
    margin: 24px 0 12px;

    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -1.5px;
}

.corp-login-form-header p {
    color: var(--corp-muted);
    font-size: 13px;
    line-height: 1.8;
}


/* =====================================================
   FORM
====================================================== */

.corp-login-form {
    opacity: 0;
    animation: corpLoginFormIn .8s ease .3s forwards;
}

.corp-login-field {
    margin-bottom: 22px;
}

.corp-login-field label {
    display: block;
    margin-bottom: 9px;

    color: var(--corp-text);
    font-size: 11px;
    font-weight: 700;
}


.corp-login-input {
    position: relative;
}

.corp-login-input > i {
    position: absolute;
    top: 50%;
    left: 16px;

    color: var(--corp-muted);
    font-size: 13px;

    transform: translateY(-50%);
    pointer-events: none;

    transition: color .3s ease;
}

.corp-login-input input {
    width: 100%;
    height: 52px;

    padding: 0 45px;

    color: var(--corp-text);
    background: var(--corp-bg);

    border: 1px solid var(--corp-line);
    outline: none;

    font-size: 13px;

    transition:
        border-color .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.corp-login-input input::placeholder {
    color: #9aa5b1;
}

.corp-login-input input:focus {
    background: var(--corp-surface);
    border-color: var(--corp-primary);
    box-shadow: 0 0 0 3px rgba(23,59,99,.07);
}

.corp-login-input:focus-within > i {
    color: var(--corp-primary);
}


/* PASSWORD TOGGLE */

.corp-login-password-toggle {
    position: absolute;
    top: 50%;
    right: 14px;

    width: 28px;
    height: 28px;

    display: grid;
    place-items: center;

    color: var(--corp-muted);
    background: transparent;

    transform: translateY(-50%);
}

.corp-login-password-toggle:hover {
    color: var(--corp-primary);
}


/* =====================================================
   OPTIONS
====================================================== */

.corp-login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin: 3px 0 25px;
}

.corp-login-remember {
    display: flex;
    align-items: center;
    gap: 8px;

    color: var(--corp-muted);
    font-size: 11px;
    cursor: pointer;
}

.corp-login-remember input {
    width: 14px;
    height: 14px;
    accent-color: var(--corp-primary);
}

.corp-login-options > a {
    color: var(--corp-primary);
    font-size: 11px;
    font-weight: 600;
}

.corp-login-options > a:hover {
    color: var(--corp-accent);
}


/* =====================================================
   SUBMIT
====================================================== */

.corp-login-submit {
    width: 100%;
    min-height: 54px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 20px;

    color: #ffffff;
    background: var(--corp-primary);

    font-size: 12px;
    font-weight: 700;

    transition:
        background .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.corp-login-submit i {
    color: var(--corp-accent);
    transition: transform .3s ease;
}

.corp-login-submit:hover {
    background: #102f50;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(23,59,99,.18);
}

.corp-login-submit:hover i {
    transform: translateX(4px);
}


/* =====================================================
   SECURITY
====================================================== */

.corp-login-security {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-top: 22px;

    color: var(--corp-muted);
    font-size: 10px;
    line-height: 1.6;
}

.corp-login-security i {
    color: var(--corp-accent);
    font-size: 12px;
}


/* =====================================================
   BACK LINK
====================================================== */

.corp-login-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-top: 32px;

    color: var(--corp-muted);
    font-size: 11px;
    font-weight: 600;

    transition:
        color .3s ease,
        gap .3s ease;
}

.corp-login-back:hover {
    color: var(--corp-primary);
    gap: 11px;
}


/* =====================================================
   FOOTER
====================================================== */

.corp-login-footer {
    min-height: 55px;
    padding: 0 40px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    color: var(--corp-muted);
    background: var(--corp-surface);
    border-top: 1px solid var(--corp-line);

    font-size: 10px;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpLoginVisualIn {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes corpLoginFormIn {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-login-topbar {
        padding: 0 25px;
    }

    .corp-login-main {
        padding: 35px 25px;
    }

    .corp-login-layout {
        grid-template-columns: 1fr;
    }

    .corp-login-visual {
        min-height: 470px;
        padding: 55px;
    }

    .corp-login-form-area {
        padding: 55px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 600px) {

    .corp-login-topbar {
        min-height: 70px;
        padding: 0 15px;
    }

    .corp-login-logo-mark {
        width: 32px;
        height: 32px;
    }

    .corp-login-logo-text {
        font-size: 16px;
    }

    .corp-login-controls {
        gap: 4px;
    }

    .corp-login-controls button {
        width: 31px;
        height: 31px;
    }

    .corp-login-main {
        padding: 15px;
    }

    .corp-login-layout {
        min-height: auto;
    }

    .corp-login-visual {
        min-height: 430px;
        padding: 40px 25px;
    }

    .corp-login-visual::after {
        left: 25px;
        height: 90px;
    }

    .corp-login-visual h1 {
        font-size: 42px;
        letter-spacing: -1.6px;
    }

    .corp-login-metrics {
        gap: 25px;
        margin-top: 40px;
    }

    .corp-login-visual-mark {
        top: 30px;
        right: 25px;
    }

    .corp-login-form-area {
        padding: 45px 25px;
    }

    .corp-login-form-header h2 {
        font-size: 34px;
    }

    .corp-login-footer {
        min-height: 70px;
        padding: 15px;

        flex-direction: column;
        justify-content: center;
        gap: 5px;

        text-align: center;
    }

}


/* =====================================================
   SMALL MOBILE
====================================================== */

@media (max-width: 380px) {

    .corp-login-visual h1 {
        font-size: 36px;
    }

    .corp-login-metrics {
        gap: 18px;
    }

    .corp-login-metric strong {
        font-size: 15px;
    }

    .corp-login-metric span {
        font-size: 9px;
    }

}

/* =========================================================
   CORPORATE DASHBOARD
========================================================= */

:root {
    --corp-bg: #f4f7fb;
    --corp-surface: #ffffff;
    --corp-soft: #edf2f7;
    --corp-line: #dbe3ec;
    --corp-text: #18283a;
    --corp-muted: #718092;
    --corp-primary: #173b63;
    --corp-accent: #d6a642;
    --corp-white: #ffffff;
    --corp-shadow: 0 14px 40px rgba(24,40,58,.10);
    --corp-transition: .28s ease;
}


/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    background: var(--corp-bg);
    color: var(--corp-text);
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
    overflow-x: hidden;
}

button,
select {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
    text-decoration: none;
}


/* =========================================================
   HEADER
========================================================= */

.corp-dash-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid var(--corp-line);
    backdrop-filter: blur(16px);
}

.corp-dash-header-inner {
    width: min(1380px, calc(100% - 50px));
    min-height: 82px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.corp-dash-logo {
    display: inline-flex;
    align-items: center;
    gap: 11px;
}

.corp-dash-logo-mark {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-soft);
    border: 1px solid var(--corp-line);
    border-radius: 10px;
    transition: var(--corp-transition);
}

.corp-dash-logo:hover .corp-dash-logo-mark {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: translateY(-2px);
}

.corp-dash-logo-text {
    font-family: "Manrope", sans-serif;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.5px;
}

.corp-dash-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.corp-dash-theme-btn,
.corp-dash-rtl-btn,
.corp-dash-logout {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--corp-line);
    color: var(--corp-muted);
    background: var(--corp-surface);
    border-radius: 8px;
    cursor: pointer;
    transition: var(--corp-transition);
}

.corp-dash-theme-btn:hover,
.corp-dash-rtl-btn:hover,
.corp-dash-logout:hover {
    color: var(--corp-primary);
    border-color: var(--corp-primary);
}

.corp-dash-rtl-btn {
    font-size: 10px;
    font-weight: 700;
}

.corp-dash-user {
    margin-left: 14px;
    padding-left: 18px;
    border-left: 1px solid var(--corp-line);
    display: flex;
    align-items: center;
    gap: 10px;
}

.corp-dash-user-avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: rgba(214,166,66,.18);
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
}

.corp-dash-user-info {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.corp-dash-user-info strong {
    font-size: 12px;
    font-weight: 700;
}

.corp-dash-user-info span {
    color: var(--corp-muted);
    font-size: 11px;
}

.corp-dash-user > i {
    margin-left: 5px;
    color: var(--corp-muted);
    font-size: 9px;
}


/* =========================================================
   DASHBOARD WRAPPER
========================================================= */

.corp-dashboard {
    width: min(1380px, calc(100% - 50px));
    margin: auto;
    padding: 70px 0 100px;
}


/* =========================================================
   INTRO
========================================================= */

.corp-dashboard-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
    animation: corpDashReveal .7s ease both;
}

.corp-dashboard-kicker,
.corp-panel-heading span,
.corp-section-heading span,
.corp-calendar-intro > span {
    display: block;
    margin-bottom: 9px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.corp-dashboard-intro h1 {
    margin-bottom: 10px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(40px, 5vw, 58px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -2px;
}

.corp-dashboard-intro p {
    max-width: 650px;
    color: var(--corp-muted);
    font-size: 13px;
}

.corp-dashboard-date {
    min-width: 190px;
    padding-left: 25px;
    border-left: 1px solid var(--corp-line);
}

.corp-dashboard-date span {
    display: block;
    margin-bottom: 5px;
    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-dashboard-date strong {
    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   OVERVIEW
========================================================= */

.corp-dashboard-overview {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
    margin-bottom: 42px;
    animation: corpDashReveal .7s .1s ease both;
}

.corp-overview-item {
    min-height: 130px;
    padding: 28px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    border-right: 1px solid var(--corp-line);
}

.corp-overview-item:last-child {
    border-right: 0;
}

.corp-overview-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-soft);
    border-radius: 10px;
    font-size: 16px;
}

.corp-overview-item span {
    display: block;
    margin-bottom: 2px;
    color: var(--corp-muted);
    font-size: 11px;
}

.corp-overview-item strong {
    display: block;
    font-family: "Manrope", sans-serif;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.1;
}

.corp-overview-item small {
    color: var(--corp-accent);
    font-size: 10px;
}


/* =========================================================
   MAIN GRID
========================================================= */

.corp-dashboard-main {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 24px;
    margin-bottom: 24px;
}

.corp-enrollment-panel,
.corp-progress-panel,
.corp-attendance-panel,
.corp-certificate-panel {
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    border-radius: 16px;
    box-shadow: var(--corp-shadow);
}

.corp-enrollment-panel {
    padding: 34px;
}

.corp-progress-panel {
    padding: 34px;
}

.corp-panel-heading,
.corp-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.corp-panel-heading h2,
.corp-section-heading h2 {
    font-family: "Manrope", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

.corp-panel-heading > i {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-soft);
    border-radius: 10px;
}

.corp-panel-description {
    max-width: 550px;
    margin: 15px 0 28px;
    color: var(--corp-muted);
}


/* =========================================================
   FORM
========================================================= */

.corp-enrollment-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.corp-form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.corp-form-group label {
    color: var(--corp-text);
    font-size: 11px;
    font-weight: 600;
}

.corp-form-group select,
.corp-section-heading select {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    color: var(--corp-text);
    background: var(--corp-bg);
    border: 1px solid var(--corp-line);
    border-radius: 8px;
    outline: none;
    cursor: pointer;
}

.corp-form-group select:focus,
.corp-section-heading select:focus {
    border-color: var(--corp-primary);
}

.corp-dashboard-primary {
    min-height: 48px;
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 17px;
    color: #ffffff;
    background: var(--corp-primary);
    border: 1px solid var(--corp-primary);
    border-radius: 8px;
    cursor: pointer;
    transition: var(--corp-transition);
}

.corp-dashboard-primary:hover {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
}

.corp-dashboard-primary i {
    transition: transform .25s ease;
}

.corp-dashboard-primary:hover i {
    transform: translateX(4px);
}


/* =========================================================
   PROGRESS
========================================================= */

.corp-progress-panel .corp-panel-heading a,
.corp-section-heading a {
    color: var(--corp-primary);
    font-size: 11px;
    font-weight: 600;
}

.corp-progress-list {
    margin-top: 27px;
}

.corp-progress-row {
    display: grid;
    grid-template-columns: 35px 1fr 42px;
    gap: 13px;
    align-items: center;
    padding: 19px 0;
    border-top: 1px solid var(--corp-line);
}

.corp-progress-number {
    color: var(--corp-muted);
    font-size: 10px;
    font-weight: 700;
}

.corp-progress-content strong {
    display: block;
    margin-bottom: 2px;
    font-size: 12px;
    font-weight: 700;
}

.corp-progress-content span {
    display: block;
    margin-bottom: 10px;
    color: var(--corp-muted);
    font-size: 10px;
}

.corp-progress-track {
    height: 5px;
    overflow: hidden;
    background: var(--corp-soft);
    border-radius: 20px;
}

.corp-progress-fill {
    height: 100%;
    background: var(--corp-accent);
    border-radius: inherit;
}

.corp-progress-row > b {
    color: var(--corp-primary);
    font-size: 11px;
}


/* =========================================================
   LOWER SECTION
========================================================= */

.corp-dashboard-lower {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 24px;
    margin-bottom: 24px;
}

.corp-attendance-panel,
.corp-certificate-panel {
    padding: 34px;
}


/* =========================================================
   CHART
========================================================= */

.corp-section-heading select {
    width: auto;
    min-width: 120px;
    min-height: 38px;
    font-size: 10px;
}

.corp-attendance-chart {
    height: 245px;
    margin-top: 30px;
    display: flex;
    gap: 14px;
}

.corp-chart-y {
    width: 35px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: var(--corp-muted);
    font-size: 9px;
    text-align: right;
}

.corp-chart-area {
    position: relative;
    flex: 1;
}

.corp-chart-lines {
    position: absolute;
    inset: 0 0 27px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.corp-chart-lines span {
    width: 100%;
    border-top: 1px dashed var(--corp-line);
}

.corp-chart-bars {
    position: absolute;
    inset: 0 10px 0 10px;
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    gap: 20px;
}

.corp-chart-column {
    width: 50px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 9px;
}

.corp-chart-column > div {
    width: 100%;
    min-height: 8px;
    background: var(--corp-primary);
    border-radius: 5px 5px 0 0;
    transition: height .4s ease;
}

.corp-chart-column:hover > div {
    background: var(--corp-accent);
}

.corp-chart-column span {
    color: var(--corp-muted);
    font-size: 9px;
}


/* =========================================================
   CERTIFICATES
========================================================= */

.corp-certificate-highlight {
    margin: 28px 0 14px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 15px;
    background: var(--corp-soft);
    border-radius: 10px;
}

.corp-certificate-icon {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    color: #17283a;
    background: var(--corp-accent);
    border-radius: 8px;
}

.corp-certificate-highlight strong,
.corp-certificate-highlight span {
    display: block;
}

.corp-certificate-highlight strong {
    font-size: 12px;
}

.corp-certificate-highlight span {
    color: var(--corp-muted);
    font-size: 10px;
}

.corp-certificate-list > div {
    min-height: 49px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    border-top: 1px solid var(--corp-line);
}

.corp-certificate-list span {
    font-size: 11px;
}

.corp-certificate-list button {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: transparent;
    border: 0;
    cursor: pointer;
}


/* =========================================================
   CALENDAR
========================================================= */

.corp-calendar-section {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 55px;
    padding: 48px 0;
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}

.corp-calendar-intro h2 {
    max-width: 400px;
    margin-bottom: 13px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1.3px;
}

.corp-calendar-intro p {
    max-width: 390px;
    color: var(--corp-muted);
}

.corp-calendar-link {
    margin-top: 24px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--corp-primary);
    font-size: 11px;
    font-weight: 700;
}

.corp-calendar-link i {
    transition: transform .25s ease;
}

.corp-calendar-link:hover i {
    transform: translateX(4px);
}

.corp-calendar-list {
    border-top: 1px solid var(--corp-line);
}

.corp-calendar-item {
    min-height: 105px;
    padding: 18px 0;
    display: grid;
    grid-template-columns: 65px 1fr auto;
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid var(--corp-line);
}

.corp-calendar-date {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    align-content: center;
    background: var(--corp-soft);
    border-radius: 8px;
}

.corp-calendar-date strong {
    font-family: "Manrope", sans-serif;
    font-size: 20px;
    line-height: 1;
}

.corp-calendar-date span {
    color: var(--corp-accent);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1px;
}

.corp-calendar-info > span {
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}

.corp-calendar-info h3 {
    margin: 3px 0;
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.corp-calendar-info p {
    color: var(--corp-muted);
    font-size: 10px;
}

.corp-calendar-status {
    padding: 5px 9px;
    color: var(--corp-primary);
    background: var(--corp-soft);
    border-radius: 20px;
    font-size: 9px;
    font-weight: 600;
}


/* =========================================================
   ANIMATION
========================================================= */

@keyframes corpDashReveal {

    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .corp-dashboard-main,
    .corp-dashboard-lower {
        grid-template-columns: 1fr;
    }

    .corp-calendar-section {
        grid-template-columns: 1fr;
        gap: 35px;
    }

}


@media (max-width: 900px) {

    .corp-dashboard-overview {
        grid-template-columns: 1fr 1fr;
    }

    .corp-overview-item:nth-child(2) {
        border-right: 0;
    }

    .corp-overview-item:nth-child(-n + 2) {
        border-bottom: 1px solid var(--corp-line);
    }

}


@media (max-width: 700px) {

    .corp-dash-header-inner,
    .corp-dashboard {
        width: min(100% - 30px, 1380px);
    }

    .corp-dash-header-inner {
        min-height: 70px;
    }

    .corp-dash-user-info,
    .corp-dash-user > i {
        display: none;
    }

    .corp-dash-user {
        margin-left: 5px;
        padding-left: 10px;
    }

    .corp-dashboard {
        padding-top: 50px;
    }

    .corp-dashboard-intro {
        align-items: flex-start;
        flex-direction: column;
    }

    .corp-dashboard-date {
        padding-left: 0;
        padding-top: 12px;
        border-left: 0;
        border-top: 1px solid var(--corp-line);
    }

    .corp-enrollment-panel,
    .corp-progress-panel,
    .corp-attendance-panel,
    .corp-certificate-panel {
        padding: 24px 20px;
    }

    .corp-enrollment-form {
        grid-template-columns: 1fr;
    }

    .corp-dashboard-primary {
        grid-column: auto;
    }

}


@media (max-width: 520px) {

    .corp-dash-header-inner {
        gap: 10px;
    }

    .corp-dash-logo-text {
        display: none;
    }

    .corp-dash-theme-btn,
    .corp-dash-rtl-btn,
    .corp-dash-logout {
        width: 32px;
        height: 32px;
    }

    .corp-dashboard-overview {
        grid-template-columns: 1fr;
    }

    .corp-overview-item,
    .corp-overview-item:nth-child(2) {
        min-height: 105px;
        border-right: 0;
        border-bottom: 1px solid var(--corp-line);
    }

    .corp-overview-item:last-child {
        border-bottom: 0;
    }

    .corp-calendar-item {
        grid-template-columns: 55px 1fr;
        gap: 13px;
    }

    .corp-calendar-status {
        display: none;
    }

    .corp-chart-bars {
        gap: 8px;
    }

}

/* =====================================================
   HOME 2 — AI TRAINING BANNER
====================================================== */

.corp-h2-ai-banner {
    position: relative;
    width: 100%;
    min-height: 760px;
    overflow: hidden;
    isolation: isolate;
    background: #07111f;
    color: #ffffff;
}

.corp-h2-ai-bg {
    position: absolute;
    inset: -5%;
    z-index: -5;
    background:
        linear-gradient(
            135deg,
            rgba(7, 17, 31, .78),
            rgba(23, 59, 99, .58),
            rgba(7, 17, 31, .82)
        ),
        url("../images/van-tay-media-TOBRTuE_uXA-unsplash.jpg") center / cover no-repeat;
    animation: corpH2BgMove 18s ease-in-out infinite alternate;
}

.corp-h2-ai-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    filter: blur(90px);
    opacity: .25;
    pointer-events: none;
    z-index: -3;
}

.corp-h2-ai-glow-one {
    top: 5%;
    left: 8%;
    background: var(--corp-primary);
    animation: corpH2GlowOne 8s ease-in-out infinite alternate;
}

.corp-h2-ai-glow-two {
    right: 5%;
    bottom: 0;
    background: var(--corp-accent);
    opacity: .12;
    animation: corpH2GlowTwo 9s ease-in-out infinite alternate;
}

.corp-h2-ai-grid {
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -32%;
    height: 65%;
    z-index: -2;
    opacity: .16;
    background-image:
        linear-gradient(
            rgba(255,255,255,.18) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.18) 1px,
            transparent 1px
        );
    background-size: 70px 70px;
    transform: perspective(450px) rotateX(62deg);
    transform-origin: center top;
    animation: corpH2GridMove 8s linear infinite;
}


/* =====================================================
   INNER
====================================================== */

.corp-h2-ai-inner {
    position: relative;
    width: min(1240px, calc(100% - 40px));
    min-height: 760px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 55px 0 40px;
}


/* =====================================================
   TOP LABEL
====================================================== */

.corp-h2-ai-top {
    display: flex;
    justify-content: center;
    opacity: 0;
    animation: corpH2FadeDown .8s ease forwards;
}

.corp-h2-ai-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--corp-accent);
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-ai-label i {
    font-size: 12px;
}


/* =====================================================
   CENTER
====================================================== */

.corp-h2-ai-center {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* =====================================================
   ORBIT
====================================================== */

.corp-h2-ai-orbit {
    position: absolute;
    width: 460px;
    height: 460px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    animation: corpH2Orbit 18s linear infinite;
}

.corp-h2-ai-orbit::before,
.corp-h2-ai-orbit::after {
    content: "";
    position: absolute;
    inset: 45px;
    border: 1px solid rgba(214,166,66,.20);
    border-radius: 50%;
}

.corp-h2-ai-orbit::after {
    inset: 105px;
    border-color: rgba(255,255,255,.10);
}


.corp-h2-ai-core {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 82px;
    height: 82px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #17283a;
    background: var(--corp-accent);
    box-shadow:
        0 0 0 12px rgba(214,166,66,.08),
        0 0 55px rgba(214,166,66,.28);
    font-size: 27px;
    transform: translate(-50%, -50%);
    animation: corpH2CenterIn 1s ease forwards;
}


.corp-h2-ai-orbit-dot {
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--corp-accent);
    box-shadow: 0 0 18px rgba(214,166,66,.55);
}

.dot-one {
    top: 26px;
    left: 50%;
}

.dot-two {
    right: 42px;
    bottom: 80px;
}

.dot-three {
    left: 45px;
    bottom: 100px;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-h2-ai-content {
    position: relative;
    z-index: 3;
    width: min(760px, 100%);
    text-align: center;
    opacity: 0;
    animation: corpH2CenterIn 1s .25s ease forwards;
}

.corp-h2-ai-content h1 {
    margin: 0 auto 22px;
    max-width: 760px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(48px, 6vw, 78px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -3px;
}

.corp-h2-ai-content h1 span {
    display: block;
    color: var(--corp-accent);
}

.corp-h2-ai-content p {
    width: min(620px, 100%);
    margin: 0 auto 30px;
    color: rgba(255,255,255,.70);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}


/* =====================================================
   IMPORTANT:
   HOME 1 BUTTON CLASSES ONLY
====================================================== */

.corp-h2-ai-content .corp-home-banner-actions {
    justify-content: center;
}


/* =====================================================
   FLOATING CARDS
====================================================== */

.corp-h2-ai-card {
    position: absolute;
    z-index: 4;
    min-width: 185px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 12px;
    background: rgba(9,22,38,.58);
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 45px rgba(0,0,0,.22);
    opacity: 0;
    animation: corpH2CardReveal .8s ease forwards;
}

.corp-h2-ai-card-one {
    top: 31%;
    left: 0;
    animation-delay: .55s;
    animation-name: corpH2CardOne;
}

.corp-h2-ai-card-two {
    top: 47%;
    right: 0;
    animation-delay: .75s;
    animation-name: corpH2CardTwo;
}

.corp-h2-ai-card-three {
    right: 5%;
    bottom: 19%;
    animation-delay: .95s;
    animation-name: corpH2CardThree;
}

.corp-h2-ai-card-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    color: var(--corp-accent);
    border: 1px solid rgba(214,166,66,.24);
    border-radius: 9px;
    background: rgba(214,166,66,.08);
    font-size: 14px;
}

.corp-h2-ai-card strong,
.corp-h2-ai-card span {
    display: block;
}

.corp-h2-ai-card strong {
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.1;
}

.corp-h2-ai-card span {
    margin-top: 4px;
    color: rgba(255,255,255,.55);
    font-size: 10px;
    font-weight: 400;
}


/* =====================================================
   BOTTOM
====================================================== */

.corp-h2-ai-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 35px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.10);
    opacity: 0;
    animation: corpH2FadeDown .8s .8s ease forwards;
}

.corp-h2-ai-bottom span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,.56);
    font-size: 11px;
    font-weight: 500;
}

.corp-h2-ai-bottom i {
    color: var(--corp-accent);
    font-size: 5px;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpH2BgMove {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.08);
    }
}

@keyframes corpH2GridMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 0 70px;
    }
}

@keyframes corpH2GlowOne {
    from {
        transform: translate(0,0);
    }

    to {
        transform: translate(70px,35px);
    }
}

@keyframes corpH2GlowTwo {
    from {
        transform: translate(0,0);
    }

    to {
        transform: translate(-60px,-40px);
    }
}

@keyframes corpH2Orbit {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes corpH2CenterIn {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2FadeDown {
    from {
        opacity: 0;
        transform: translateY(-18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2CardOne {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2CardTwo {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2CardThree {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-h2-ai-banner,
    .corp-h2-ai-inner {
        min-height: 720px;
    }

    .corp-h2-ai-orbit {
        width: 390px;
        height: 390px;
    }

    .corp-h2-ai-card-one {
        left: 10px;
    }

    .corp-h2-ai-card-two {
        right: 10px;
    }

    .corp-h2-ai-card-three {
        right: 25px;
    }
}


@media (max-width: 768px) {

    .corp-h2-ai-banner,
    .corp-h2-ai-inner {
        min-height: 780px;
    }

    .corp-h2-ai-inner {
        padding: 40px 0 28px;
    }

    .corp-h2-ai-center {
        min-height: 560px;
    }

    .corp-h2-ai-orbit {
        width: 330px;
        height: 330px;
    }

    .corp-h2-ai-content {
        padding: 0 15px;
    }

    .corp-h2-ai-content h1 {
        font-size: clamp(40px, 10vw, 58px);
        letter-spacing: -2px;
    }

    .corp-h2-ai-card {
        min-width: 155px;
        padding: 10px 12px;
    }

    .corp-h2-ai-card-one {
        top: 17%;
        left: 0;
    }

    .corp-h2-ai-card-two {
        top: auto;
        right: 0;
        bottom: 19%;
    }

    .corp-h2-ai-card-three {
        right: 50%;
        bottom: 5%;
        transform: translateX(50%);
    }

    .corp-h2-ai-bottom {
        flex-wrap: wrap;
        gap: 12px 22px;
    }
}


@media (max-width: 480px) {

    .corp-h2-ai-banner,
    .corp-h2-ai-inner {
        min-height: 820px;
    }

    .corp-h2-ai-inner {
        width: min(100% - 30px, 1240px);
    }

    .corp-h2-ai-orbit {
        width: 275px;
        height: 275px;
    }

    .corp-h2-ai-core {
        width: 65px;
        height: 65px;
        font-size: 22px;
    }

    .corp-h2-ai-content h1 {
        font-size: 42px;
    }

    .corp-h2-ai-content p {
        font-size: 13px;
    }

    .corp-h2-ai-card {
        min-width: 145px;
    }

    .corp-h2-ai-card-one {
        top: 15%;
    }

    .corp-h2-ai-card-two {
        bottom: 20%;
    }

    .corp-h2-ai-card-three {
        display: none;
    }

    .corp-h2-ai-bottom {
        justify-content: flex-start;
    }
}


/* =====================================================
   HOME 2 — LEARNING INTELLIGENCE
====================================================== */

.corp-h2-intelligence-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-h2-intelligence-wrap {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 90px;
    align-items: center;
}


/* =====================================================
   INTRO
====================================================== */

.corp-h2-intelligence-intro {
    position: relative;
    padding-left: 24px;
    border-left: 2px solid var(--corp-accent);
    opacity: 0;
    animation: corpH2IntelIntro .8s ease forwards;
}

.corp-h2-intelligence-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-intelligence-kicker span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 800;
}

.corp-h2-intelligence-intro h2 {
    max-width: 440px;
    margin: 0 0 24px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -2.5px;
}

.corp-h2-intelligence-intro h2 strong {
    display: block;
    color: var(--corp-primary);
    font-weight: 800;
}

.corp-h2-intelligence-intro p {
    max-width: 410px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}


/* =====================================================
   INTELLIGENCE BOARD
====================================================== */

.corp-h2-intelligence-board {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--corp-line);
    background: var(--corp-surface);
    box-shadow: var(--corp-shadow);
    opacity: 0;
    animation: corpH2IntelBoard .9s .15s ease forwards;
}

.corp-h2-intelligence-board-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 28px 30px;
    border-bottom: 1px solid var(--corp-line);
}

.corp-h2-intelligence-board-head span {
    display: block;
    margin-bottom: 7px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-h2-intelligence-board-head h3 {
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.corp-h2-intelligence-board-head > i {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: var(--corp-accent);
    border: 1px solid var(--corp-line);
    border-radius: 50%;
    background: var(--corp-soft);
    font-size: 15px;
}


/* =====================================================
   INTELLIGENCE ROW
====================================================== */

.corp-h2-intelligence-row {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 22px;
    align-items: center;
    padding: 27px 30px;
    border-bottom: 1px solid var(--corp-line);
    transition:
        background .3s ease,
        padding-left .3s ease,
        padding-right .3s ease;
}

.corp-h2-intelligence-row:hover {
    background: var(--corp-soft);
}

.corp-h2-intelligence-index {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 800;
}

.corp-h2-intelligence-main {
    min-width: 0;
}

.corp-h2-intelligence-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.corp-h2-intelligence-title i {
    color: var(--corp-primary);
    font-size: 14px;
}

.corp-h2-intelligence-title h4 {
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.corp-h2-intelligence-main p {
    max-width: 470px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}

.corp-h2-intelligence-status {
    display: flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
}

.corp-h2-intelligence-status span {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}

.corp-h2-intelligence-status i {
    color: var(--corp-accent);
    font-size: 10px;
}


/* =====================================================
   BOARD FOOT
====================================================== */

.corp-h2-intelligence-board-foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    padding: 18px 30px;
    background: var(--corp-soft);
}

.corp-h2-intelligence-board-foot span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}

.corp-h2-intelligence-board-foot i {
    color: var(--corp-accent);
    font-size: 5px;
}


/* =====================================================
   ANIMATION
====================================================== */

@keyframes corpH2IntelIntro {

    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpH2IntelBoard {

    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-h2-intelligence-wrap {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .corp-h2-intelligence-intro {
        max-width: 700px;
    }

    .corp-h2-intelligence-intro h2 {
        max-width: 600px;
    }

    .corp-h2-intelligence-intro p {
        max-width: 600px;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 600px) {

    .corp-h2-intelligence-section {
        padding: 100px 0;
    }

    .corp-h2-intelligence-wrap {
        width: min(100% - 30px, 1180px);
        gap: 40px;
    }

    .corp-h2-intelligence-intro {
        padding-left: 18px;
    }

    .corp-h2-intelligence-intro h2 {
        font-size: 42px;
        letter-spacing: -1.8px;
    }

    .corp-h2-intelligence-board-head {
        padding: 23px 20px;
    }

    .corp-h2-intelligence-row {
        grid-template-columns: 35px 1fr;
        gap: 13px;
        padding: 23px 20px;
    }

    .corp-h2-intelligence-status {
        grid-column: 2;
    }

    .corp-h2-intelligence-board-foot {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 12px 18px;
        padding: 16px 20px;
    }

}

/* =====================================================
   HOME 2 — CAPABILITY MOTION
====================================================== */

.corp-h2-motion-section {
    position: relative;
    width: 100%;
    min-height: 760px;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-primary);
    color: #ffffff;
}

.corp-h2-motion-section::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    top: -180px;
    right: -120px;
    border-radius: 50%;
    background: rgba(214,166,66,.08);
    filter: blur(70px);
}

.corp-h2-motion-section::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    left: -180px;
    bottom: -180px;
    border-radius: 50%;
    background: rgba(255,255,255,.035);
    filter: blur(55px);
}

.corp-h2-motion-wrap {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 40px));
    min-height: 560px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    align-items: center;
    gap: 70px;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-h2-motion-content {
    opacity: 0;
    animation: corpH2MotionContentIn .9s ease forwards;
}

.corp-h2-motion-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-motion-label::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-h2-motion-content h2 {
    max-width: 520px;
    margin: 0 0 25px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -2.5px;
}

.corp-h2-motion-content h2 span {
    display: block;
    color: var(--corp-accent);
}

.corp-h2-motion-content p {
    max-width: 470px;
    margin: 0;
    color: rgba(255,255,255,.67);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}

.corp-h2-motion-line {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 35px;
}

.corp-h2-motion-line span {
    width: 42px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-h2-motion-line strong {
    color: rgba(255,255,255,.48);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}


/* =====================================================
   VISUAL
====================================================== */

.corp-h2-motion-visual {
    position: relative;
    width: min(570px, 100%);
    aspect-ratio: 1 / 1;
    margin: 0 auto;
}


/* =====================================================
   RINGS
====================================================== */

.corp-h2-motion-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.ring-one {
    width: 250px;
    height: 250px;
    animation: corpH2MotionRotate 16s linear infinite;
}

.ring-two {
    width: 380px;
    height: 380px;
    border-color: rgba(214,166,66,.20);
    animation: corpH2MotionRotateReverse 22s linear infinite;
}

.ring-three {
    width: 500px;
    height: 500px;
    border-style: dashed;
    border-color: rgba(255,255,255,.08);
    animation: corpH2MotionRotate 30s linear infinite;
}


/* =====================================================
   CENTER CORE
====================================================== */

.corp-h2-motion-core {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 135px;
    height: 135px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(214,166,66,.42);
    border-radius: 50%;
    background: rgba(8,25,43,.92);
    box-shadow:
        0 0 0 12px rgba(214,166,66,.035),
        0 0 60px rgba(214,166,66,.15);
    transform: translate(-50%, -50%);
    z-index: 5;
    animation: corpH2MotionCore 3s ease-in-out infinite;
}

.corp-h2-motion-core i {
    margin-bottom: 8px;
    color: var(--corp-accent);
    font-size: 21px;
}

.corp-h2-motion-core strong {
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 1px;
}

.corp-h2-motion-core small {
    margin-top: 3px;
    color: rgba(255,255,255,.42);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* =====================================================
   NODES
====================================================== */

.corp-h2-motion-node {
    position: absolute;
    z-index: 7;
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 175px;
    padding: 11px 13px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 10px;
    background: rgba(7,22,38,.78);
    backdrop-filter: blur(12px);
    box-shadow: 0 15px 35px rgba(0,0,0,.18);
}

.corp-h2-motion-node-icon {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    color: var(--corp-accent);
    border: 1px solid rgba(214,166,66,.25);
    border-radius: 8px;
    background: rgba(214,166,66,.07);
    font-size: 13px;
}

.corp-h2-motion-node strong,
.corp-h2-motion-node small {
    display: block;
}

.corp-h2-motion-node strong {
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 700;
}

.corp-h2-motion-node small {
    margin-top: 3px;
    color: rgba(255,255,255,.45);
    font-size: 9px;
    font-weight: 400;
}


/* =====================================================
   NODE POSITIONS
====================================================== */

.node-one {
    top: 8%;
    left: 7%;
    animation:
        corpH2MotionNodeIn .8s .25s ease forwards,
        corpH2MotionFloat 4s 1.1s ease-in-out infinite;
}

.node-two {
    top: 12%;
    right: 3%;
    animation:
        corpH2MotionNodeIn .8s .4s ease forwards,
        corpH2MotionFloat 4.5s 1.3s ease-in-out infinite;
}

.node-three {
    bottom: 12%;
    left: 3%;
    animation:
        corpH2MotionNodeIn .8s .55s ease forwards,
        corpH2MotionFloat 5s 1.5s ease-in-out infinite;
}

.node-four {
    right: 5%;
    bottom: 8%;
    animation:
        corpH2MotionNodeIn .8s .7s ease forwards,
        corpH2MotionFloat 4.2s 1.7s ease-in-out infinite;
}


/* =====================================================
   PARTICLES
====================================================== */

.corp-h2-motion-particle {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--corp-accent);
    box-shadow: 0 0 14px rgba(214,166,66,.65);
}

.particle-one {
    top: 30%;
    left: 20%;
    animation: corpH2MotionParticleOne 5s ease-in-out infinite;
}

.particle-two {
    top: 63%;
    right: 18%;
    animation: corpH2MotionParticleTwo 6s ease-in-out infinite;
}

.particle-three {
    bottom: 22%;
    left: 45%;
    animation: corpH2MotionParticleThree 4s ease-in-out infinite;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpH2MotionContentIn {

    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpH2MotionNodeIn {

    from {
        opacity: 0;
        transform: scale(.75);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }

}

@keyframes corpH2MotionFloat {

    0%,
    100% {
        margin-top: 0;
    }

    50% {
        margin-top: -10px;
    }

}

@keyframes corpH2MotionCore {

    0%,
    100% {
        box-shadow:
            0 0 0 12px rgba(214,166,66,.035),
            0 0 60px rgba(214,166,66,.15);
    }

    50% {
        box-shadow:
            0 0 0 18px rgba(214,166,66,.045),
            0 0 85px rgba(214,166,66,.25);
    }

}

@keyframes corpH2MotionRotate {

    from {
        transform: translate(-50%, -50%) rotate(0);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }

}

@keyframes corpH2MotionRotateReverse {

    from {
        transform: translate(-50%, -50%) rotate(360deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(0);
    }

}

@keyframes corpH2MotionParticleOne {

    0%,
    100% {
        transform: translate(0, 0);
        opacity: .4;
    }

    50% {
        transform: translate(45px, -35px);
        opacity: 1;
    }

}

@keyframes corpH2MotionParticleTwo {

    0%,
    100% {
        transform: translate(0, 0);
        opacity: .35;
    }

    50% {
        transform: translate(-35px, 30px);
        opacity: 1;
    }

}

@keyframes corpH2MotionParticleThree {

    0%,
    100% {
        transform: translateY(0);
        opacity: .3;
    }

    50% {
        transform: translateY(-40px);
        opacity: 1;
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-h2-motion-wrap {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .corp-h2-motion-content {
        text-align: center;
    }

    .corp-h2-motion-content h2,
    .corp-h2-motion-content p {
        margin-left: auto;
        margin-right: auto;
    }

    .corp-h2-motion-label {
        justify-content: center;
    }

    .corp-h2-motion-line {
        justify-content: center;
    }

    .corp-h2-motion-visual {
        width: min(570px, 100%);
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 600px) {

    .corp-h2-motion-section {
        padding: 100px 0;
    }

    .corp-h2-motion-wrap {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-motion-content h2 {
        font-size: 42px;
        letter-spacing: -1.8px;
    }

    .corp-h2-motion-visual {
        min-height: 430px;
        aspect-ratio: auto;
    }

    .ring-one {
        width: 190px;
        height: 190px;
    }

    .ring-two {
        width: 290px;
        height: 290px;
    }

    .ring-three {
        width: 380px;
        height: 380px;
    }

    .corp-h2-motion-core {
        width: 105px;
        height: 105px;
    }

    .corp-h2-motion-node {
        min-width: 140px;
        padding: 8px;
        gap: 8px;
    }

    .corp-h2-motion-node-icon {
        width: 31px;
        height: 31px;
        flex-basis: 31px;
        font-size: 11px;
    }

    .corp-h2-motion-node strong {
        font-size: 10px;
    }

    .corp-h2-motion-node small {
        font-size: 8px;
    }

    .node-one {
        top: 2%;
        left: 0;
    }

    .node-two {
        top: 3%;
        right: 0;
    }

    .node-three {
        bottom: 3%;
        left: 0;
    }

    .node-four {
        right: 0;
        bottom: 2%;
    }

}

/* =====================================================
   HOME 2 — VISUAL LEARNING LAB
====================================================== */

.corp-h2-visual-lab {
    position: relative;
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-surface);
}

.corp-h2-visual-lab-head {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto 65px;
    display: grid;
    grid-template-columns: 1fr .75fr;
    gap: 80px;
    align-items: end;
}


/* =====================================================
   HEADING
====================================================== */

.corp-h2-visual-lab-title {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

.corp-h2-visual-lab-number {
    padding-top: 8px;
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 800;
}

.corp-h2-visual-lab-title small {
    display: block;
    margin-bottom: 18px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-visual-lab-title h2 {
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -2.5px;
}

.corp-h2-visual-lab-title h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-h2-visual-lab-head > p {
    max-width: 420px;
    margin: 0 0 5px auto;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}


/* =====================================================
   VISUAL FIELD
====================================================== */

.corp-h2-visual-lab-field {
    position: relative;
    width: min(1180px, calc(100% - 40px));
    height: 600px;
    margin: 0 auto;
    overflow: hidden;
    background: #e8edf2;
}


/* =====================================================
   IMAGES
====================================================== */

.corp-h2-lab-image {
    position: absolute;
    overflow: hidden;
    opacity: 0;
    box-shadow: 0 25px 55px rgba(24,40,58,.18);
    animation: corpH2LabImageIn .9s ease forwards;
}

.corp-h2-lab-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition:
        transform .7s ease,
        filter .7s ease;
}

.corp-h2-lab-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(8,20,34,.75),
            transparent 55%
        );
}

.corp-h2-lab-image:hover img {
    transform: scale(1.08);
    filter: saturate(1.08);
}


/* =====================================================
   IMAGE POSITIONS
====================================================== */

.lab-image-one {
    width: 31%;
    height: 275px;
    left: 0;
    top: 0;
    animation-delay: .15s;
}

.lab-image-two {
    width: 25%;
    height: 220px;
    left: 34%;
    top: 0;
    animation-delay: .3s;
}

.lab-image-three {
    width: 31%;
    height: 275px;
    right: 0;
    top: 0;
    animation-delay: .45s;
}

.lab-image-four {
    width: 31%;
    height: 275px;
    left: 17%;
    bottom: 0;
    animation-delay: .6s;
}


/* =====================================================
   IMAGE INFO
====================================================== */

.corp-h2-lab-image-info {
    position: absolute;
    z-index: 2;
    left: 18px;
    right: 18px;
    bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.corp-h2-lab-image-info span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.corp-h2-lab-image-info strong {
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* =====================================================
   CENTER STATEMENT
====================================================== */

.corp-h2-lab-center {
    position: absolute;
    z-index: 5;
    width: 235px;
    height: 235px;
    right: 16%;
    bottom: 8%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    background: var(--corp-primary);
    box-shadow: 0 25px 60px rgba(7,25,43,.25);
    animation: corpH2LabPulse 4s ease-in-out infinite;
}

.corp-h2-lab-center span {
    margin-bottom: 12px;
    color: var(--corp-accent);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-lab-center strong {
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
}

.corp-h2-lab-center i {
    margin-top: 15px;
    color: rgba(255,255,255,.45);
    font-size: 11px;
    animation: corpH2LabArrow 1.6s ease-in-out infinite;
}


/* =====================================================
   MOVING LINE
====================================================== */

.corp-h2-lab-line {
    position: absolute;
    width: 150px;
    height: 1px;
    right: 4%;
    bottom: 48%;
    overflow: hidden;
    background: rgba(23,59,99,.15);
}

.corp-h2-lab-line::after {
    content: "";
    position: absolute;
    left: -50%;
    width: 50%;
    height: 100%;
    background: var(--corp-accent);
    animation: corpH2LabLine 2.5s linear infinite;
}


/* =====================================================
   ANIMATIONS
====================================================== */

@keyframes corpH2LabImageIn {

    from {
        opacity: 0;
        transform: translateY(35px) scale(.96);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}

@keyframes corpH2LabPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.035);
    }

}

@keyframes corpH2LabArrow {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(5px);
    }

}

@keyframes corpH2LabLine {

    from {
        left: -50%;
    }

    to {
        left: 100%;
    }

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width: 992px) {

    .corp-h2-visual-lab-head {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .corp-h2-visual-lab-head > p {
        margin-left: 0;
    }

    .corp-h2-visual-lab-field {
        height: 650px;
    }

    .lab-image-one {
        width: 46%;
    }

    .lab-image-two {
        width: 38%;
        left: auto;
        right: 0;
    }

    .lab-image-three {
        width: 42%;
        top: 310px;
    }

    .lab-image-four {
        width: 45%;
        left: auto;
        right: 5%;
        bottom: 0;
    }

    .corp-h2-lab-center {
        width: 190px;
        height: 190px;
        right: 30%;
        bottom: 22%;
    }

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 600px) {

    .corp-h2-visual-lab {
        padding: 100px 0;
    }

    .corp-h2-visual-lab-head,
    .corp-h2-visual-lab-field {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-visual-lab-title {
        gap: 15px;
    }

    .corp-h2-visual-lab-title h2 {
        font-size: 42px;
        letter-spacing: -1.8px;
    }

    .corp-h2-visual-lab-field {
        height: 720px;
    }

    .lab-image-one {
        width: 68%;
        height: 210px;
    }

    .lab-image-two {
        width: 48%;
        height: 175px;
        top: 235px;
    }

    .lab-image-three {
        width: 48%;
        height: 175px;
        top: 235px;
        right: 0;
    }

    .lab-image-four {
        width: 68%;
        height: 210px;
        left: auto;
        right: 0;
        bottom: 0;
    }

    .corp-h2-lab-center {
        width: 155px;
        height: 155px;
        right: 50%;
        bottom: 26%;
        transform: translateX(50%);
    }

    .corp-h2-lab-center strong {
        font-size: 16px;
    }

    .corp-h2-lab-line {
        display: none;
    }

}

/* =====================================================
   HOME 2 — LEARNING OUTCOMES
====================================================== */

.corp-h2-outcomes-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-h2-outcomes-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================
   HEADER
========================= */

.corp-h2-outcomes-head {
    max-width: 760px;
    margin-bottom: 70px;
    opacity: 0;
    animation: corpH2OutcomeHead .9s ease forwards;
}

.corp-h2-outcomes-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-outcomes-label::before {
    content: "";
    width: 34px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-h2-outcomes-head h2 {
    margin: 0 0 20px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -2px;
}

.corp-h2-outcomes-head h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-h2-outcomes-head p {
    max-width: 620px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =========================
   OUTCOME STAGE
========================= */

.corp-h2-outcomes-stage {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    min-height: 300px;
    padding-top: 35px;
}

.corp-h2-outcomes-line {
    position: absolute;
    top: 65px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--corp-line);
    overflow: hidden;
}

.corp-h2-outcomes-line::after {
    content: "";
    position: absolute;
    top: 0;
    left: -30%;
    width: 30%;
    height: 100%;
    background: var(--corp-accent);
    animation: corpH2OutcomeLine 3s ease-in-out infinite;
}


/* =========================
   OUTCOME ITEM
========================= */

.corp-h2-outcome {
    position: relative;
    padding: 0 38px;
    opacity: 0;
    transform: translateY(35px);
    animation: corpH2OutcomeReveal .8s ease forwards;
}

.corp-h2-outcome + .corp-h2-outcome {
    border-left: 1px solid var(--corp-line);
}

.outcome-one {
    animation-delay: .15s;
}

.outcome-two {
    animation-delay: .3s;
}

.outcome-three {
    animation-delay: .45s;
}

.corp-h2-outcome-number {
    position: relative;
    z-index: 2;
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    margin-bottom: 48px;
    color: #ffffff;
    background: var(--corp-primary);
    border-radius: 50%;
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(23, 59, 99, .18);
    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.corp-h2-outcome:hover .corp-h2-outcome-number {
    color: #17283a;
    background: var(--corp-accent);
    transform: scale(1.08);
}

.corp-h2-outcome-content {
    max-width: 290px;
}

.corp-h2-outcome-content strong {
    display: block;
    margin-bottom: 10px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-h2-outcome-content h3 {
    margin: 0 0 12px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
}

.corp-h2-outcome-content p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =========================
   ANIMATIONS
========================= */

@keyframes corpH2OutcomeHead {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2OutcomeReveal {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2OutcomeLine {
    0% {
        left: -30%;
    }

    50% {
        left: 100%;
    }

    100% {
        left: 100%;
    }
}



/* =========================
   RESPONSIVE
========================= */

@media (max-width: 768px) {

    .corp-h2-outcomes-section {
        padding: 80px 0;
    }

    .corp-h2-outcomes-head {
        margin-bottom: 55px;
    }

    .corp-h2-outcomes-stage {
        grid-template-columns: 1fr;
        gap: 45px;
        padding-top: 0;
    }

    .corp-h2-outcomes-line {
        display: none;
    }

    .corp-h2-outcome {
        padding: 0 0 40px;
        border-bottom: 1px solid var(--corp-line);
    }

    .corp-h2-outcome + .corp-h2-outcome {
        border-left: 0;
        border-right: 0;
    }

    .corp-h2-outcome:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .corp-h2-outcome-number {
        margin-bottom: 24px;
    }

    .corp-h2-outcome-content {
        max-width: 100%;
    }

    html[dir="rtl"] .corp-h2-outcome {
        text-align: right;
    }
}

@media (max-width: 480px) {

    .corp-h2-outcomes-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-outcomes-head h2 {
        letter-spacing: -1.2px;
    }

    .corp-h2-outcome-content h3 {
        font-size: 20px;
    }
}


/* =====================================================
   HOME 2 — LEARNING CULTURE
====================================================== */

.corp-h2-culture-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-surface);
}

.corp-h2-culture-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 100px;
    align-items: center;
}


/* =========================
   INTRO
========================= */

.corp-h2-culture-intro {
    opacity: 0;
    animation: corpH2CultureIntro .9s ease forwards;
}

.corp-h2-culture-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-culture-label::before {
    content: "";
    width: 34px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-h2-culture-intro h2 {
    margin: 0 0 22px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -2px;
}

.corp-h2-culture-intro h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-h2-culture-intro p {
    max-width: 470px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =========================
   CONTENT
========================= */

.corp-h2-culture-content {
    position: relative;
    min-height: 440px;
    display: flex;
    align-items: center;
}

.corp-h2-culture-word {
    position: absolute;
    top: 50%;
    right: -35px;
    transform: translateY(-50%) rotate(90deg);
    color: var(--corp-soft);
    font-family: "Manrope", sans-serif;
    font-size: clamp(80px, 11vw, 150px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -8px;
    pointer-events: none;
    user-select: none;
}

.corp-h2-culture-points {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-right: 70px;
}

.corp-h2-culture-point {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 24px;
    padding: 28px 0;
    border-top: 1px solid var(--corp-line);
    opacity: 0;
    transform: translateX(35px);
    animation: corpH2CulturePoint .7s ease forwards;
}

.corp-h2-culture-point:last-child {
    border-bottom: 1px solid var(--corp-line);
}

.corp-h2-culture-point:nth-child(1) {
    animation-delay: .2s;
}

.corp-h2-culture-point:nth-child(2) {
    animation-delay: .35s;
}

.corp-h2-culture-point:nth-child(3) {
    animation-delay: .5s;
}

.corp-h2-culture-point > span {
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding-top: 4px;
}

.corp-h2-culture-point h3 {
    margin: 0 0 9px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
}

.corp-h2-culture-point p {
    max-width: 450px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* =========================
   ANIMATION
========================= */

@keyframes corpH2CultureIntro {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2CulturePoint {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 992px) {

    .corp-h2-culture-container {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .corp-h2-culture-intro p {
        max-width: 650px;
    }

    .corp-h2-culture-content {
        min-height: auto;
    }

    .corp-h2-culture-word {
        right: 0;
    }
}


@media (max-width: 768px) {

    .corp-h2-culture-section {
        padding: 80px 0;
    }

    .corp-h2-culture-container {
        width: min(100% - 30px, 1180px);
        gap: 45px;
    }

    .corp-h2-culture-intro h2 {
        letter-spacing: -1.4px;
    }

    .corp-h2-culture-word {
        display: none;
    }

    .corp-h2-culture-points {
        padding-right: 0;
    }

    .corp-h2-culture-point {
        grid-template-columns: 42px 1fr;
        gap: 16px;
        padding: 24px 0;
    }
}


@media (max-width: 480px) {

    .corp-h2-culture-point h3 {
        font-size: 20px;
    }
}

/* =====================================================
   HOME 2 — CONTINUOUS GROWTH
====================================================== */

.corp-h2-growth-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-surface);
}

.corp-h2-growth-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================
   TOP
========================= */

.corp-h2-growth-top {
    display: grid;
    grid-template-columns: 1fr .65fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 85px;
    opacity: 0;
    animation: corpH2GrowthTop .9s ease forwards;
}

.corp-h2-growth-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-growth-label::before {
    content: "";
    width: 34px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-h2-growth-top h2 {
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -2px;
}

.corp-h2-growth-top h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-h2-growth-top > p {
    max-width: 420px;
    margin: 0 0 5px auto;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =========================
   TRACK
========================= */

.corp-h2-growth-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding-top: 30px;
}

.corp-h2-growth-progress {
    position: absolute;
    top: 45px;
    left: 7%;
    width: 86%;
    height: 2px;
    background: var(--corp-line);
    overflow: hidden;
}

.corp-h2-growth-progress::after {
    content: "";
    position: absolute;
    top: 0;
    left: -30%;
    width: 30%;
    height: 100%;
    background: var(--corp-accent);
    animation: corpH2GrowthProgress 4s ease-in-out infinite;
}


/* =========================
   STEP
========================= */

.corp-h2-growth-step {
    position: relative;
    padding: 0 22px;
    opacity: 0;
    transform: translateY(35px);
    animation: corpH2GrowthStep .8s ease forwards;
}

.corp-h2-growth-step:nth-child(2) {
    animation-delay: .15s;
}

.corp-h2-growth-step:nth-child(3) {
    animation-delay: .3s;
}

.corp-h2-growth-step:nth-child(4) {
    animation-delay: .45s;
}

.corp-h2-growth-step:nth-child(5) {
    animation-delay: .6s;
}


/* =========================
   DOT
========================= */

.corp-h2-growth-dot {
    position: relative;
    z-index: 3;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    margin: 0 auto 32px;
    border: 1px solid var(--corp-accent);
    border-radius: 50%;
    background: var(--corp-surface);
}

.corp-h2-growth-dot span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--corp-accent);
    animation: corpH2GrowthPulse 2s ease-in-out infinite;
}


/* =========================
   NUMBER
========================= */

.corp-h2-growth-number {
    margin-bottom: 15px;
    color: var(--corp-primary);
    font-family: "Manrope", sans-serif;
    font-size: 34px;
    font-weight: 800;
    text-align: center;
    letter-spacing: -1px;
}


/* =========================
   CONTENT
========================= */

.corp-h2-growth-content {
    text-align: center;
}

.corp-h2-growth-content small {
    display: block;
    margin-bottom: 8px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-h2-growth-content h3 {
    margin: 0 0 10px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 21px;
    font-weight: 700;
}

.corp-h2-growth-content p {
    max-width: 220px;
    margin: 0 auto;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}


/* =========================
   ANIMATIONS
========================= */

@keyframes corpH2GrowthTop {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2GrowthStep {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2GrowthProgress {

    0% {
        left: -30%;
    }

    45% {
        left: 100%;
    }

    100% {
        left: 100%;
    }
}

@keyframes corpH2GrowthPulse {

    0%,
    100% {
        transform: scale(.75);
        opacity: .6;
    }

    50% {
        transform: scale(1.25);
        opacity: 1;
    }
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 992px) {

    .corp-h2-growth-top {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .corp-h2-growth-top > p {
        margin-left: 0;
    }

    .corp-h2-growth-track {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 55px;
    }

    .corp-h2-growth-progress {
        display: none;
    }
}


@media (max-width: 768px) {

    .corp-h2-growth-section {
        padding: 80px 0;
    }

    .corp-h2-growth-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-growth-top {
        margin-bottom: 55px;
    }

    .corp-h2-growth-top h2 {
        letter-spacing: -1.4px;
    }

    .corp-h2-growth-track {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .corp-h2-growth-step {
        padding: 0;
    }

    .corp-h2-growth-number {
        font-size: 30px;
    }
}


@media (max-width: 480px) {

    .corp-h2-growth-top h2 {
        font-size: 40px;
    }

    .corp-h2-growth-content h3 {
        font-size: 20px;
    }
}

/* =====================================================
   HOME 2 — GROWTH METRICS
====================================================== */

.corp-h2-metrics-section {
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-surface);
}

.corp-h2-metrics-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================
   HEADING
========================= */

.corp-h2-metrics-heading {
    max-width: 720px;
    margin-bottom: 70px;
    opacity: 0;
    animation: corpH2MetricsHeading .9s ease forwards;
}

.corp-h2-metrics-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-metrics-label::before {
    content: "";
    width: 34px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-h2-metrics-heading h2 {
    margin: 0 0 20px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -2px;
}

.corp-h2-metrics-heading h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-h2-metrics-heading p {
    max-width: 570px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =========================
   METRICS GRID
========================= */

.corp-h2-metrics-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}


/* =========================
   METRIC
========================= */

.corp-h2-metric {
    padding: 45px 30px;
    text-align: center;
    opacity: 0;
    transform: translateY(35px);
    animation: corpH2MetricReveal .8s ease forwards;
}

.corp-h2-metric + .corp-h2-metric {
    border-left: 1px solid var(--corp-line);
}

.corp-h2-metric:nth-child(1) {
    animation-delay: .15s;
}

.corp-h2-metric:nth-child(2) {
    animation-delay: .3s;
}

.corp-h2-metric:nth-child(3) {
    animation-delay: .45s;
}

.corp-h2-metric:nth-child(4) {
    animation-delay: .6s;
}


/* =========================
   CIRCLE
========================= */

.corp-h2-metric-circle {
    position: relative;
    width: 145px;
    height: 145px;
    margin: 0 auto 30px;
    display: grid;
    place-items: center;
}

.corp-h2-metric-circle svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.corp-h2-metric-track,
.corp-h2-metric-progress {
    fill: none;
    stroke-width: 5;
}

.corp-h2-metric-track {
    stroke: var(--corp-line);
}

.corp-h2-metric-progress {
    stroke: var(--corp-accent);
    stroke-linecap: round;
    stroke-dasharray: 314;
    stroke-dashoffset: 314;
    animation: corpH2MetricDraw 1.8s ease forwards;
}

.metric-88 {
    animation-delay: .4s;
    --metric-offset: 37.68;
}

.metric-92 {
    animation-delay: .55s;
    --metric-offset: 25.12;
}

.metric-84 {
    animation-delay: .7s;
    --metric-offset: 50.24;
}

.metric-96 {
    animation-delay: .85s;
    --metric-offset: 12.56;
}

.corp-h2-metric-progress {
    animation-name: corpH2MetricDraw;
}

.corp-h2-metric-circle strong {
    position: relative;
    z-index: 2;
    color: var(--corp-primary);
    font-family: "Manrope", sans-serif;
    font-size: 27px;
    font-weight: 800;
}


/* =========================
   CONTENT
========================= */

.corp-h2-metric-content small {
    display: block;
    margin-bottom: 10px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.corp-h2-metric-content h3 {
    margin: 0 0 11px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
}

.corp-h2-metric-content p {
    max-width: 220px;
    margin: 0 auto;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}


/* =========================
   ANIMATIONS
========================= */

@keyframes corpH2MetricsHeading {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2MetricReveal {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2MetricDraw {

    to {
        stroke-dashoffset: var(--metric-offset);
    }
}


/* =========================
   HOVER
========================= */

.corp-h2-metric-circle {
    transition: transform .35s ease;
}

.corp-h2-metric:hover .corp-h2-metric-circle {
    transform: scale(1.06);
}

.corp-h2-metric:hover .corp-h2-metric-progress {
    stroke: var(--corp-primary);
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 992px) {

    .corp-h2-metrics-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .corp-h2-metric:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--corp-line);
    }

    .corp-h2-metric:nth-child(4) {
        border-top: 1px solid var(--corp-line);
    }
}


@media (max-width: 768px) {

    .corp-h2-metrics-section {
        padding: 80px 0;
    }

    .corp-h2-metrics-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-metrics-heading {
        margin-bottom: 50px;
    }

    .corp-h2-metrics-heading h2 {
        letter-spacing: -1.4px;
    }

    .corp-h2-metric {
        padding: 35px 20px;
    }

    .corp-h2-metric-circle {
        width: 125px;
        height: 125px;
    }

    .corp-h2-metric-circle strong {
        font-size: 24px;
    }
}


@media (max-width: 520px) {

    .corp-h2-metrics-grid {
        grid-template-columns: 1fr;
    }

    .corp-h2-metric + .corp-h2-metric {
        border-left: 0;
        border-top: 1px solid var(--corp-line);
    }

    .corp-h2-metric:nth-child(3) {
        border-top: 1px solid var(--corp-line);
    }

    .corp-h2-metric:nth-child(4) {
        border-top: 1px solid var(--corp-line);
    }
}

/* =====================================================
   HOME 2 — THE LEARNING SHIFT
====================================================== */

.corp-h2-shift-section {
    position: relative;
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-h2-shift-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================
   HEADING
========================= */

.corp-h2-shift-heading {
    max-width: 720px;
    margin-bottom: 65px;
    opacity: 0;
    animation: corpH2ShiftHeading .9s ease forwards;
}

.corp-h2-shift-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-shift-label::before {
    content: "";
    width: 34px;
    height: 1px;
    background: var(--corp-accent);
}

.corp-h2-shift-heading h2 {
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -2px;
}

.corp-h2-shift-heading h2 span {
    display: block;
    color: var(--corp-primary);
}


/* =========================
   STAGE
========================= */

.corp-h2-shift-stage {
    position: relative;
    min-height: 520px;
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}


/* =========================
   CENTER
========================= */

.corp-h2-shift-center {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 210px;
    height: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
    border: 1px solid var(--corp-accent);
    border-radius: 50%;
    background: var(--corp-surface);
    box-shadow: 0 20px 60px rgba(24, 40, 58, .08);
    z-index: 3;
    opacity: 0;
    animation: corpH2ShiftCenter 1s .3s ease forwards;
}

.corp-h2-shift-center::before,
.corp-h2-shift-center::after {
    content: "";
    position: absolute;
    border: 1px solid var(--corp-accent);
    border-radius: 50%;
    opacity: .18;
    animation: corpH2ShiftPulse 3s ease-in-out infinite;
}

.corp-h2-shift-center::before {
    inset: -18px;
}

.corp-h2-shift-center::after {
    inset: -36px;
    animation-delay: .8s;
}

.corp-h2-shift-center-line {
    width: 32px;
    height: 2px;
    margin-bottom: 15px;
    background: var(--corp-accent);
}

.corp-h2-shift-center strong {
    color: var(--corp-primary);
    font-family: "Manrope", sans-serif;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 2px;
}

.corp-h2-shift-center small {
    margin-top: 8px;
    color: var(--corp-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* =========================
   LARGE WORDS
========================= */

.corp-h2-shift-word {
    position: absolute;
    color: transparent;
    -webkit-text-stroke: 1px var(--corp-line);
    font-family: "Manrope", sans-serif;
    font-size: clamp(55px, 7vw, 100px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -4px;
    white-space: nowrap;
    user-select: none;
    opacity: 0;
}

.shift-word-one {
    top: 35px;
    left: 20px;
    animation: corpH2ShiftWordOne 1s .4s ease forwards;
}

.shift-word-two {
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    animation: corpH2ShiftWordTwo 1s .6s ease forwards;
}

.shift-word-three {
    left: 45px;
    bottom: 28px;
    animation: corpH2ShiftWordThree 1s .8s ease forwards;
}


/* =========================
   COPY
========================= */

.corp-h2-shift-copy {
    position: absolute;
    z-index: 4;
    display: flex;
    gap: 14px;
    max-width: 250px;
    opacity: 0;
}

.corp-h2-shift-copy span {
    flex: 0 0 auto;
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 700;
}

.corp-h2-shift-copy p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
}

.shift-copy-one {
    top: 145px;
    left: 35px;
    animation: corpH2ShiftCopyOne .8s 1s ease forwards;
}

.shift-copy-two {
    top: 165px;
    right: 35px;
    animation: corpH2ShiftCopyTwo .8s 1.2s ease forwards;
}

.shift-copy-three {
    right: 80px;
    bottom: 65px;
    animation: corpH2ShiftCopyThree .8s 1.4s ease forwards;
}


/* =========================
   ANIMATIONS
========================= */

@keyframes corpH2ShiftHeading {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2ShiftCenter {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(.7);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes corpH2ShiftPulse {
    0%,
    100% {
        transform: scale(.96);
        opacity: .12;
    }

    50% {
        transform: scale(1.04);
        opacity: .3;
    }
}

@keyframes corpH2ShiftWordOne {
    from {
        opacity: 0;
        transform: translateX(-45px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2ShiftWordTwo {
    from {
        opacity: 0;
        transform: translate(45px, -50%);
    }

    to {
        opacity: 1;
        transform: translate(0, -50%);
    }
}

@keyframes corpH2ShiftWordThree {
    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2ShiftCopyOne {
    from {
        opacity: 0;
        transform: translateX(-25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2ShiftCopyTwo {
    from {
        opacity: 0;
        transform: translateX(25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2ShiftCopyThree {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 768px) {

    .corp-h2-shift-section {
        padding: 80px 0;
    }

    .corp-h2-shift-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-shift-heading {
        margin-bottom: 45px;
    }

    .corp-h2-shift-heading h2 {
        letter-spacing: -1.4px;
    }

    .corp-h2-shift-stage {
        min-height: 560px;
    }

    .corp-h2-shift-center {
        width: 165px;
        height: 165px;
    }

    .corp-h2-shift-center strong {
        font-size: 20px;
    }

    .corp-h2-shift-word {
        font-size: 55px;
        letter-spacing: -2px;
    }

    .shift-word-one {
        top: 35px;
        left: 0;
    }

    .shift-word-two {
        right: -5px;
    }

    .shift-word-three {
        left: 0;
        bottom: 35px;
    }

    .corp-h2-shift-copy {
        max-width: 190px;
    }

    .shift-copy-one {
        top: 125px;
        left: 0;
    }

    .shift-copy-two {
        top: 285px;
        right: 0;
    }

    .shift-copy-three {
        right: 0;
        bottom: 25px;
    }
}


@media (max-width: 480px) {

    .corp-h2-shift-stage {
        min-height: 620px;
    }

    .corp-h2-shift-word {
        font-size: 43px;
    }

    .corp-h2-shift-center {
        width: 140px;
        height: 140px;
    }

    .corp-h2-shift-center strong {
        font-size: 17px;
    }

    .corp-h2-shift-copy {
        max-width: 155px;
        gap: 8px;
    }

    .corp-h2-shift-copy p {
        font-size: 12px;
    }

    .shift-copy-one {
        top: 115px;
    }

    .shift-copy-two {
        top: 305px;
    }

    .shift-copy-three {
        bottom: 20px;
    }
}

/* =====================================================
   HOME 2 — SECTION 11 : LEARNING BEYOND THE ROOM
====================================================== */

.corp-h2-beyond-section {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-surface);
}

.corp-h2-beyond-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* INTRO */

.corp-h2-beyond-intro {
    max-width: 850px;
    margin-bottom: 65px;
    opacity: 0;
    animation: corpH2BeyondIntro .9s ease forwards;
}

.corp-h2-beyond-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--corp-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-beyond-label i {
    display: block;
    width: 30px;
    height: 2px;
    background: var(--corp-accent);
}

.corp-h2-beyond-intro h2 {
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -2.5px;
}

.corp-h2-beyond-intro h2 span {
    display: block;
    color: var(--corp-primary);
    font-weight: 800;
}


/* MAIN STAGE */

.corp-h2-beyond-stage {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    min-height: 580px;
}


/* IMAGE */

.corp-h2-beyond-image {
    position: relative;
    min-height: 580px;
    overflow: hidden;
    opacity: 0;
    animation: corpH2BeyondImage 1s .25s ease forwards;
}

.corp-h2-beyond-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgba(10, 25, 42, .55)
        );
}

.corp-h2-beyond-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-h2-beyond-image:hover img {
    transform: scale(1.05);
}

.corp-h2-beyond-image-number {
    position: absolute;
    z-index: 2;
    left: 28px;
    bottom: 25px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* CONTENT */

.corp-h2-beyond-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 65px 55px;
    background: var(--corp-bg);
    opacity: 0;
    animation: corpH2BeyondContent 1s .5s ease forwards;
}

.corp-h2-beyond-content-top span {
    display: block;
    margin-bottom: 18px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-beyond-content-top p {
    max-width: 390px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}

.corp-h2-beyond-rule {
    width: 100%;
    height: 1px;
    margin: 38px 0;
    background: var(--corp-line);
}


/* ITEMS */

.corp-h2-beyond-items {
    display: flex;
    flex-direction: column;
}

.corp-h2-beyond-item {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 15px;
    padding: 20px 0;
    border-bottom: 1px solid var(--corp-line);
    transition: padding .3s ease;
}

.corp-h2-beyond-item:first-child {
    padding-top: 0;
}

.corp-h2-beyond-item:last-child {
    border-bottom: 0;
}

.corp-h2-beyond-item:hover {
    padding-left: 8px;
}

.corp-h2-beyond-item > strong {
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    padding-top: 4px;
}

.corp-h2-beyond-item h3 {
    margin: 0 0 6px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.corp-h2-beyond-item p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* GALLERY */

.corp-h2-beyond-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 24px;
}

.corp-h2-beyond-gallery-image {
    position: relative;
    height: 240px;
    overflow: hidden;
    opacity: 0;
    animation: corpH2BeyondGallery 1s ease forwards;
}

.corp-h2-beyond-gallery-image:nth-child(2) {
    animation-delay: .2s;
}

.corp-h2-beyond-gallery-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 45%,
        rgba(10, 25, 42, .7)
    );
}

.corp-h2-beyond-gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .7s ease;
}

.corp-h2-beyond-gallery-image:hover img {
    transform: scale(1.06);
}

.corp-h2-beyond-gallery-image span {
    position: absolute;
    z-index: 2;
    left: 22px;
    bottom: 20px;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* ANIMATIONS */

@keyframes corpH2BeyondIntro {
    from {
        opacity: 0;
        transform: translateY(35px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2BeyondImage {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2BeyondContent {
    from {
        opacity: 0;
        transform: translateX(35px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2BeyondGallery {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* TABLET */

@media (max-width: 992px) {

    .corp-h2-beyond-stage {
        grid-template-columns: 1fr;
    }

    .corp-h2-beyond-image {
        min-height: 480px;
    }

    .corp-h2-beyond-content {
        min-height: auto;
        padding: 55px 45px;
    }

}


/* MOBILE */

@media (max-width: 768px) {

    .corp-h2-beyond-section {
        padding: 100px 0;
    }

    .corp-h2-beyond-intro {
        margin-bottom: 45px;
    }

    .corp-h2-beyond-intro h2 {
        letter-spacing: -1.5px;
    }

    .corp-h2-beyond-image {
        min-height: 360px;
    }

    .corp-h2-beyond-content {
        padding: 45px 28px;
    }

    .corp-h2-beyond-gallery {
        grid-template-columns: 1fr;
    }

}


/* SMALL MOBILE */

@media (max-width: 480px) {

    .corp-h2-beyond-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-beyond-image {
        min-height: 300px;
    }

    .corp-h2-beyond-content {
        padding: 40px 22px;
    }

}

/* =====================================================
   HOME 2 — SECTION 12 : LEARNING STORIES
====================================================== */

.corp-h2-stories-section {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-bg);
}

.corp-h2-stories-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* HEADER */

.corp-h2-stories-header {
    max-width: 850px;
    margin-bottom: 65px;
    opacity: 0;
    animation: corpH2StoriesHeader .9s ease forwards;
}

.corp-h2-stories-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--corp-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-stories-label i {
    width: 30px;
    height: 2px;
    background: var(--corp-accent);
}

.corp-h2-stories-header h2 {
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -2.5px;
}

.corp-h2-stories-header h2 span {
    display: block;
    color: var(--corp-primary);
    font-weight: 800;
}


/* FEATURE */

.corp-h2-story-feature {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    min-height: 570px;
    margin-bottom: 24px;
}


/* MAIN IMAGE */

.corp-h2-story-image {
    position: relative;
    overflow: hidden;
    opacity: 0;
    animation: corpH2StoryImage 1s .2s ease forwards;
}

.corp-h2-story-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 55%,
        rgba(10, 25, 42, .58)
    );
}

.corp-h2-story-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-h2-story-image:hover img {
    transform: scale(1.05);
}

.corp-h2-story-index {
    position: absolute;
    z-index: 2;
    left: 30px;
    bottom: 25px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* PANEL */

.corp-h2-story-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 55px;
    background: var(--corp-primary);
    opacity: 0;
    animation: corpH2StoryPanel 1s .45s ease forwards;
}

.corp-h2-story-category {
    margin-bottom: 22px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-story-panel h3 {
    margin: 0 0 20px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(27px, 3vw, 39px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -1px;
}

.corp-h2-story-panel > p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* META */

.corp-h2-story-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 45px;
    border-top: 1px solid rgba(255,255,255,.2);
}

.corp-h2-story-meta div {
    padding: 20px 10px 0 0;
}

.corp-h2-story-meta strong {
    display: block;
    margin-bottom: 7px;
    color: var(--corp-accent);
    font-size: 16px;
    font-weight: 700;
}

.corp-h2-story-meta span {
    color: rgba(255,255,255,.55);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* STORY STRIP */

.corp-h2-story-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.corp-h2-story-small {
    position: relative;
    height: 250px;
    overflow: hidden;
    opacity: 0;
    animation: corpH2StorySmall .8s ease forwards;
}

.corp-h2-story-small:nth-child(2) {
    animation-delay: .15s;
}

.corp-h2-story-small:nth-child(3) {
    animation-delay: .3s;
}

.corp-h2-story-small::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 40%,
        rgba(10,25,42,.78)
    );
}

.corp-h2-story-small img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s ease;
}

.corp-h2-story-small:hover img {
    transform: scale(1.07);
}

.corp-h2-story-small > div {
    position: absolute;
    z-index: 2;
    left: 22px;
    right: 22px;
    bottom: 20px;
}

.corp-h2-story-small span {
    display: block;
    margin-bottom: 5px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
}

.corp-h2-story-small strong {
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 700;
}


/* ANIMATIONS */

@keyframes corpH2StoriesHeader {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2StoryImage {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2StoryPanel {
    from {
        opacity: 0;
        transform: translateX(35px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2StorySmall {
    from {
        opacity: 0;
        transform: translateY(25px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* TABLET */

@media (max-width: 992px) {

    .corp-h2-story-feature {
        grid-template-columns: 1fr;
    }

    .corp-h2-story-image {
        min-height: 480px;
    }

    .corp-h2-story-panel {
        padding: 50px 45px;
    }

}


/* MOBILE */

@media (max-width: 768px) {

    .corp-h2-stories-section {
        padding: 100px 0;
    }

    .corp-h2-stories-header {
        margin-bottom: 45px;
    }

    .corp-h2-stories-header h2 {
        letter-spacing: -1.5px;
    }

    .corp-h2-story-image {
        min-height: 340px;
    }

    .corp-h2-story-panel {
        padding: 42px 28px;
    }

    .corp-h2-story-strip {
        grid-template-columns: 1fr;
    }

    .corp-h2-story-small {
        height: 230px;
    }

}


/* SMALL MOBILE */

@media (max-width: 480px) {

    .corp-h2-stories-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-story-image {
        min-height: 290px;
    }

    .corp-h2-story-panel {
        padding: 38px 22px;
    }

}

/* =====================================================
   HOME 2 — SECTION 13
====================================================== */

.corp-h2-human-section {
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-surface);
}

.corp-h2-human-container {
    width: min(1180px, calc(100% - 40px));
    min-height: 620px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
}

.corp-h2-human-image {
    position: relative;
    overflow: hidden;
    opacity: 0;
    animation: corpH2HumanImage 1s ease forwards;
}

.corp-h2-human-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 55%,
        rgba(10,25,42,.65)
    );
}

.corp-h2-human-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .9s ease;
}

.corp-h2-human-image:hover img {
    transform: scale(1.05);
}

.corp-h2-human-caption {
    position: absolute;
    z-index: 2;
    left: 30px;
    right: 30px;
    bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.corp-h2-human-caption span {
    color: var(--corp-accent);
    font-size: 11px;
    font-weight: 700;
}

.corp-h2-human-caption strong {
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-human-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px 75px;
    background: var(--corp-bg);
    opacity: 0;
    animation: corpH2HumanContent 1s .25s ease forwards;
}

.corp-h2-human-label {
    margin-bottom: 20px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-human-content h2 {
    max-width: 600px;
    margin: 0 0 25px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.03;
    letter-spacing: -2.5px;
}

.corp-h2-human-content h2 span {
    display: block;
    color: var(--corp-primary);
    font-weight: 800;
}

.corp-h2-human-content > p {
    max-width: 510px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}

.corp-h2-human-statement {
    max-width: 520px;
    margin-top: 40px;
    padding: 25px 0;
    border-top: 1px solid var(--corp-line);
    border-bottom: 1px solid var(--corp-line);
}

.corp-h2-human-statement i {
    margin-bottom: 12px;
    color: var(--corp-accent);
    font-size: 18px;
}

.corp-h2-human-statement strong {
    display: block;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

.corp-h2-human-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 28px;
}

.corp-h2-human-footer span {
    color: var(--corp-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

@keyframes corpH2HumanImage {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2HumanContent {
    from {
        opacity: 0;
        transform: translateX(35px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (max-width: 992px) {

    .corp-h2-human-container {
        grid-template-columns: 1fr;
    }

    .corp-h2-human-image {
        min-height: 480px;
    }

    .corp-h2-human-content {
        padding: 60px 50px;
    }

}

@media (max-width: 768px) {

    .corp-h2-human-section {
        padding: 100px 0;
    }

    .corp-h2-human-image {
        min-height: 350px;
    }

    .corp-h2-human-content {
        padding: 45px 28px;
    }

    .corp-h2-human-content h2 {
        letter-spacing: -1.5px;
    }

}

@media (max-width: 480px) {

    .corp-h2-human-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-human-image {
        min-height: 290px;
    }

    .corp-h2-human-content {
        padding: 40px 22px;
    }

}

/* =====================================================
   HOME 2 — SECTION 14
====================================================== */

.corp-h2-leads-section {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: var(--corp-primary);
}

.corp-h2-leads-container {
    width: min(1180px, calc(100% - 40px));
    min-height: 560px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}


/* TOP */

.corp-h2-leads-top {
    display: flex;
    align-items: center;
    gap: 20px;
    color: rgba(255,255,255,.6);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    opacity: 0;
    animation: corpH2LeadsTop .8s ease forwards;
}

.corp-h2-leads-line {
    flex: 1;
    height: 1px;
    background: rgba(255,255,255,.2);
}


/* MAIN */

.corp-h2-leads-main {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 360px;
    align-items: center;
    gap: 70px;
}


/* LARGE WORD */

.corp-h2-leads-word {
    display: flex;
    flex-direction: column;
    opacity: 0;
    animation: corpH2LeadsWords 1s .25s ease forwards;
}

.corp-h2-leads-word span {
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,.28);
    font-family: "Manrope", sans-serif;
    font-size: clamp(70px, 11vw, 145px);
    font-weight: 800;
    line-height: .82;
    letter-spacing: -7px;
    transition: color .4s ease, transform .4s ease;
}

.corp-h2-leads-word span:nth-child(2) {
    color: #fff;
}

.corp-h2-leads-word span:hover {
    color: var(--corp-accent);
    transform: translateX(12px);
    -webkit-text-stroke-color: var(--corp-accent);
}


/* CONTENT */

.corp-h2-leads-content {
    opacity: 0;
    animation: corpH2LeadsContent 1s .55s ease forwards;
}

.corp-h2-leads-content p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}

.corp-h2-leads-signature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 35px;
}

.corp-h2-leads-signature i {
    color: var(--corp-accent);
    font-size: 14px;
    animation: corpH2LeadsArrow 1.5s ease-in-out infinite;
}

.corp-h2-leads-signature strong {
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* BOTTOM */

.corp-h2-leads-bottom {
    display: flex;
    justify-content: flex-end;
    gap: 28px;
    padding-top: 25px;
    border-top: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.5);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-h2-leads-bottom strong {
    color: var(--corp-accent);
}


/* ANIMATIONS */

@keyframes corpH2LeadsTop {
    from {
        opacity: 0;
        transform: translateY(-15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2LeadsWords {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpH2LeadsContent {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes corpH2LeadsArrow {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(6px);
    }
}


/* TABLET */

@media (max-width: 992px) {

    .corp-h2-leads-main {
        grid-template-columns: 1fr 300px;
        gap: 40px;
    }

    .corp-h2-leads-word span {
        font-size: clamp(65px, 10vw, 105px);
    }

}


/* MOBILE */

@media (max-width: 768px) {

    .corp-h2-leads-section {
        padding: 100px 0;
    }

    .corp-h2-leads-main {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .corp-h2-leads-word span {
        font-size: clamp(65px, 18vw, 100px);
        letter-spacing: -4px;
    }

    .corp-h2-leads-content {
        max-width: 500px;
    }

    .corp-h2-leads-bottom {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

}

@media (max-width: 480px) {

    .corp-h2-leads-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-h2-leads-word span {
        font-size: 19vw;
    }

}



/* =====================================================
   CONTACT US — SECTION 01
====================================================== */

.corp-contact-connect-section {
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-contact-connect-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 90px;
    align-items: center;
}


/* INTRO */

.corp-contact-connect-intro {
    opacity: 0;
    animation: corpContactConnectIntro .9s ease forwards;
}

.corp-contact-connect-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--corp-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-contact-connect-label i {
    width: 30px;
    height: 2px;
    background: var(--corp-accent);
}

.corp-contact-connect-intro h2 {
    margin: 0 0 22px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 62px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -2.5px;
}

.corp-contact-connect-intro h2 span {
    display: block;
    color: var(--corp-primary);
    font-weight: 800;
}

.corp-contact-connect-intro > p {
    max-width: 520px;
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}


/* HOURS */

.corp-contact-connect-hours {
    margin-top: 42px;
    padding-top: 22px;
    border-top: 1px solid var(--corp-line);
}

.corp-contact-connect-hours span {
    display: block;
    margin-bottom: 7px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.corp-contact-connect-hours strong {
    color: var(--corp-text);
    font-size: 13px;
    font-weight: 600;
}


/* DETAILS */

.corp-contact-connect-details {
    opacity: 0;
    animation: corpContactConnectDetails 1s .25s ease forwards;
}

.corp-contact-connect-row {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid var(--corp-line);
}

.corp-contact-connect-row:first-child {
    padding-top: 0;
}

.corp-contact-connect-row:last-child {
    border-bottom: 0;
}


.corp-contact-connect-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    border-radius: 50%;
    font-size: 17px;
    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}

.corp-contact-connect-row:hover .corp-contact-connect-icon {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: translateY(-4px);
}

.corp-contact-connect-row small {
    display: block;
    margin-bottom: 7px;
    color: var(--corp-accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.corp-contact-connect-row h3 {
    margin: 0 0 6px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 19px;
    font-weight: 700;
}

.corp-contact-connect-row p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}


/* ANIMATIONS */

@keyframes corpContactConnectIntro {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes corpContactConnectDetails {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* TABLET */

@media (max-width: 992px) {

    .corp-contact-connect-container {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .corp-contact-connect-intro > p {
        max-width: 700px;
    }

}


/* MOBILE */

@media (max-width: 768px) {

    .corp-contact-connect-section {
        padding: 100px 0;
    }

    .corp-contact-connect-container {
        width: min(100% - 30px, 1180px);
        gap: 50px;
    }

    .corp-contact-connect-intro h2 {
        letter-spacing: -1.5px;
    }

    .corp-contact-connect-row {
        grid-template-columns: 48px 1fr;
        gap: 18px;
    }

    .corp-contact-connect-icon {
        width: 48px;
        height: 48px;
        font-size: 15px;
    }

}

@media (max-width: 480px) {

    .corp-contact-connect-intro h2 {
        font-size: 40px;
    }

    .corp-contact-connect-row h3 {
        font-size: 17px;
    }

}

/* =====================================================
   CONTACT US — SECTION 02
====================================================== */

.corp-contact-enquiry-section {
    padding: 100px 0;
    background: var(--corp-surface);
    overflow: hidden;
}

.corp-contact-enquiry-container {
    width: min(1180px, calc(100% - 40px));
    min-height: 650px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
}


/* VISUAL */

.corp-contact-enquiry-visual {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    opacity: 0;
    animation: corpContactEnquiryImage 1s ease forwards;
}

.corp-contact-enquiry-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s ease;
}

.corp-contact-enquiry-visual:hover img {
    transform: scale(1.04);
}

.corp-contact-enquiry-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(12,30,49,.12),
        rgba(12,30,49,.88)
    );
}

.corp-contact-enquiry-visual-content {
    position: absolute;
    z-index: 2;
    left: 45px;
    right: 45px;
    bottom: 50px;
}

.corp-contact-enquiry-visual-content span {
    display: block;
    margin-bottom: 18px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-contact-enquiry-visual-content h2 {
    max-width: 480px;
    margin: 0 0 18px;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(38px, 4vw, 55px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -2px;
}

.corp-contact-enquiry-visual-content p {
    max-width: 450px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}


/* FORM */

.corp-contact-enquiry-form {
    padding: 60px 55px;
    background: var(--corp-bg);
    opacity: 0;
    animation: corpContactEnquiryForm 1s .25s ease forwards;
}

.corp-contact-enquiry-form-head {
    margin-bottom: 35px;
}

.corp-contact-enquiry-form-head span {
    display: block;
    margin-bottom: 12px;
    color: var(--corp-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.corp-contact-enquiry-form-head h3 {
    max-width: 420px;
    margin: 0;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
}


/* FIELD ROW */

.corp-contact-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.corp-contact-field {
    margin-bottom: 22px;
}

.corp-contact-field label {
    display: block;
    margin-bottom: 8px;
    color: var(--corp-text);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.corp-contact-field input,
.corp-contact-field select,
.corp-contact-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--corp-line);
    border-radius: 0;
    outline: none;
    background: var(--corp-surface);
    color: var(--corp-text);
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 400;
    padding: 13px 14px;
    transition:
        border-color .3s ease,
        box-shadow .3s ease;
}

.corp-contact-field textarea {
    min-height: 105px;
    resize: vertical;
}

.corp-contact-field input::placeholder,
.corp-contact-field textarea::placeholder {
    color: var(--corp-muted);
}

.corp-contact-field input:focus,
.corp-contact-field select:focus,
.corp-contact-field textarea:focus {
    border-color: var(--corp-primary);
    box-shadow: 0 0 0 3px rgba(23,59,99,.08);
}


/* BUTTON
   Reuses Home 1 button class exactly
*/

.corp-contact-enquiry-form .corp-home-banner-primary {
    margin-top: 5px;
    border: 0;
    cursor: pointer;
    font-family: "DM Sans", sans-serif;
}


/* ANIMATIONS */

@keyframes corpContactEnquiryImage {

    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes corpContactEnquiryForm {

    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* TABLET */

@media (max-width: 992px) {

    .corp-contact-enquiry-container {
        grid-template-columns: 1fr;
    }

    .corp-contact-enquiry-visual {
        min-height: 500px;
    }

    .corp-contact-enquiry-form {
        padding: 55px 45px;
    }

}


/* MOBILE */

@media (max-width: 768px) {

    .corp-contact-enquiry-section {
        padding: 100px 0;
    }

    .corp-contact-enquiry-container {
        width: min(100% - 30px, 1180px);
    }

    .corp-contact-enquiry-visual {
        min-height: 400px;
    }

    .corp-contact-enquiry-visual-content {
        left: 28px;
        right: 28px;
        bottom: 35px;
    }

    .corp-contact-enquiry-form {
        padding: 45px 28px;
    }

    .corp-contact-field-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

}

@media (max-width: 480px) {

    .corp-contact-enquiry-visual {
        min-height: 350px;
    }

    .corp-contact-enquiry-form {
        padding: 40px 22px;
    }

}

/* =====================================================
   CONTACT SECTION 03 — OFFICE MAP
====================================================== */

.corp-contact-map-section {
    padding: 100px 0;
    background: var(--corp-bg);
    overflow: hidden;
}

.corp-contact-map-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 70px;
    align-items: center;
}


/* =====================================================
   MAP VISUAL
====================================================== */

.corp-contact-map-visual {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    border-radius: 24px;
    background:
        linear-gradient(
            135deg,
            #dce5ee,
            #eef3f7
        );
    border: 1px solid var(--corp-line);
    box-shadow: var(--corp-shadow);
}

.corp-contact-map-grid {
    position: absolute;
    inset: 0;
    opacity: .45;
    background-image:
        linear-gradient(
            90deg,
            rgba(23,59,99,.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(23,59,99,.08) 1px,
            transparent 1px
        );
    background-size: 58px 58px;
    transform: rotate(-8deg) scale(1.2);
}

.corp-contact-map-lines {
    position: absolute;
    inset: -20%;
    opacity: .55;
    background:
        linear-gradient(
            28deg,
            transparent 48%,
            rgba(23,59,99,.13) 49%,
            rgba(23,59,99,.13) 50%,
            transparent 51%
        ),
        linear-gradient(
            148deg,
            transparent 48%,
            rgba(23,59,99,.10) 49%,
            rgba(23,59,99,.10) 50%,
            transparent 51%
        );
    background-size: 210px 150px;
    animation: corpContactMapMove 16s linear infinite;
}

@keyframes corpContactMapMove {
    from {
        transform: translate(0, 0);
    }

    to {
        transform: translate(80px, 40px);
    }
}


/* =====================================================
   MAP ROUTES
====================================================== */

.corp-contact-map-route {
    position: absolute;
    height: 2px;
    background: var(--corp-primary);
    opacity: .28;
    transform-origin: left center;
}

.route-one {
    width: 390px;
    left: 8%;
    top: 42%;
    transform: rotate(18deg);
}

.route-two {
    width: 300px;
    right: 2%;
    top: 62%;
    transform: rotate(-24deg);
}


/* =====================================================
   MAP PIN
====================================================== */

.corp-contact-map-pin {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 80px;
    height: 80px;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
}

.corp-contact-map-pin-icon {
    position: relative;
    z-index: 3;
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    color: #ffffff;
    background: var(--corp-primary);
    border: 5px solid rgba(255,255,255,.85);
    border-radius: 50%;
    font-size: 18px;
    box-shadow: 0 10px 30px rgba(23,59,99,.25);
    animation: corpContactPinFloat 2.8s ease-in-out infinite;
}

.corp-contact-map-pin-pulse {
    position: absolute;
    width: 80px;
    height: 80px;
    border: 1px solid var(--corp-accent);
    border-radius: 50%;
    animation: corpContactPinPulse 2.2s ease-out infinite;
}

@keyframes corpContactPinPulse {
    0% {
        opacity: .7;
        transform: scale(.55);
    }

    100% {
        opacity: 0;
        transform: scale(1.35);
    }
}

@keyframes corpContactPinFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}


/* =====================================================
   MAP LABEL
====================================================== */

.corp-contact-map-label {
    position: absolute;
    left: 38px;
    bottom: 38px;
    padding: 18px 20px;
    min-width: 250px;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 12px;
    box-shadow: 0 14px 35px rgba(23,59,99,.12);
    backdrop-filter: blur(10px);
    animation: corpContactMapLabelIn .9s ease .25s both;
}

.corp-contact-map-label span {
    display: block;
    margin-bottom: 6px;
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.corp-contact-map-label strong {
    display: block;
    margin-bottom: 4px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.corp-contact-map-label small {
    color: var(--corp-muted);
    font-size: 12px;
}

@keyframes corpContactMapLabelIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =====================================================
   CITY LABELS
====================================================== */

.corp-contact-map-city {
    position: absolute;
    color: rgba(23,59,99,.42);
    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.city-one {
    top: 24%;
    left: 20%;
}

.city-two {
    top: 67%;
    left: 20%;
}

.city-three {
    top: 28%;
    right: 17%;
}


/* =====================================================
   CONTENT
====================================================== */

.corp-contact-map-content {
    animation: corpContactMapContentIn .9s ease both;
}

@keyframes corpContactMapContentIn {
    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.corp-contact-map-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 20px;
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.corp-contact-map-eyebrow i {
    font-size: 12px;
}

.corp-contact-map-content h2 {
    max-width: 520px;
    margin: 0 0 22px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -2.5px;
}

.corp-contact-map-content h2 span {
    display: block;
    color: var(--corp-primary);
}

.corp-contact-map-content > p {
    max-width: 500px;
    margin: 0 0 35px;
    color: var(--corp-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.9;
}


/* =====================================================
   DETAILS
====================================================== */

.corp-contact-map-details {
    display: grid;
    gap: 18px;
    margin-bottom: 28px;
}

.corp-contact-map-detail {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--corp-line);
}

.corp-contact-map-detail-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    color: var(--corp-primary);
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    border-radius: 10px;
    font-size: 14px;
    transition: .3s ease;
}

.corp-contact-map-detail:hover .corp-contact-map-detail-icon {
    color: #17283a;
    background: var(--corp-accent);
    border-color: var(--corp-accent);
    transform: translateY(-3px);
}

.corp-contact-map-detail span {
    display: block;
    margin-bottom: 4px;
    color: var(--corp-accent);
    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.corp-contact-map-detail strong {
    display: block;
    margin-bottom: 3px;
    color: var(--corp-text);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.corp-contact-map-detail p {
    margin: 0;
    color: var(--corp-muted);
    font-size: 12px;
    line-height: 1.6;
}


/* =====================================================
   NOTE
====================================================== */

.corp-contact-map-note {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--corp-primary);
    font-size: 12px;
    font-weight: 500;
}

.corp-contact-map-note i {
    color: var(--corp-accent);
}


/* =====================================================
   DARK MODE
====================================================== */

body.dark-mode .corp-contact-map-section {
    background: var(--corp-bg);
}

body.dark-mode .corp-contact-map-visual {
    background:
        linear-gradient(
            135deg,
            #17283a,
            #20364d
        );
    border-color: var(--corp-line);
}

body.dark-mode .corp-contact-map-grid {
    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(255,255,255,.045) 1px,
            transparent 1px
        );
}

body.dark-mode .corp-contact-map-lines {
    opacity: .3;
}

body.dark-mode .corp-contact-map-label {
    background: rgba(24,40,58,.88);
    border-color: rgba(255,255,255,.08);
}

body.dark-mode .corp-contact-map-label strong,
body.dark-mode .corp-contact-map-detail strong {
    color: #ffffff;
}

body.dark-mode .corp-contact-map-detail-icon {
    background: var(--corp-surface);
}

body.dark-mode .corp-contact-map-detail:hover .corp-contact-map-detail-icon {
    color: #ffffff;
    background: var(--corp-primary);
    border-color: var(--corp-primary);
}

body.dark-mode .corp-contact-map-content h2 {
    color: #ffffff;
}

body.dark-mode .corp-contact-map-content h2 span {
    color: var(--corp-accent);
}

body.dark-mode .corp-contact-map-note {
    color: #ffffff;
}


/* =====================================================
   RTL
====================================================== */

html[dir="rtl"] .corp-contact-map-container {
    direction: rtl;
}

html[dir="rtl"] .corp-contact-map-content {
    text-align: right;
}

html[dir="rtl"] .corp-contact-map-eyebrow {
    flex-direction: row-reverse;
}

html[dir="rtl"] .corp-contact-map-detail {
    direction: rtl;
}

html[dir="rtl"] .corp-contact-map-label {
    left: auto;
    right: 38px;
    text-align: right;
}

html[dir="rtl"] .corp-contact-map-content {
    animation-name: corpContactMapContentRTL;
}

@keyframes corpContactMapContentRTL {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* =====================================================
   RESPONSIVE
====================================================== */

@media (max-width: 992px) {

    .corp-contact-map-container {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .corp-contact-map-visual {
        min-height: 500px;
    }

    .corp-contact-map-content {
        max-width: 720px;
    }

}

@media (max-width: 768px) {

    .corp-contact-map-section {
        padding: 100px 0;
    }

    .corp-contact-map-container {
        width: min(100% - 30px, 650px);
    }

    .corp-contact-map-visual {
        min-height: 430px;
        border-radius: 18px;
    }

    .corp-contact-map-label {
        left: 22px;
        bottom: 22px;
    }

    .corp-contact-map-content h2 {
        letter-spacing: -1.8px;
    }

    .route-one {
        width: 280px;
    }

    .route-two {
        width: 220px;
    }

}

@media (max-width: 480px) {

    .corp-contact-map-visual {
        min-height: 380px;
    }

    .corp-contact-map-label {
        left: 15px;
        right: 15px;
        bottom: 15px;
        min-width: 0;
    }

    .corp-contact-map-city {
        font-size: 7px;
    }

    .corp-contact-map-pin {
        transform: translate(-50%, -50%) scale(.9);
    }

    .corp-contact-map-detail {
        gap: 11px;
    }

}

@media (max-width: 360px) {

    .corp-contact-map-content h2 {
        font-size: 40px;
    }

}

/* =====================================================
   ACTIVE NAVBAR PAGE
===================================================== */

.corp-nav-link.active {
    color: var(--corp-accent) !important;
    font-weight: 700 !important;
}

.corp-nav-link.active::after {
    width: 100% !important;
    background: var(--corp-accent) !important;
}


/* ACTIVE HOME */

.corp-home-link.active {
    color: var(--corp-accent) !important;
}

.corp-home-link.active::after {
    width: 100% !important;
    background: var(--corp-accent) !important;
}


/* MOBILE ACTIVE */

.corp-mobile-link.active {
    color: var(--corp-accent) !important;
    font-weight: 700 !important;
}

/* MOBILE ACTIVE PAGE */

.corp-mobile-link.active {
    color: var(--corp-accent) !important;
    font-weight: 700;
}
/* =====================================================
   MOBILE HOME ACTIVE - INDEX PAGE
===================================================== */

.corp-mobile-home-button.active,
.corp-mobile-home-button.active span,
.corp-mobile-home-button.active span small,
.corp-mobile-home-button.active i {
    color: var(--corp-accent) !important;
}

/* Keep Home active indicator */
.corp-mobile-home-button.active::before,
.corp-mobile-home-button.active::after {
    background: var(--corp-accent) !important;
}

.corp-dash-user-avatar {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    overflow: hidden;
    border-radius: 50%;
    border: 2px solid var(--corp-accent);
    background: var(--corp-surface);
}

.corp-dash-user-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

