/*Georgia font-family*/
@font-face {
    font-family: 'Georgia Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Georgia Regular'), url('georgia.woff') format('woff');
}

@font-face {
    font-family: 'Georgia Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Georgia Italic'), url('georgiai.woff') format('woff');
}

@font-face {
    font-family: 'Georgia Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Georgia Bold'), url('georgiab.woff') format('woff');
}

@font-face {
    font-family: 'Georgia Bold Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Georgia Bold Italic'), url('georgiaz.woff') format('woff');
}

/*Outfit font-family*/
@font-face {
    font-family: 'Outfit Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Outfit Regular'), url('OutfitRegular.woff') format('woff');
}

@font-face {
    font-family: 'Outfit Thin';
    font-style: normal;
    font-weight: normal;
    src: local('Outfit Thin'), url('OutfitVariableFont_wght1.woff') format('woff');
}

@font-face {
    font-family: 'Outfit ExtraLight';
    font-style: normal;
    font-weight: normal;
    src: local('Outfit ExtraLight'), url('OutfitExtraLight.woff') format('woff');
}

@font-face {
    font-family: 'Outfit Light';
    font-style: normal;
    font-weight: normal;
    src: local('Outfit Light'), url('OutfitLight1.woff') format('woff');
}

@font-face {
    font-family: 'Outfit Medium';
    font-style: normal;
    font-weight: normal;
    src: local('Outfit Medium'), url('OutfitMedium.woff') format('woff');
}

@font-face {
    font-family: 'Outfit SemiBold';
    font-style: normal;
    font-weight: normal;
    src: local('Outfit SemiBold'), url('OutfitSemiBold.woff') format('woff');
}

@font-face {
    font-family: 'Outfit Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Outfit Bold'), url('OutfitBold.woff') format('woff');
}

@font-face {
    font-family: 'Outfit ExtraBold';
    font-style: normal;
    font-weight: normal;
    src: local('Outfit ExtraBold'), url('OutfitExtraBold.woff') format('woff');
}

@font-face {
    font-family: 'Outfit Black';
    font-style: normal;
    font-weight: normal;
    src: local('Outfit Black'), url('OutfitBlack.woff') format('woff');
}

html {
    scroll-behavior: auto;
}

body {
    background: #fff;
    font-family: 'Outfit Regular', sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: clip;
}

::selection {
    background-color: #db3436;
    color: #ffffff;
}

::-moz-selection {
    background-color: #db3436;
    color: #ffffff;
}

h1,
h2,
h3,
h4,
h5,
h6,
span,
p,
a,
li {
    font-family: 'Outfit Regular', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0
}

body a,
body p {
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.container {
    max-width: 1450px
}

.outfit-font {
    font-family: 'Outfit Regular', sans-serif;
}

.georgia-font {
    font-family: 'Georgia Regular', sans-serif;
}

/* Navbar */
.site-navbar {
    transition:
        background-color 0.4s ease,
        box-shadow 0.4s ease,
        padding 0.4s ease;
}

.site-navbar.scrolled {
    background: #fff;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
}

/* Parallax image */
.parallax-img {
    will-change: transform;
}

/* Prevent animation flicker */
section img,
section h1,
section h2 {
    will-change: transform, opacity;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

}

/* =========================================================
   INSD HEADER
========================================================= */
:root {
    --insd-red: #e53238;
    --insd-dark: #101b34;
    --insd-text: #15213a;
    --insd-light: #f7f7f7;
}

/* =========================================================
   DESKTOP NAVBAR
========================================================= */
header,
.insd-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
    /*background-color: #ffffff;*/
    border-bottom: 0px solid #eeeeee;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease;
}

header.header-scrolled,
.insd-header.header-scrolled {
    border-bottom: 1px solid #eee;
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(10px) saturate(180%);
    -webkit-backdrop-filter: blur(10px) saturate(180%);
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 40px -10px;
}

.insd-desktop-navbar {
    height: 82px;
    background: transparent;
}

.insd-desktop-navbar .container-fluid {
    height: 100%;
    display: flex;
    align-items: center;
}

/* Logo */
.insd-navbar-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.insd-navbar-logo img {
    width: 160px;
    height: auto;
    display: block;
}

/* Navigation */
.insd-desktop-navigation {
    flex: 1;
    display: flex;
    justify-content: right;
}

.insd-desktop-navigation .navbar-nav {
    gap: 4px;
    margin-top: 10px;
}

.insd-desktop-navigation .nav-link {
    color: var(--insd-text);
    font-size: 13px;
    padding: 10px 12px !important;
    white-space: nowrap;
    transition: color 0.25s ease;
    text-transform: uppercase;
    font-family: 'Outfit Bold';
}

/*
.insd-desktop-navigation .nav-link:hover,
.insd-desktop-navigation .nav-link:focus,
.insd-desktop-navigation .nav-link.show {
    color: var(--insd-red);
}
*/
.insd-desktop-navigation .dropdown-toggle::after {
    display: none
}

.insd-desktop-navigation .nav-link .main-nav {
    color: #000;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
    margin-top: 0;
}

.insd-desktop-navigation .nav-link .hover-nav {
    margin-bottom: -10px;
    opacity: 0;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
    font-family: 'Outfit Bold';
}

/* Dropdown arrow */
.insd-desktop-navigation .nav-link:hover .main-nav {
    opacity: 0;
    margin-top: -10px
}

.insd-desktop-navigation .nav-link:hover .hover-nav {
    opacity: 1;
    margin-bottom: 20px;
    -webkit-text-fill-color: transparent !important;
    background: linear-gradient(90deg, #db3436, #134a84) !important;
    background-clip: border-box;
    -webkit-background-clip: text !important;
    background-clip: text !important;
}

.insd-desktop-navigation .dropdown-toggle::after {
    border-top: 4px solid currentColor;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-bottom: 0;

    margin-left: 5px;

    transition: transform 0.25s ease;
}

.insd-desktop-navigation .dropdown-toggle.show::after {
    transform: rotate(180deg);
}

@media (min-width: 992px) {
    .insd-desktop-navigation .dropdown:hover .dropdown-menu {
        display: block !important;
        margin-top: 0 !important;
        height: 350px;
        overflow-y: scroll;
        overflow-x: hidden;
    }

    .insd-desktop-navigation .dropdown:hover .dropdown-toggle::after {
        transform: rotate(180deg);
    }
}

/* =========================================================
   NORMAL DROPDOWN
========================================================= */
.insd-dropdown {
    min-width: 280px;
    padding: 10px;
    margin-top: 12px !important;
    border: 1px solid #eeeeee;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.12);
    animation: insdDropdownAnimation 0.25s ease;
}

@keyframes insdDropdownAnimation {

    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

.insd-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 12px;
    border-radius: 9px;
    background: transparent !important;
    transition: all 0.25s ease;
}

.dropdown-icon-box {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4f7fa;
    border-radius: 12px;
    flex-shrink: 0;
    transition: all 0.25s ease;
}

.dropdown-icon-box i {
    color: #495d72;
    font-size: 20px;
    transition: all 0.25s ease;
}

/* Fallback for old dropdown items */
.insd-dropdown .dropdown-item>i {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f7f7;
    border-radius: 7px;
    color: var(--insd-red);
    font-size: 14px;
    transition: all 0.25s ease;
}

.insd-dropdown .dropdown-item:hover>i {
    color: #ffffff;
    background: var(--insd-red);
}

.insd-dropdown .dropdown-item>span {
    color: var(--insd-text);
    font-size: 13px;
    font-weight: 500;
    transition: color 0.25s ease;
}

.insd-dropdown .dropdown-item:hover>span {
    color: var(--insd-red);
}

/* End fallback */
.dropdown-text-box {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.dropdown-title {
    color: #101b34;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    transition: color 0.25s ease;
}

.dropdown-desc {
    color: #8fa1b3;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

.insd-dropdown .dropdown-item:hover {
    background: #faf8f8 !important;
}

.insd-dropdown .dropdown-item:hover .dropdown-icon-box {
    background: var(--insd-red);
}

.insd-dropdown .dropdown-item:hover .dropdown-icon-box i {
    color: #ffffff;
}

.insd-dropdown .dropdown-item:hover .dropdown-icon-box svg {
    color: #ffffff;
}

.insd-dropdown .dropdown-item:hover .dropdown-title {
    color: var(--insd-red);
}

/* =========================================================
   MEGA MENU
========================================================= */
.insd-mega-parent {
    position: static;
}

.insd-mega-menu {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: min(1000px, calc(100vw - 40px));
    padding: 30px;
    margin-top: 12px !important;
    border: 1px solid #eeeeee;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
    animation: megaAnimation 0.25s ease;
}

@keyframes megaAnimation {

    from {
        opacity: 0;
        transform: translate(-50%, 10px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }

}

.insd-mega-menu h6 {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--insd-dark);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    padding-bottom: 10px;
    margin-bottom: 8px;
    border-bottom: 1px solid #eeeeee;
}

.insd-mega-menu h6 i {
    color: var(--insd-red);
    font-size: 15px;
}

.mega-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #333333;
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
    padding: 8px 10px;
    border-radius: 7px;
    transition: all 0.25s ease;
}

.mega-link i {
    font-size: 10px;
    opacity: 0;
    transform: translateX(-5px);
    transition: all 0.25s ease;
}

.mega-link:hover {
    color: var(--insd-red);
    background: #fff4f4;
    padding-left: 14px;
}

.mega-link:hover i {
    opacity: 1;
    transform: translateX(0);
}

/* =========================================================
   ADMISSION
========================================================= */
.admission-link {
    color: var(--insd-red) !important;
}

/* =========================================================
   DESKTOP CTA
========================================================= */
.insd-desktop-cta {
    flex-shrink: 0;
    margin-left: 15px;
}

.insd-apply-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #000;
    padding: 8px 25px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: all 0.25s ease;
    text-transform: uppercase;
    color: #fff;
}

.insd-apply-btn:hover {
    color: #ffffff;
    background: linear-gradient(90deg, #db3436, #134a84) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(229, 50, 56, 0.25);
}

/* =========================================================
   MOBILE HEADER
========================================================= */
.insd-mobile-header {
    display: none;
}


/* =========================================================
   MOBILE BOTTOM NAVIGATION
========================================================= */
.mobile-bottom-nav {
    display: none;
}

/* =========================================================
   MOBILE OFFCANVAS
========================================================= */
.insd-mobile-menu,
.insd-mobile-overlay {
    display: none;
}

/* =========================================================
   TABLET
========================================================= */
@media (max-width: 1199px) {

    .insd-desktop-navigation .nav-link {
        font-size: 11px;
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    .insd-navbar-logo img {
        width: 110px;
    }

    .insd-apply-btn {
        padding: 9px 13px;
        font-size: 11px;
    }

}

/* =========================================================
   MOBILE
========================================================= */
@media (max-width: 991.98px) {

    .insd-desktop-navbar {
        display: none;
    }

    .insd-mobile-header {
        display: flex;
        height: 102px;
        align-items: center;
        justify-content: center;
        border-bottom: none;
        position: relative;
        z-index: 1000;
    }

    .insd-mobile-logo img {
        width: 125px;
        height: auto;
        display: block;
    }

    .mobile-bottom-nav {
        position: fixed;
        display: flex;
        left: 14px;
        right: 14px;
        bottom: 16px;
        height: 82px;
        background: rgba(255, 255, 255, 0.98);
        border-radius: 45px;
        box-shadow: 0 10px 35px rgba(0, 0, 0, 0.14);
        z-index: 9997;
        align-items: center;
        justify-content: space-around;
        padding: 7px;
        transition: transform 0.4s cubic-bezier(.77, 0, .18, 1), opacity 0.3s ease;
    }

    /* Lock background scroll and hide bottom menu & widgets when drawer opens */

    body.mobile-menu-open {
        overflow: hidden !important;
        touch-action: none;
    }

    body.mobile-menu-open .mobile-bottom-nav {
        transform: translateY(130px);
        opacity: 0;
        pointer-events: none;
    }

    body.mobile-menu-open .quick-action-widget {
        opacity: 0;
        pointer-events: none;
        transform: translateY(20px);
        transition: all 0.3s ease;
    }

    .mobile-bottom-item {
        width: 25%;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        color: var(--insd-dark);
        text-decoration: none;
        border: 0;
        background: transparent;
        font-family: inherit;
        cursor: pointer;
    }

    .bottom-icon {
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        color: #243253;
        font-size: 21px;
        transition: all 0.3s ease;
    }

    .bottom-label {
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.8px;
        color: #17233e;
    }

    .mobile-bottom-item.active .bottom-icon {
        background: #fff0f0;
        color: var(--insd-red);
        border: 2px solid #ffcaca;
        box-shadow: 0 3px 10px rgba(229, 50, 56, 0.10);
    }

    .mobile-bottom-item.active .bottom-label {
        color: var(--insd-red);
    }

    .mobile-menu-trigger .bottom-icon {
        color: var(--insd-red);
    }

    .insd-mobile-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(10, 16, 32, 0.55);
        z-index: 9998;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.35s ease, visibility 0.35s ease;
    }

    body.mobile-menu-open .insd-mobile-overlay {
        opacity: 1;
        visibility: visible;
    }

    .insd-mobile-menu {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: min(88vw, 390px);
        background: #ffffff;
        z-index: 9999;
        box-shadow: 10px 0 50px rgba(0, 0, 0, 0.15);
        transform: translateX(-105%);
        transition: transform 0.45s cubic-bezier(.77, 0, .18, 1);
        overflow: hidden;
    }

    body.mobile-menu-open .insd-mobile-menu {
        transform: translateX(0);
    }

    .mobile-menu-header {
        min-height: 90px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 18px 22px;
        border-bottom: 1px solid #eeeeee;
        flex-shrink: 0;
    }

    .mobile-menu-header img {
        width: 115px;
        height: auto;
    }

    /* Close button */
    .mobile-menu-close {
        width: 42px;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 0;
        background: #fff1f1;
        color: var(--insd-red);
        border-radius: 50%;
        font-size: 16px;
        cursor: pointer;
        transition: all 0.25s ease;
    }

    .mobile-menu-close:hover {
        color: #ffffff;
        background: var(--insd-red);
        transform: rotate(90deg);
    }

    .mobile-menu-body {
        flex: 1;
        overflow-y: auto;
        padding: 15px 18px 30px;
    }

    /* Scrollbar */
    .mobile-menu-body::-webkit-scrollbar {
        width: 4px;
    }

    .mobile-menu-body::-webkit-scrollbar-thumb {
        background: #dddddd;
        border-radius: 10px;
    }

    .mobile-nav-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-nav-item {
        border-bottom: 1px solid #eeeeee;
    }

    .mobile-nav-link {
        min-height: 56px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 4px;
        color: var(--insd-dark);
        text-decoration: none;
        font-size: 14px;
        font-weight: 700;
        transition: color 0.25s ease;
    }

    .mobile-nav-link span {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .mobile-nav-link span i {
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f7f7f7;
        color: var(--insd-red);
        border-radius: 8px;
        font-size: 14px;
    }

    .mobile-nav-link:hover {
        color: var(--insd-red);
    }

    .mobile-nav-toggle {
        width: 100%;
        min-height: 56px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 4px;
        border: 0;
        background: transparent;
        color: var(--insd-dark);
        font-family: inherit;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        text-align: left;
    }

    .mobile-nav-toggle>span {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .mobile-nav-toggle>span i {
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f7f7f7;
        color: var(--insd-red);
        border-radius: 8px;
    }

    .mobile-nav-toggle>i {
        font-size: 12px;
        transition: transform 0.3s ease;
    }

    .mobile-nav-item.submenu-open .mobile-nav-toggle>i {
        transform: rotate(180deg);
    }

    .mobile-submenu {
        max-height: 0;
        overflow: hidden;
        padding-left: 44px;
        transition: max-height 0.4s ease, padding-bottom 0.4s ease;
    }

    .mobile-nav-item.submenu-open .mobile-submenu {
        max-height: 600px;
        padding-bottom: 10px;
    }

    .mobile-submenu a {
        display: block;
        padding: 9px 5px;
        color: #555555;
        text-decoration: none;
        font-size: 12px;
        font-weight: 500;
        transition: all 0.25s ease;
    }

    .mobile-submenu a:hover {
        color: var(--insd-red);
        padding-left: 10px;
    }

    .mobile-admission {
        color: var(--insd-red);
    }

    .mobile-menu-cta {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        min-height: 48px;
        margin-top: 22px;
        border-radius: 30px;
        background: var(--insd-red);
        color: #ffffff;
        text-decoration: none;
        font-size: 13px;
        font-weight: 700;
        transition: all 0.25s ease;
    }

    .mobile-menu-cta:hover {
        color: #ffffff;
        background: #c9282e;
        transform: translateY(-2px);
    }

}

/* =========================================================
   SMALL MOBILE
========================================================= */
@media (max-width: 575.98px) {

    .insd-mobile-header {
        height: auto;
        padding: 15px 0;
    }

    .insd-mobile-logo img {
        width: 120px;
    }

    .mobile-bottom-nav {
        left: 12px;
        right: 12px;
        bottom: 20px;
        height: 70px;
    }

    .bottom-icon {
        width: 40px;
        height: 40px;
        font-size: 19px;
    }

    .bottom-label {
        font-size: 8px;
    }

}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */
@media (max-width: 380px) {

    .mobile-bottom-nav {
        left: 8px;
        right: 8px;
    }

    .bottom-icon {
        width: 42px;
        height: 42px;
    }

    .bottom-label {
        font-size: 7px;
    }

}

/* =========================================================
   HERO SECTION
========================================================= */
.insd-hero {
    padding: 50px 0 60px;
    background: #ffffff;
}

.insd-hero-content {
    padding-right: 20px;
}

.hero-title {
    font-size: clamp(2rem, 7vw, 4rem);
    font-weight: 900;
    color: #121c33;
    line-height: 1.1;
    margin-bottom: 2px;
    letter-spacing: -.05em;
    font-family: 'Outfit Bold';
}

.hero-subtitle {
    font-size: clamp(2rem, 7vw, 3.6rem);
    font-weight: 900;
    font-style: italic;
    line-height: 1.1;
    margin-bottom: 10px;
    background: linear-gradient(90deg, #df3639 0%, #b86976 50%, #909095 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
    font-family: 'Outfit Bold';
    letter-spacing: -.05em;
}

.hero-desc {
    font-size: clamp(1rem, 2.5vw, 1.2rem);
    color: #3f516a;
    font-weight: 900;
    line-height: 1.5;
    margin-bottom: 40px;
    max-width: 95%;
    font-family: 'Outfit Medium';
}

.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #e43339;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    padding: 20px 80px;
    border-radius: 40px;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    margin-bottom: 60px;
    border: 0;
}

.hero-btn:hover {
    background: #000;
    color: #ffffff;

}

.hero-stats {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}

.stat-item {
    display: flex;
    flex-direction: column;
}

.stat-num {
    font-size: 30px;
    font-weight: 800;
    color: #df3639;
    line-height: 1.1;
    margin-bottom: 6px !important;
    letter-spacing: -0.5px;
    font-family: 'Outfit Bold';
}

.stat-item .stat-num {
    opacity: 1;
    margin-bottom: 20px;
    -webkit-text-fill-color: transparent !important;
    background: linear-gradient(90deg, #db3436, #134a84) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
}

.stat-text {
    font-size: 11px;
    font-weight: 800;
    color: #121c33;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.stat-divider {
    width: 1px;
    height: 40px;
    background-color: #eaeff4;
}

.insd-hero-image {
    position: relative;
    z-index: 1;
}

.insd-hero-image img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* Responsive adjustments */
@media (max-width: 1399.98px) {

    .hero-title,
    .hero-subtitle {
        font-size: 58px;
    }

    .hero-desc {
        font-size: 17px;
    }
}

@media (max-width: 1199.98px) {

    .hero-title,
    .hero-subtitle {
        font-size: 48px;
    }

    .hero-desc {
        font-size: 16px;
    }

    .hero-stats {
        gap: 15px;
    }

    .stat-num {
        font-size: 24px;
    }

    .stat-divider {
        height: 30px;
    }
}

@media (max-width: 991.98px) {
    .insd-hero {
        padding: 40px 0;
        text-align: center;
    }

    .insd-hero-content {
        padding-right: 0;
        margin-bottom: 0px;
    }

    .hero-desc {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-stats {
        justify-content: center;
    }

    .stat-divider {
        display: none;
    }

    .hero-stats {
        gap: 20px 40px;
    }

    .hero-btn {
        margin-bottom: 40px;
    }
}

@media (max-width: 767.98px) {

    .hero-title,
    .hero-subtitle {
        font-size: 32px;
    }

    .hero-desc {
        font-size: 14px;
        max-width: 100%;
    }

    .stat-num {
        font-size: 22px;
    }

    .hero-stats {
        gap: 15px 25px;
    }
}

/* =========================================
   CREATIVE REVOLUTION SECTION
========================================= */
.insd-creative-revolution {
    padding: 80px 0 0;
    background-color: #ffffff;
}

.cr-content {
    padding-right: 30px;
}

.cr-top-tag {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}

.pd35 {
    padding: 0 35px;
}

.cr-top-tag .tag-line {
    width: 35px;
    height: 1px;
    background-color: #df3639;
}

.cr-top-tag .tag-text {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 11px;
    color: #df3639;
    letter-spacing: 3px;
    text-transform: uppercase;
    letter-spacing: .4em;
}

.cr-title {
    font-size: clamp(3rem, 6.5vw, 5.7rem);
    font-weight: 900;
    color: #121c33;
    line-height: 1;
    margin-bottom: -5px;
    letter-spacing: -2px;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
}

.cr-subtitle {
    font-size: clamp(3rem, 6.5vw, 5.9rem);
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 30px;
    color: #df3639;
    font-family: 'Georgia Bold Italic';
    letter-spacing: -2px;
}

.cr-hook {
    font-size: clamp(1.4rem, 2.5vw, 2.2rem);
    font-weight: 900;
    color: #121c33;
    margin-bottom: 30px;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -1px;
}

.cr-hook .text-highlight {
    color: #df3639;
    font-family: 'Outfit Bold', sans-serif;
}

.cr-desc-wrapper {
    border-left: 2px solid #eaeff4;
    padding-left: 25px;
    margin-bottom: 30px;
}

.cr-desc {
    font-size: clamp(1rem, 1.2vw, 1.3rem);
    color: rgba(144, 160, 183, 1);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 0;
    max-width: 95%;
    font-family: 'Outfit Medium', sans-serif;
}

/* Responsive */
@media (max-width: 1199.98px) {

    .cr-title,
    .cr-subtitle {
        font-size: 4.5rem;
    }
}

@media (max-width: 991.98px) {
    .insd-creative-revolution {
        padding: 50px 0 0;
    }

    .cr-content {
        padding-right: 0;
        margin-bottom: 0px;
    }
}

@media (max-width: 767.98px) {

    .cr-title,
    .cr-subtitle {
        font-size: 2.7rem;
    }

    .cr-hook {
        font-size: 1.3rem;
    }

    .cr-top-tag {
        margin-bottom: 15px;
    }

    .cr-subtitle {
        margin-bottom: 10px;
    }
}

/* =========================================
   STATS CARDS SECTION
========================================= */
.pd100 {
    padding: 0 100px;
}

.stat-card-box {
    background-color: #FAFAFA;
    border: 1px solid #F1F5F9;
    border-radius: 24px;
    padding: 32px 28px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    height: 100%;
}

.stat-card-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 35px rgba(0, 0, 0, 0.08);
    background-color: #FFF5F5;
    border: 1px solid #FFCDCD;
}

.stat-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.stat-metric {
    font-size: 3em;
    font-weight: 800;
    color: #0F172A;
    font-family: 'Outfit Bold', sans-serif;
    line-height: 1;
    letter-spacing: -.05em;
}

.stat-title {
    font-size: 1.125rem;
    font-weight: 900;
    letter-spacing: .025em;
    color: #1E293B;
    margin-top: 16px;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
}

.stat-desc {
    font-size: 14px;
    color: #64748B;
    margin-top: 6px;
    font-family: 'Outfit Medium';
}

/* =========================================
   PASSION TO PROFESSION SECTION
========================================= */
.insd-passion-section {
    padding: 200px 0 30px;
    background-color: #ffffff;
}

.passion-title {
    font-size: clamp(2.5rem, 10vw, 5.6rem);
    font-weight: 900;
    color: #121c33;
    line-height: 1;
    margin-bottom: -5px;
    letter-spacing: -2px;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
}

.passion-subtitle {
    font-size: clamp(2.5rem, 10vw, 5.6rem);
    font-weight: 900;
    font-style: italic;
    line-height: 1.1;
    margin-bottom: 40px;
    background: linear-gradient(90deg, #df3639 0%, #b86976 50%, #6c7f93 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -2px;
}

.passion-desc .desc-line1 {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 800;
    color: #121c33;
    margin-bottom: 5px;
    font-family: 'Outfit Bold', sans-serif;
}

.passion-desc .desc-line2 {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 800;
    font-style: italic;
    color: #E33539;
    margin-bottom: 0;
    font-family: 'Outfit Bold', sans-serif;
}

.passion-bottom-tag {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

.passion-bottom-tag .tag-line {
    width: 60px;
    height: 1px;
    background-color: #eaeff4;
}

.passion-bottom-tag .tag-text {
    font-family: 'Outfit Bold', sans-serif;
    font-size: .875rem;
    color: #8fa0b5;
    letter-spacing: 2px;
    text-transform: uppercase;
    letter-spacing: .25em;
}

@media (max-width: 767.98px) {

    .passion-title,
    .passion-subtitle {
        font-size: 2.5rem;
    }

    .passion-desc .desc-line1,
    .passion-desc .desc-line2 {
        font-size: 1.2rem;
    }

    .passion-bottom-tag .tag-line {
        width: 30px;
    }

    .passion-bottom-tag .tag-text {
        font-size: 10px;
    }
}

/* =========================================
   COURSE GRID SECTION
========================================= */
.insd-course-grid-section {
    background-color: #ffffff;
}

.course-grid-container {
    max-width: 1200px;
    margin: 0 auto;
}

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

.course-card {
    position: relative;
    display: block;
    height: 570px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.course-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.5s ease-in-out;
}

.course-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(3, 4, 8, 0.3) 0%, rgba(4, 7, 24, 0.85) 100%);
    transition: opacity 0.4s ease, background 0.4s ease;
}

.course-content-top {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    text-align: center;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.course-title {
    font-size: 40px;
    font-weight: 800;
    letter-spacing: -.05em;
    color: #FFFFFF;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
    margin: 0;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
    transition: color 0.4s ease;
}

.course-subtitle {
    font-size: 0.75rem;
    letter-spacing: .4em;
    color: #FFFFFF;
    text-transform: uppercase;
    margin-top: 15px;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease;
    font-family: 'Outfit Semibold', sans-serif;
}

.course-content-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 35px 35px;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease;
    z-index: 2;
}

.course-divider {
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.2);
    margin-bottom: 25px;
}

.course-action {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.view-path {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    color: #FFFFFF;
    text-transform: uppercase;
    font-family: 'Outfit Semibold', sans-serif;
}

.arrow-icon {
    color: #E33539;
    font-size: 20px;
}

/* Hover effects */
.course-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 35px rgba(0, 0, 0, 0.25);
}

.course-card:hover::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 2px solid #E33539;
    border-radius: 20px;
    pointer-events: none;
    z-index: 10;
}

.course-card:hover .course-bg {
    transform: scale(1.08);
}

.course-card:hover .course-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(10, 15, 30, 0.9) 100%);
}

.course-card:hover .course-content-top {
    transform: translate(-50%, -65%);
}

.course-card:hover .course-title {
    color: #E33539;
}

.course-card:hover .course-subtitle {
    opacity: 1;
    transform: translateY(0);
}

.course-card:hover .course-content-bottom {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive */
@media (max-width: 991.98px) {
    .course-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

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

    .course-card {
        height: 380px;
    }

    .course-title {
        font-size: 22px;
    }
}

/* =========================================
   TRAINING AND PLACEMENT PARTNERS SECTION
========================================= */
.insd-partners-section {
    background-color: #ffffff;
    margin-top: 100px;
}

.partners-card {
    background-color: #F4F3EF;
    border-radius: 48px;
    padding: 80px 60px;
    max-width: 1200px;
    margin: auto;
}

.partners-header {
    margin-bottom: 50px;
}

.header-indicator {
    width: 40px;
    height: 3px;
    background-color: #db3436;
    border-radius: 2px;
    margin: 0 auto 16px auto;
}

.partners-title {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 4px;
    color: #111827;
    text-align: center;
    text-transform: uppercase;
    margin: 0;
    font-family: 'Outfit Bold', sans-serif;
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
}

.partner-box {
    background-color: #FFFFFF;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    padding: 0 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.partner-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.partner-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.08);
}

.partner-box:hover img {
    transform: scale(1.10);
}

.hidden-partner {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.hidden-partner.show {
    display: flex;
    opacity: 1;
}

.partners-action {
    margin-top: 60px;
}

.toggle-partners-btn {
    border-radius: 50px;
    background: #FFFFFF;
    padding: 16px 36px;
    border: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 2px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #000000;
    transition: all 0.3s ease;
    font-family: 'Outfit Bold', sans-serif;
}

.toggle-partners-btn:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.toggle-partners-btn .chevron-icon {
    transition: transform 0.3s ease;
}

.toggle-partners-btn.active .chevron-icon {
    transform: rotate(180deg);
}

/* Responsive */
@media (max-width: 991.98px) {
    .partners-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .partners-card {
        padding: 40px 24px;
    }
}

@media (max-width: 767.98px) {
    .partners-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .partners-card {
        padding: 30px 16px;
        border-radius: 24px;
    }

    .partners-title {
        font-size: 18px;
    }
}

/* =========================================
   CTA BANNER SECTION
========================================= */
.insd-cta-section {
    padding: 100px 20px 50px;
    background-color: #ffffff;
}

.cta-container {
    max-width: 1000px;
    margin: 0 auto;
}

.cta-card {
    background: radial-gradient(circle at center, #1E1B1E 0%, #0A090B 100%);
    border-radius: 80px;
    padding: 64px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.cta-title {
    font-size: 3.8rem;
    font-weight: 800;
    letter-spacing: -.05em;
    color: #FFFFFF;
    line-height: 1.2;
    margin: 0;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
}

.cta-highlight {
    font-size: 3.8rem;
    font-weight: 800;
    font-style: italic;
    color: #E53E3E;
    letter-spacing: -.05em;
    display: block;
    margin-top: 8px;
    font-family: 'Outfit Bold', sans-serif;
}

.cta-btn {
    border-radius: 50px;
    background-color: #FFFFFF;
    padding: 14px 32px;
    margin-top: 32px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    cursor: pointer;
    color: #0F172A;
    transition: all 0.3s ease;
}

.cta-btn-text {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
}

.cta-icon-left,
.cta-icon-right {
    transition: transform 0.3s ease;
}

.cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(255, 255, 255, 0.2);
}

.cta-btn:hover .cta-icon-right {
    transform: translate(2px, -2px);
}

/* Responsive */
@media (max-width: 767.98px) {
    .cta-card {
        padding: 20px;
        border-radius: 24px;
    }

    .cta-title,
    .cta-highlight {
        font-size: 22px;
    }
}

/* =========================================
   INSD DIFFERENCE SECTION
========================================= */
.insd-difference-section {
    padding: 80px 20px;
    background-color: #ffffff;
}

.difference-container {
    max-width: 1200px;
    margin: 0 auto;
}

.difference-layout {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 50px;
    align-items: center;
}

.difference-header {
    margin-bottom: 40px;
}

.tagline-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.tagline-line {
    width: 32px;
    height: 2px;
    background-color: #E53E3E;
}

.tagline-text {
    font-size: 12px;
    font-weight: 800;
    color: #E53E3E;
    letter-spacing: .4em;
    text-transform: uppercase;
    font-family: 'Outfit Semibold', sans-serif;
}

.difference-title {
    font-size: 3.75rem;
    font-weight: 800;
    color: #0F172A;
    line-height: 1.1;
    margin-bottom: 12px;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.title-highlight {
    color: #E53E3E;
    font-style: italic;
    font-family: 'Outfit Bold', sans-serif;
}

.difference-subtitle {
    color: rgba(103, 121, 148, 1);
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 32px;
    font-family: 'Outfit Bold', sans-serif;
}

.feature-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.feature-card {
    background: #FAFAFA;
    border-radius: 20px;
    border: 1px solid #F1F5F9;
    padding: 24px;
    position: relative;
    transition: all 0.3s ease;
}

.feature-hover-check {
    position: absolute;
    top: 16px;
    right: 16px;
    color: var(--theme-color, #E53E3E);
    opacity: 0;
    transition: all 0.3s ease;
    transform: scale(0.8);
}

.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    border-color: var(--theme-color, #E53E3E);
}

.feature-card:hover .feature-hover-check {
    opacity: 1;
    transform: scale(1);
}

.feature-card:hover .feature-title {
    color: var(--theme-color, #E53E3E);
}

.feature-card:hover .feature-icon {
    background-color: color-mix(in srgb, var(--theme-color) 10%, #ffffff);
}

.feature-card-full {
    grid-column: 1 / -1;
}

.feature-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    transition: background-color 0.3s ease;
}

.feature-title {
    font-size: 1.125rem;
    font-weight: 800;
    color: #0F172A;
    margin-bottom: 8px;
    text-transform: uppercase;
    font-family: 'Outfit Semibold', sans-serif;
    transition: color 0.3s ease;
    letter-spacing: -.025em;
}

.feature-desc {
    font-size: 14px;
    color: rgba(103, 121, 148, 1);
    line-height: 1.5;
    margin: 0;
    font-family: 'Outfit Medium', sans-serif;
}

.difference-video {
    background-color: #0F172A;
    border-radius: 28px;
    overflow: hidden;
    position: relative;
    height: 700px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.1);
    width: 400px;
    margin-left: auto;
    margin-right: 50px;
}

.difference-video iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-badge {
    position: absolute;
    bottom: 24px;
    left: 24px;
    z-index: 2;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    padding: 16px 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
}

.badge-label {
    font-size: 11px;
    color: #94A3B8;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 4px;
}

.badge-metric {
    font-size: 16px;
    font-weight: 800;
    color: #FFFFFF;
    font-family: 'Outfit Bold', sans-serif;
}

.pin-spacer {
    display: none
}

/* Responsive */
@media (max-width: 991.98px) {
    .difference-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .difference-video {
        height: 400px;
        width: 100%;
    }

}

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

    .difference-title {
        font-size: 30px;
    }
}

/* =========================================
   CELEBRITIES AT INSD EVENTS SECTION
========================================= */

.insd-celebrities-section {
    padding: 80px 0;
    text-align: center;
    overflow: hidden;
    background-color: #ffffff;
}

.celebrities-header {
    margin-bottom: 48px;
}

.celeb-tagline {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .4em;
    color: #E53E3E;
    margin-bottom: 8px;
    text-transform: uppercase;
    font-family: 'Outfit Medium', sans-serif;
}

.celeb-title {
    font-size: 3rem;
    font-weight: 900;
    color: #0F172A;
    line-height: 1.1;
    margin: 0;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
    letter-spacing: -.05em;
}

.celeb-title-sub {
    color: #CBD5E1;
    font-family: 'Outfit Bold', sans-serif;
}

.celeb-subtitle {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    color: rgba(103, 121, 148, 1);
    margin-top: 16px;
    margin-bottom: 0;
    text-transform: uppercase;
    font-family: 'Outfit Medium', sans-serif;
}

/* Card Styling */
.celeb-card {
    border-radius: 28px;
    height: 380px;
    overflow: hidden;
    position: relative;
    margin: 15px 10px;
}

.celeb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.celeb-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-align: left;
    padding: 24px;
    z-index: 5;
}

.celeb-card-tagline {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #E53E3E;
    margin-bottom: 8px;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
}

.celeb-card-name {
    font-size: 22px;
    font-weight: 900;
    color: #FFFFFF;
    margin-bottom: 8px;
    line-height: 1.2;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
}

.celeb-card-desc {
    font-size: 12px;
    color: #E2E8F0;
    line-height: 1.4;
    margin: 0;
}

/* Owl Carousel Customizations */
.celebrities-slider .owl-item {
    opacity: 0.6;
    filter: grayscale(20%);
    transform: scale(0.92);
    transition: all 0.4s ease;
}

.celebrities-slider .owl-item .celeb-card::after {
    content: '';
    background: rgba(255, 255, 255, 0.45);
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: none;
    transition: background 0.4s ease;
}

.celebrities-slider .owl-item.active.center {
    opacity: 1;
    filter: none;
    transform: scale(1.08);
    z-index: 10;
}

.celebrities-slider .owl-item.active.center .celeb-card {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}

.celebrities-slider .owl-item.active.center .celeb-card::after {
    display: none;
}

.celebrities-slider .owl-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
}

.celebrities-slider .owl-nav button.owl-prev,
.celebrities-slider .owl-nav button.owl-next {
    pointer-events: auto;
    width: 44px;
    height: 44px;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease !important;
    color: #0F172A !important;
    font-size: 20px !important;
    margin: 0 20px !important;
}

.celebrities-slider .owl-nav button.owl-prev:hover,
.celebrities-slider .owl-nav button.owl-next:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
    background: #FFFFFF !important;
}

.celebrities-slider .owl-dots {
    margin-top: 32px !important;
}

.celebrities-slider .owl-dot span {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #E2E8F0 !important;
    margin: 0 5px !important;
    transition: all 0.3s ease !important;
}

.celebrities-slider .owl-dot.active span {
    width: 32px !important;
    height: 6px !important;
    border-radius: 10px !important;
    background: #E53E3E !important;
}

/* =========================================
   INDUSTRY PLACEMENTS SECTION
========================================= */

.insd-placements-section {
    padding: 100px 0px;
    background-color: #f9fafc;
}

.placements-container {
    max-width: 1200px;
    margin: 0 auto;
}

.placements-header {
    margin-bottom: 60px;
}

.tagline-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.tagline-line {
    width: 40px;
    height: 1px;
    background-color: #E53E3E;
}

.placements-tagline {
    font-size: clamp(.75rem, 1.5vw, .875rem);
    font-weight: 700;
    letter-spacing: .4em;
    color: #E53E3E;
    text-transform: uppercase;
    font-family: 'Outfit Medium', sans-serif;
}

.placements-title {
    font-size: clamp(2.5rem, 10vw, 6rem);
    font-weight: 800;
    color: #0F172A;
    line-height: 1;
    text-transform: uppercase;
    margin: 0;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.placements-title-sub {
    font-size: clamp(2.5rem, 10vw, 6rem);
    font-weight: 800;
    color: #0F172A;
    line-height: 1;
    text-transform: uppercase;
    font-style: italic;
    display: block;
    margin-top: 8px;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.placements-subtitle {
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    font-weight: 600;
    color: rgba(103, 121, 148, 1);
    margin-top: 24px;
    margin-bottom: 0;
    font-family: 'Outfit Medium', sans-serif;
}

/* Grid Layout */
.placements-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

/* Card Styling */
.placement-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 20px;
    overflow: hidden;
    background: #FFFFFF;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.placement-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}

.placement-img-wrapper {
    position: relative;
    height: 380px;
    width: 100%;
}

.placement-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.placement-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    font-size: clamp(.75rem, 1.5vw, .875rem);
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: .1em;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(0, 0, 0, 0.2);
    padding: 6px 12px;
    border-radius: 20px;
    backdrop-filter: blur(4px);
    font-family: 'Outfit Medium', sans-serif;
}

.badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #E53E3E;
    display: inline-block;
}

.placement-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 5;
}

.placement-name-role {
    position: absolute;
    bottom: 24px;
    left: 24px;
    right: 24px;
    z-index: 10;
}

.placement-name {
    font-size: clamp(1.25rem, 3.5vw, 1.75rem);
    font-weight: 800;
    color: #FFFFFF;
    margin: 0;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.placement-role {
    font-size: clamp(.75rem, 1.5vw, .875rem);
    font-weight: 700;
    color: #E53E3E;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 6px 0 0 0;
    font-family: 'Outfit Medium', sans-serif;
}

.placement-quote-container {
    padding: 32px;
    background: #FFFFFF;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}

.placement-quote {
    font-size: clamp(.75rem, 1.5vw, .875rem);
    color: rgba(100, 118, 144, 1);
    line-height: 1.6;
    margin: 0;
    font-family: 'Outfit Bold', sans-serif;
}

.placement-arrow {
    align-self: flex-end;
    margin-top: 24px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #F8FAFC;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94A3B8;
    transition: all 0.3s ease;
}

.placement-card:hover .placement-arrow {
    background: #E53E3E;
    color: #FFFFFF;
    transform: rotate(45deg);
}

/* Responsive */
@media (max-width: 1024px) {
    .placements-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

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

    .placements-title,
    .placements-title-sub {
        font-size: 32px;
    }
}

/* =========================================
   INSDIANS SECTION
========================================= */

.insdians-section {
    padding: 0;
    background-color: #000000;
    min-height: 100vh;
    /* fills the viewport when pinned */
    display: flex;
    align-items: center;
    justify-content: center;
}

.insdians-container {
    padding: 245px 40px;
    position: relative;
    margin: 0 auto;
    min-height: 80vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    /* allow letters to fly outside the box */
    border: 1px solid rgba(255, 255, 255, 0.05);
    background-color: #050505;
}

/* Grid overlay background */
.grid-overlay {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 80px 80px;
    pointer-events: none;
    z-index: 1;
}

/* Faint background text */
.bg-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 15vw;
    font-family: 'Outfit Black', sans-serif;
    color: rgba(255, 255, 255, 0.02);
    white-space: nowrap;
    z-index: 1;
    pointer-events: none;
}

/* Light red blurred glow spotlight */
.cursor-glow {
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(229, 62, 62, 0.15) 0%, rgba(229, 62, 62, 0) 60%);
    filter: blur(40px);
    pointer-events: none;
    transform: translate(-50%, -50%);
    transition: left 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), top 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
    z-index: 2;
    top: 50%;
    left: 50%;
}

@media (hover: none) and (pointer: coarse) {
    .cursor-glow {
        transition: none;
        /* Disable following on mobile */
    }
}

.content-container {
    position: relative;
    z-index: 3;
    text-align: center;
    padding: 0 20px;
}

.main-title {
    font-size: clamp(3rem, 7vw, 7.5rem);
    font-weight: 900;
    color: #ffffff;
    line-height: 1.05;
    letter-spacing: -0.04em;
    margin: 0;
    font-family: 'Outfit Bold', sans-serif;
}

.main-title .word {
    display: inline-block;
    vertical-align: bottom;
    /* align baseline for clip reveal */
    font-family: 'Outfit Bold', sans-serif;
}

/* Space between words */
.main-title .word-space {
    display: inline-block;
    width: 0.28em;
    /* kerning-style gap */
}

.main-title .word.highlight {
    color: #E53E3E;
}

.main-title .word.line-break {
    margin-top: 0.1em;
}

/*
 * Each letter sits inside a perspective container (.letter-wrap).
 * Letters fold in from rotateX(90deg) → rotateX(0deg) — a 3-D page-turn
 * effect inspired by the reference image.
 */
.main-title .letter-wrap {
    display: inline-block;
    vertical-align: bottom;
    line-height: 1.1;
    /* must match parent line-height */
    perspective: 400px;
    /* per-letter perspective for deep 3-D */
    perspective-origin: 50% 100%;
    /* hinge at the bottom edge */
}

.main-title .letter {
    display: inline-block;
    will-change: transform, opacity, filter;
    transform: rotateX(90deg);
    /* start fully folded (facing down) */
    transform-origin: 50% 100%;
    /* hinge = bottom of the letter */
    transform-style: preserve-3d;
    opacity: 0;
    filter: blur(8px);
    /* hazy while folded, clears on reveal */
    font-family: 'Outfit Bold', sans-serif;
}

@keyframes slowBounce {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-12px);
    }
}

.line-divider {
    width: 200px;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
    margin: 40px auto 30px;
    opacity: 0;
    /* GSAP reveals this in the scrub timeline */
    transform-origin: left center;
}

.sub-heading {
    font-size: 13px;
    color: #E53E3E;
    letter-spacing: 0.4em;
    margin: 0;
    font-family: 'Outfit Medium', sans-serif;
    text-transform: uppercase;
    opacity: 0;
    /* GSAP reveals this in the scrub timeline */
}

.sub-heading .dot {
    color: rgba(255, 255, 255, 0.3);
    margin: 0 10px;
}

/* INSDIANS Responsive Mobile Styles */
@media (max-width: 991.98px) {
    .insdians-section {
        min-height: 100vh;
        min-height: 100dvh;
        overflow: hidden;
    }

    .insdians-container {
        padding: 120px 20px 110px;
        min-height: 100vh;
        min-height: 100dvh;
        border-left: none;
        border-right: none;
    }

    .main-title {
        font-size: clamp(2rem, 7vw, 3.2rem);
        line-height: 1.15;
    }

    .bg-text {
        font-size: 18vw;
    }

    .line-divider {
        width: 140px;
        margin: 24px auto 16px;
    }

    .sub-heading {
        font-size: 11px;
        letter-spacing: 0.25em;
        line-height: 1.6;
    }

    .sub-heading .dot {
        margin: 0 6px;
    }
}

@media (max-width: 576px) {
    .insdians-container {
        padding: 110px 16px 100px;
    }

    .main-title {
        font-size: clamp(1.8rem, 6.5vw, 2.6rem);
    }

    .sub-heading {
        font-size: 10px;
        letter-spacing: 0.2em;
    }
}

/* =========================================
   FOOTER SECTION
========================================= */

.site-footer {
    position: relative;
    background: linear-gradient(135deg, #4A1220 0%, #171B2F 60%, #0F1322 100%);
    color: #ffffff;
    overflow: hidden;
    padding: 100px 0 0 0;
    font-family: 'Outfit Regular', sans-serif;
}

/* Interactive Glow */
.footer-bg-glow {
    position: absolute;
    width: 800px;
    height: 800px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(229, 62, 62, 0.08) 0%, rgba(229, 62, 62, 0) 60%);
    filter: blur(60px);
    pointer-events: none;
    transform: translate(-50%, -50%);
    transition: left 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
    z-index: 1;
    top: 60%;
    left: 50%;
}

@media (hover: none) and (pointer: coarse) {
    .footer-bg-glow {
        transition: none;
        left: 70%;
        top: 70%;
    }
}

/* Background Typography "INSD" — Spotlight Reveal */
.footer-bg-text {
    position: absolute;
    bottom: 5%;
    right: 0;
    left: 0;
    font-size: 35vw;
    font-family: 'Outfit Black', sans-serif;
    color: rgba(255, 255, 255, 0.12);
    line-height: 0.8;
    z-index: 1;
    pointer-events: none;
    user-select: none;
    letter-spacing: -0.05em;
    text-align: center;

    /* Spotlight mask — circle follows the mouse via CSS vars */
    --spot-x: 50%;
    --spot-y: 50%;
    --spot-size: 350px;
    -webkit-mask-image: radial-gradient(circle var(--spot-size) at var(--spot-x) var(--spot-y),
            rgba(0, 0, 0, 0.45) 0%,
            rgba(0, 0, 0, 0.12) 50%,
            rgba(0, 0, 0, 0.03) 100%);
    mask-image: radial-gradient(circle var(--spot-size) at var(--spot-x) var(--spot-y),
            rgba(0, 0, 0, 0.45) 0%,
            rgba(0, 0, 0, 0.12) 50%,
            rgba(0, 0, 0, 0.03) 100%);
    transition: --spot-size 0.4s ease;
}

.footer-content {
    position: relative;
    z-index: 2;
    margin: 0 auto;
    padding: 60px 0 60px;
    border-top: 1px solid rgba(255, 255, 255, 0.1)
}

.footer-bottom-inner {
    margin: 0 auto;
    padding: 0 40px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2.2fr 1fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 350px;
}

/* Column 1 */
.footer-logo {
    max-width: 180px;
    margin-bottom: 24px;
    filter: brightness(0) invert(1);
}

.footer-desc {
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 30px;
    max-width: 85%;
    font-family: 'Outfit Light', sans-serif;
}

.social-icons {
    display: flex;
    gap: 12px;
}

.social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffffff;
    transition: all 0.3s ease;
    background: transparent;
}

.social-icon:hover {
    background: #E53E3E;
    border-color: #E53E3E;
    color: #ffffff;
    transform: translateY(-3px);
}

/* Headings */
.footer-heading {
    font-size: 12px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Outfit Medium', sans-serif;
}

.heading-dot {
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #E53E3E;
}

/* Links */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 15px;
}

.footer-links a {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.3s ease, transform 0.3s ease;
    font-family: 'Outfit Light', sans-serif;
    display: inline-flex;
    align-items: center;
    gap: 0;
    position: relative;
}

.footer-links a::before {
    content: '—';
    display: inline-block;
    font-size: 12px;
    color: #e03638;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-width 0.3s ease, opacity 0.3s ease, margin-right 0.3s ease;
    margin-right: 0;
}

.footer-links a:hover {
    color: #e03638;
    transform: translateX(4px);
}

.footer-links a:hover::before {
    max-width: 20px;
    opacity: 1;
    margin-right: 8px;
}

/* Connect Info */
.connect-item {
    margin-bottom: 20px;
}

.connect-label {
    display: block;
    font-size: 10px;
    color: #E53E3E;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 5px;
    font-family: 'Outfit Medium', sans-serif;
}

.connect-value {
    display: block;
    font-size: 15px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    font-family: 'Outfit Bold', sans-serif;
    transition: color 0.3s ease;
}

a.connect-value:hover {
    color: #E53E3E;
}

/* Bottom Bar */
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 24px 0;
    position: relative;
    z-index: 2;
    background: rgba(0, 0, 0, 0.1);
}

.footer-bottom-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-family: 'Outfit Medium', sans-serif;
}

.bottom-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bottom-center {
    display: flex;
    gap: 24px;
}

.bottom-center a,
.bottom-right a {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 0.3s ease;
}

.bottom-center a:hover,
.bottom-right a:hover {
    color: #ffffff;
}

/* Responsive */
@media (max-width: 1200px) {
    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
        gap: 20px;
    }
}

@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr 1fr;
        row-gap: 50px;
    }

    .brand-col {
        grid-column: span 3;
    }

    .footer-desc {
        max-width: 100%;
    }

    .footer-bottom-flex {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
}

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

    .brand-col {
        grid-column: span 2;
    }

    .connect-col {
        grid-column: span 2;
    }

    .footer-bg-text {
        font-size: 30vw;
        bottom: 13%;
    }
}

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

    .brand-col,
    .connect-col {
        grid-column: span 1;
    }

    .bottom-center {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }
}

/* =========================================
   CONTACT POPUP OVERLAY
========================================= */
.contact-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    background: linear-gradient(135deg, #e74c3c 0%, #6a3093 50%, #1a365d 100%);
    clip-path: circle(0% at calc(100% - 40px) 40px);
    transition: clip-path 0.8s cubic-bezier(0.77, 0, 0.175, 1), visibility 0s linear 0.8s;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    overflow-y: auto;
    overflow-x: hidden;
}

.contact-overlay.active {
    clip-path: circle(150% at 100% 0%);
    visibility: visible;
    transition: clip-path 0.8s cubic-bezier(0.77, 0, 0.175, 1), visibility 0s linear 0s;
}

.contact-close-btn {
    position: absolute;
    top: 30px;
    right: 40px;
    background: rgba(10, 20, 40, 0.7);
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 30px;
    font-family: 'Outfit Regular', sans-serif;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    z-index: 10000;
    transition: background 0.3s ease, transform 0.3s ease;
    letter-spacing: 1px;
}

.contact-close-btn:hover {
    background: rgba(10, 20, 40, 0.9);
    transform: scale(1.05);
}

.contact-overlay-logo {
    position: absolute;
    top: 30px;
    left: 40px;
    z-index: 10000;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0s, transform 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0s;
}

.contact-overlay-logo img {
    height: 50px;
    width: auto;
    filter: brightness(0) invert(1);
}

.contact-overlay.active .contact-overlay-logo {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s cubic-bezier(0.77, 0, 0.175, 1) 0.4s, transform 0.6s cubic-bezier(0.77, 0, 0.175, 1) 0.4s;
}

.contact-overlay-container {
    width: 100%;
    /*max-width: 1200px;*/
    padding: 100px 40px 40px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.contact-overlay-row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
}

.contact-left-col,
.contact-right-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0s, transform 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0s;
}

.contact-overlay.active .contact-left-col {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1) 0.3s, transform 0.8s cubic-bezier(0.77, 0, 0.175, 1) 0.3s;
}

.contact-overlay.active .contact-right-col {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.8s cubic-bezier(0.77, 0, 0.175, 1) 0.5s, transform 0.8s cubic-bezier(0.77, 0, 0.175, 1) 0.5s;
}

.contact-divider {
    width: 1px;
    height: 350px;
    background: rgba(255, 255, 255, 0.2);
    margin: 0 60px;
}

/* Left Column Items */
.contact-action-item {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.7);
    transition: transform 0.3s ease;
}

.contact-action-item:last-child {
    margin-bottom: 0;
}

.contact-action-item:hover {
    transform: translateX(10px);
    color: #fff;
}

.contact-action-icon {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
    margin-right: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: background 0.3s ease, border-color 0.3s ease;
}


.contact-action-item:hover .contact-action-icon {
    background: #e74c3c;
    border-color: #e74c3c;
    rotate: 6deg;

}

.contact-action-item:hover .contact-action-text h4 {
    color: #e74c3c
}

.contact-action-text h4 {
    font-family: 'Outfit bold', sans-serif;
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 5px 0;
    color: #fff;
    letter-spacing: -0.5px;
}

.contact-action-text p {
    font-family: 'Outfit Regular', sans-serif;
    font-size: 12px;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.contact-action-item.highlight-item .contact-action-text h4,
.contact-action-item.highlight-item .contact-action-text p {
    color: #e74c3c;
}

/* Right Column Items */
.contact-info-block h5 {
    font-family: 'Outfit Regular', sans-serif;
    font-size: 10px;
    color: #e74c3c;
    margin-bottom: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 600;
}

.contact-number {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.5rem;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    display: block;
    transition: color 0.3s ease;
}

.contact-number:hover {
    color: #e74c3c;
}

.contact-location {
    font-family: 'Outfit Regular', sans-serif;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 10px;
}

.view-maps-link {
    font-family: 'Outfit Regular', sans-serif;
    font-size: 10px;
    color: #e74c3c;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease;
}

.view-maps-link:hover {
    color: #fff;
}

.view-maps-link i {
    font-size: 16px;
}

/* Social Media Section */
.contact-social-icons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.social-icon-wrapper {
    position: relative;
}

.contact-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.contact-social-icon.active,
.contact-social-icon:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-3px);
}

.social-tooltip {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    background: #fff;
    color: #000;
    padding: 6px 12px;
    border-radius: 20px;
    font-family: 'Outfit Regular', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    pointer-events: none;
    white-space: nowrap;
}

.social-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}

.social-icon-wrapper:hover .social-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* Body Scroll Lock */
body.no-scroll {
    overflow: hidden;
}

/* Responsive Styles */
@media (max-width: 991px) {
    .contact-overlay-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .contact-left-col {
        margin-bottom: 40px;
        width: 100%;
    }

    .contact-right-col {
        width: 100%;
    }

    .contact-action-text h4 {
        font-size: 24px;
    }

    .contact-number {
        font-size: 28px;
    }

    .contact-overlay-container {
        padding-top: 120px;
    }
}

@media (max-width: 575px) {
    .contact-close-btn {
        top: 20px;
        right: 20px;
    }

    .contact-overlay-logo {
        top: 20px;
        left: 20px;
    }

    .contact-action-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }

    .contact-action-text h4 {
        font-size: 20px;
    }

    .contact-number {
        font-size: 24px;
    }
}

/* =========================================
   QUICK ACTION WIDGET
========================================= */
.quick-action-widget {
    position: fixed;
    bottom: 80px;
    right: 30px;
    z-index: 9900;
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}

.qa-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    text-decoration: none;
    font-size: 20px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.qa-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

.qa-light {
    background-color: #f0f0f0;
    color: #333;
    margin-bottom: 10px;
}

.qa-light:hover {
    background-color: #e4e4e4;
    color: #000;
}

.qa-dark {
    background-color: #1a365d;
    color: #fff;
}

.qa-dark:hover {
    background-color: #122847;
    color: #fff;
}

.qa-whatsapp-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.qa-whatsapp {
    background-color: #25D366;
    color: #fff;
    position: relative;
    z-index: 2;
}

.qa-whatsapp:hover {
    background-color: #1ebe57;
    color: #fff;
}

/* Pulsing Ripple Animation */
.qa-whatsapp::before,
.qa-whatsapp::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: rgba(37, 211, 102, 0.6);
    z-index: -1;
    animation: ripple 2s infinite ease-out;
}

.qa-whatsapp::after {
    animation-delay: 1s;
}

@keyframes ripple {
    0% {
        width: 100%;
        height: 100%;
        opacity: 1;
    }

    100% {
        width: 180%;
        height: 180%;
        opacity: 0;
    }
}

/* Tooltip */
.qa-tooltip {
    position: absolute;
    right: calc(100% + 15px);
    background-color: #111;
    color: #fff;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 11px;
    padding: 8px 14px;
    border-radius: 6px;
    white-space: nowrap;
    letter-spacing: 0.5px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    transform: translateX(10px);
    pointer-events: none;
}

.qa-tooltip::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent #111;
}

.qa-whatsapp-wrapper:hover .qa-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Hide scroll to top by default */
#scrollToTopBtn {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    transform: translateY(20px);
}

#scrollToTopBtn.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-width: 991.98px) {
    .quick-action-widget {
        bottom: 110px;
        right: 18px;
    }

    .qa-tooltip {
        display: none;
    }
}

/* Quick Action Groups */
.qa-default-group,
.qa-social-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    transition: all 0.3s ease;
}

.qa-social-group {
    position: absolute;
    bottom: 65px;
    /* Above the share button */
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    pointer-events: none;
}

/* Toggle State Styles */
.quick-action-widget.show-social .qa-default-group {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    pointer-events: none;
}

.quick-action-widget.show-social .qa-social-group {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.quick-action-widget.show-social #qaShareToggleBtn {
    background-color: #333;
    color: #fff;
    transform: rotate(90deg);
}

/* Social Buttons */
.qa-youtube {
    background-color: #FF0000;
    color: #fff;
    box-shadow: 0 0 15px rgba(255, 0, 0, 0.4);
}

.qa-youtube:hover {
    background-color: #cc0000;
    color: #fff;
    box-shadow: 0 0 20px rgba(255, 0, 0, 0.6);
}

.qa-instagram {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    color: #fff;
    box-shadow: 0 0 15px rgba(220, 39, 67, 0.4);
}

.qa-instagram:hover {
    background: linear-gradient(45deg, #e68e31 0%, #d56037 25%, #c8233d 50%, #b8205c 75%, #a9157a 100%);
    color: #fff;
    box-shadow: 0 0 20px rgba(220, 39, 67, 0.6);
}

.qa-facebook {
    background-color: #1877F2;
    color: #fff;
    box-shadow: 0 0 15px rgba(24, 119, 242, 0.4);
}

.qa-facebook:hover {
    background-color: #166fe5;
    color: #fff;
    box-shadow: 0 0 20px rgba(24, 119, 242, 0.6);
}

.qa-linkedin {
    background-color: #0A66C2;
    color: #fff;
    box-shadow: 0 0 15px rgba(10, 102, 194, 0.4);
}

.qa-linkedin:hover {
    background-color: #0958a8;
    color: #fff;
    box-shadow: 0 0 20px rgba(10, 102, 194, 0.6);
}

.qa-twitter {
    background-color: #000;
    color: #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
}

.qa-twitter:hover {
    background-color: #222;
    color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
}

/* =========================================
   15 YEARS LEGACY PAGE STYLES
========================================= */

.legacy-page-wrapper {
    background-color: #f7f4ef;
}

/* HERO SECTION */
.legacy-hero {
    position: relative;
    padding: 120px 0 150px;
    background: radial-gradient(circle at 10% 10%, rgba(253, 238, 238, 0.9) 0%, transparent 40%), radial-gradient(circle at 90% 90%, rgba(230, 240, 245, 0.7) 0%, transparent 40%);
    overflow: hidden;
}

.legacy-eyebrow {
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--insd-red, #e53238);
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 25px;
    border: 1px solid rgba(229, 50, 56, 0.25);
    border-radius: 30px;
    padding: 8px 25px;
    background: #fff;
}

.legacy-hero-title {
    font-family: 'Outfit bold', sans-serif;
    font-size: 6rem;
    line-height: 0.85;
    color: #101b34;
    text-transform: uppercase;
    letter-spacing: -.05em;
    margin-bottom: 0;
    position: relative;
    z-index: 2;
}

@media (max-width: 991px) {
    .legacy-hero-title {
        font-size: 55px;
    }
}

@media (max-width: 767px) {
    .legacy-hero-title {
        font-size: 40px;
    }
}

.legacy-hero-bg-shapes {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 1;
    pointer-events: none;
    display: flex;
    justify-content: center;
}

.legacy-hero-bg-shapes .shape {
    font-family: 'Georgia Bold', serif;
    font-size: 40vw;
    line-height: 1;
    color: #000;
    opacity: 0.4;
    -webkit-text-stroke: 0;
    font-style: italic;
    letter-spacing: 0.25rem;
    margin-top: 50px;
    margin-right: 50px;
}

.legacy-left-col {
    padding-right: 80px;
}

/* TIMELINE SECTION */
.legacy-timeline-section {
    padding: 80px 0 120px;
}

.legacy-left-col {
    position: relative;
}

.legacy-sticky-content {
    position: sticky;
    top: 120px;
    padding-right: 40px;
}

.legacy-brand-box {
    margin-bottom: 40px;
}

.legacy-logo {
    max-width: 150px;
    margin-bottom: 40px;
    margin-left: 50px;
}

.legacy-side-title-wrapper {
    position: relative;
    margin-bottom: 30px;
}

.legacy-side-bg-15 {
    position: absolute;
    top: -27px;
    left: -20px;
    font-family: 'Georgia Bold Italic', serif;
    font-size: 10rem;
    line-height: 1;
    color: #edeef0;
    z-index: 0;
    pointer-events: none;
    letter-spacing: 0.25rem;
}

.legacy-side-15 {
    position: relative;
    z-index: 1;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 130px;
    color: var(--insd-red, #e53238);
    line-height: 0.8;
    letter-spacing: -.05em;
    margin-bottom: 10px;
}

.legacy-side-years {
    position: relative;
    z-index: 1;
    font-family: 'Georgia Bold Italic', serif;
    font-size: 3.5rem;
    color: #101b34;
    line-height: 1;
    margin-top: -5px;
    margin-left: 5px;
    letter-spacing: -.025em;
}

.legacy-side-legacy {
    position: relative;
    z-index: 1;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 8rem;
    color: #101b34;
    line-height: 0.6;
    letter-spacing: -.05em;
}

.legacy-side-desc {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1em;
    color: rgba(98, 116, 142, 1);
    line-height: 1.6;
    margin-bottom: 80px;
    font-style: italic;
    border-left: 3px solid rgba(229, 50, 56, 0.4);
    padding-left: 25px;
    letter-spacing: .1em;
    margin-top: 50px;
}

.legacy-tall-visual {
    border-radius: 70px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.legacy-tall-visual img {
    width: 100%;
    object-fit: cover;
    border-radius: 70px;
    transition: transform 0.5s ease-in-out !important;
}

.legacy-tall-visual:hover img {
    transform: scale(1.1) !important;
}

/* RIGHT TIMELINE */
.legacy-timeline-container {
    position: relative;
    padding-left: 70px;
    padding-top: 20px;
}

.legacy-timeline-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: #eaeaea;
    transform-origin: top;
    transform: scaleY(0);
}

.legacy-timeline-item {
    position: relative;
    margin-bottom: 50px;
}

.legacy-timeline-item:last-child {
    margin-bottom: 0;
}

.legacy-timeline-dot {
    position: absolute;
    top: 40px;
    left: -40px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    z-index: 2;
    border: 3px solid #fff;
}

/* Dot Colors */
.legacy-timeline-dot.color-blue {
    background-color: #1a428a;
}

.legacy-timeline-dot.color-red {
    background-color: #ba1e25;
}

.legacy-timeline-dot.color-teal {
    background-color: #0b96ac;
}

.legacy-timeline-dot.color-purple {
    background-color: #4a2185;
}

.legacy-timeline-dot.color-maroon {
    background-color: #791a3c;
}

.legacy-timeline-content {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    border: 1px solid #f1f1f1;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.legacy-timeline-content:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
}

.legacy-timeline-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.legacy-timeline-year {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 24px;
    color: #101b34;
    line-height: 1;
}

.legacy-timeline-dash {
    display: inline-block;
    width: 25px;
    height: 1px;
    background-color: rgba(229, 50, 56, 0.3);
    margin: 0 15px;
}

.legacy-timeline-label {
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 11px;
    color: var(--insd-red, #e53238);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.legacy-timeline-desc {
    font-size: 13px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 25px;
}

.legacy-timeline-image {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #f1efef;
}

.legacy-timeline-image img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    transition: transform 0.5s ease-in-out !important;
}

.legacy-timeline-image:hover img {
    transform: scale(1.1) !important;
}

@media (min-width: 992px) {
    .legacy-timeline-content {
        display: grid;
        grid-template-columns: 1fr 200px;
        gap: 30px;
        padding: 30px;
        align-items: center;
    }

    .legacy-timeline-desc {
        margin-bottom: 0;
    }

    .legacy-timeline-image {
        height: 100%;
        display: flex;
    }

    .legacy-timeline-image img {
        height: 100%;
    }
}

/* Mobile Timeline Adjustments */
@media (max-width: 991px) {
    .legacy-sticky-content {
        position: relative;
        top: 0;
        padding-right: 0;
        margin-bottom: 50px;
    }

    .legacy-tall-visual img {
        height: 400px;
    }

    .legacy-timeline-container {
        padding-left: 50px;
    }

    .legacy-timeline-line {
        left: 0;
    }

    .legacy-timeline-dot {
        left: -35px;
    }
}

/* NUMBERS SECTION */
.legacy-numbers-section {
    padding: 100px 0;
    background: #f7f4ef;
    border-top: 1px solid #f1f1f1;
}

.legacy-metrics-pill {
    display: inline-block;
    padding: 6px 20px;
    border: 1px solid #d4d0c8;
    border-radius: 30px;
    font-size: 10px;
    font-family: 'Outfit Bold', sans-serif;
    color: rgba(147, 164, 188, 1);
    text-transform: uppercase;
    letter-spacing: .4em;
    margin-bottom: 5px;
    background: #fff;
}

.legacy-section-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 3em;
    color: #101b34;
    text-transform: uppercase;
}

.text-red-italic {
    font-family: 'Outfit Bold', serif;
    color: var(--insd-red, #e53238);
    text-transform: uppercase;
    font-style: italic;
}

.legacy-stat-card {
    background: #fff;
    border-radius: 50px;
    padding: 50px 40px;
    text-align: left;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.legacy-stat-card.highlight {
    background: var(--insd-red, #e53238);
    color: #fff;
    box-shadow: 0 15px 40px rgba(229, 50, 56, 0.3);
    transform: none;
}

.legacy-stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.06);
}

.legacy-stat-card.highlight:hover {
    transform: translateY(-5px);
}

.legacy-stat-card .stat-icon {
    width: 60px;
    height: 60px;
    background: #ffffff;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--insd-red, #e53238);
    margin-bottom: 30px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.06);
    border: 1px solid #f1f1f1;
    transition: all 0.3s ease;
}

.legacy-stat-card.highlight .stat-icon {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    border: none;
    box-shadow: none;
}

.legacy-stat-card:hover .stat-icon {
    background: var(--insd-red, #e53238);
    color: #ffffff;
    transform: rotate(-10deg) scale(1.05);
}

.legacy-stat-card.highlight:hover .stat-icon {
    background: #ffffff;
    color: var(--insd-red, #e53238);
    transform: rotate(-10deg) scale(1.05);
}

.legacy-stat-card .stat-number-wrapper {
    font-family: 'Outfit Bold', sans-serif !important;
    font-size: 65px;
    color: #101b34;
    line-height: 1;
    margin-bottom: 15px;
    display: flex;
    align-items: baseline;
}

.stat-number-wrapper .stat-number {
    font-family: 'Outfit Bold', sans-serif !important;
}

.legacy-stat-card .stat-plus {
    color: var(--insd-red, #e53238);
    font-size: 35px;
    margin-left: 2px;
}

.legacy-stat-card.highlight .stat-number-wrapper {
    color: #fff;
}

.legacy-stat-card.highlight .stat-plus {
    color: rgba(255, 255, 255, 0.8);
}

.legacy-stat-card .stat-label {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 12px;
    color: rgba(147, 164, 188, 1);
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.5;
}

.legacy-stat-card.highlight .stat-label {
    color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 767px) {
    .legacy-section-title {
        font-size: 30px;
    }

    .legacy-stat-card.highlight {
        transform: none;
    }

    .legacy-stat-card.highlight:hover {
        transform: translateY(-5px);
    }
}

/* =========================================
   MENTORS PAGE STYLES
========================================= */

.mentors-page-wrapper {
    background-color: #f7f4ef;
    overflow-x: hidden;
    position: relative;
    padding-bottom: 0;
}

/* 1. Mentors Hero */
.mentors-hero {
    padding: 50px 0 20px;
}

.mentors-hero-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 8rem;
    color: #101b34;
    text-transform: uppercase;
    letter-spacing: -.05em;
    margin-bottom: 5px;
}

.mentors-hero-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.mentors-hero-desc {
    font-family: 'Outfit Medium', sans-serif;
    font-size: 18px;
    color: rgba(102, 121, 148, 1);
    max-width: 650px;
    line-height: 1.6;
    letter-spacing: -.025em;
}

.red-pill {
    color: var(--insd-red, #e53238);
    border-color: rgba(229, 50, 56, 0.2);
    background: rgba(229, 50, 56, 0.05);
}

.outline-pill {
    background: #fbfbfb;
    border: 1px solid #eaeaea;
    color: var(--insd-red, #e53238);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    letter-spacing: .4em;
    font-size: .75em;
}

.pill-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--insd-red, #e53238);
    box-shadow: 0 0 0 3px rgba(229, 50, 56, 0.15);
}

.text-gradient {
    background: linear-gradient(90deg, #df373b 0%, #c45258 25%, #8f5068 50%, #564c76 75%, #184b80 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    display: inline-block;
}

/* 2. Our Founders */
.mentors-founders {
    padding: 60px 0 100px;
}

.founder-card-wrapper {
    width: 1150px;
    margin: auto;
    position: relative;
}

.founder-card-main {
    background: #101b34;
    border-radius: 40px;
    color: #fff;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(16, 27, 52, 0.15);
}

.founder-text-col {
    padding: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.founder-pill-tag {
    display: inline-block;
    padding: 6px 16px;
    border: 1px solid rgba(229, 50, 56, 0.3);
    border-radius: 30px;
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 11px;
    color: var(--insd-red, #e53238);
    text-transform: uppercase;
    letter-spacing: 1px;
    background: rgba(0, 0, 0, 0.2);
    width: fit-content;
}

.founder-name {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 45px;
    line-height: 1.1;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.founder-designation {
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.founder-bio-wrapper {
    border-left: 2px solid var(--insd-red, #e53238);
    padding-left: 20px;
}

.founder-bio {
    font-size: 1.1rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.8);
}

.founder-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.f-tag {
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 10px;
    color: var(--insd-red, #e53238);
    background: rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    padding: 5px 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.founder-pagination-indicator {
    margin-top: 40px;
    width: 60px;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.indicator-active {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 50%;
    background: var(--insd-red, #e53238);
    border-radius: 10px;
    transition: left 0.3s ease;
}

.founder-controls {
    display: flex;
    gap: 15px;
    position: absolute;
    top: 40px;
    right: 40px;
    z-index: 10;
}

.founder-btn {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
}

.founder-btn.prev-btn {
    background: #19233a;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.founder-btn.next-btn {
    background: var(--insd-red, #e53238);
    color: #fff;
}

.founder-btn:hover {
    transform: scale(1.05);
}

.founder-img-col {
    height: 100%;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.founder-img {
    object-fit: cover;
    object-position: bottom;
    width: 100%;
    position: relative;
    z-index: 1;
}

.founder-img-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to top, #101b34 0%, transparent 100%);
    z-index: 2;
    pointer-events: none;
}

/* 3. Industry Mentors */
.industry-mentors {
    padding: 70px 0;
    background: #fff;
}

.mentor-card {
    background: #fff;
    border-radius: 38px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.mentor-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1);
}

.mentor-card:hover .mentor-img-wrapper img {
    transform: scale(1.1) !important;
}

.mentor-img-wrapper {
    overflow: hidden;
    position: relative;
}

.pd50 {
    padding: 0 50px;
}

.gx-4 {
    --bs-gutter-x: 2rem;
}

.mentor-img-wrapper img {
    transition: transform 0.5s ease;
    object-fit: cover;
    display: block;
    width: 100%;
}

.mentor-card:hover .mentor-img-wrapper img {
    transform: scale(1.1);
}

.mentor-img-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, rgba(16, 27, 52, 0.9) 0%, transparent 100%);
    z-index: 1;
    pointer-events: none;
}

.mentor-img-text {
    position: absolute;
    bottom: 25px;
    left: 30px;
    z-index: 2;
    color: #fff;
    pointer-events: none;
}

.mentor-name-overlay {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 24px;
    margin-bottom: 5px;
    text-transform: uppercase;
    line-height: 1.1;
}

.mentor-role-overlay {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 11px;
    color: var(--insd-red, #e53238);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.mentor-card:hover .mentor-img-wrapper img {
    transform: scale(1.05);
}

.mentor-info {
    padding: 30px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.mentor-tags {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.m-tag {
    font-size: 8px;
    font-family: 'Outfit Bold', sans-serif;
    color: #8892a0;
    padding: 5px 14px;
    border: 1px solid #e0e5eb;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.mentor-subheading {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 17px;
    color: #101b34;
    margin-bottom: 15px;
    text-transform: uppercase;
    line-height: 1.4;
}

.mentor-bio {
    font-size: .875rem;
    color: rgba(102, 120, 146, 1);
    line-height: 1.6;
    margin-bottom: 30px;
    flex-grow: 1;
    font-family: 'Outfit Medium', sans-serif;
}

.mentor-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #f0f0f0;
    padding-top: 20px;
    margin-top: auto;
}

.mentor-footer-text {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    color: rgba(205, 216, 228, 1);
    letter-spacing: .1em;
    text-transform: uppercase;
}

.readmore-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f8f9fa;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(205, 216, 228, 1);
    font-size: 16px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.mentor-card:hover .readmore-btn {
    background: var(--insd-red, #e53238);
    color: #fff;
}

/* 4. Highlights Section */
.mentors-highlights-section {
    padding: 0 100px;
    margin-bottom: 50px;
}

.border-slate-100 {
    border-top: 1px solid rgb(240, 242, 245);
    border-bottom: 1px solid rgb(240, 242, 245);
    padding: 60px 0;
}

.highlight-item {
    padding-right: 30px;
}

.highlight-number {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 2.25em;
    color: var(--insd-red, #e53238);
    line-height: 1;
    margin-bottom: 0;
    font-style: italic;
}

.highlight-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.5rem;
    color: #101b34;
    text-transform: uppercase;
    line-height: 1.3;
}

.highlight-desc {
    font-size: .75rem;
    color: rgba(147, 163, 187, 1);
    line-height: 1.6;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
}

/* 5. Advisory Banner */
.mentors-advisory-banner {
    background: #0b1224;
    padding: 100px 0;
}

.advisory-text-col {
    padding-right: 50px;
}

.advisory-pill {
    display: inline-block;
    padding: 6px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: .4em;
    background: rgba(255, 255, 255, 0.05);
    margin-bottom: 25px;
}

.advisory-name {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 55px;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.advisory-role-wrapper {
    border-left: 2px solid var(--insd-red, #e53238);
    padding-left: 15px;
    margin-bottom: 35px;
}

.advisory-role {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--insd-red, #e53238);
    margin-bottom: 5px;
}

.advisory-role-sub {
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}

.advisory-bio {
    font-family: 'Georgia', serif;
    font-size: 1.15rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.8;
    font-style: italic;
    max-width: 90%;
}

.advisory-img-wrapper {
    border-radius: 38px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.advisory-img-wrapper img {
    height: 450px;
    object-fit: cover;
}

.advisory-img-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, rgba(16, 27, 52, 1) 0%, transparent 100%);
    z-index: 1;
    pointer-events: none;
}

.advisory-img-icon {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(5px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--insd-red, #e53238);
    border: 1px solid rgba(255, 255, 255, 0.2);
    z-index: 2;
}

.advisory-img-overlay {
    position: absolute;
    bottom: 30px;
    right: 30px;
    text-align: right;
    z-index: 2;
}

.overlay-tag {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    color: var(--insd-red, #e53238);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.overlay-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.5em;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 5px;
    letter-spacing: -.025em;
}

.overlay-desc {
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: .75rem;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: .1em;
}

/* 6. Join Protocol Section */
.mentors-join-protocol {
    background-color: #ffffff;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 110px 0;
}

.protocol-eyebrow {
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: .875rem;
    font-weight: 700;
    color: rgba(205, 216, 228, 1);
    text-transform: uppercase;
    letter-spacing: .3em;
    margin-bottom: 15px;
}

.protocol-heading {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.125rem;
    font-weight: 800;
    color: #101b34;
    text-transform: uppercase;
    line-height: 1.1;
    margin: 0;
}

.protocol-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 55px;
    background-color: var(--insd-red, #e53238);
    color: #ffffff;
    font-family: 'Outfit Bold', sans-serif;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    border-radius: 35px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 20px 40px rgba(229, 50, 56, 0.25);
    border: none;
}

.protocol-btn:hover {
    background-color: #cc2b31;
    transform: translateY(-3px);
    box-shadow: 0 25px 45px rgba(229, 50, 56, 0.35);
    color: #ffffff;
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .mentors-hero-title {
        font-size: 60px;
    }

    .founder-text-col {
        padding: 50px;
    }

    .founder-name {
        font-size: 24px;
    }

    .advisory-text-col {
        padding-right: 15px;
    }

    .advisory-name {
        font-size: 35px;
    }

    .mentors-join-protocol {
        padding: 60px 0;
    }

    .protocol-btn {
        width: 100%;
        max-width: 260px;
    }
}

@media (max-width: 767px) {
    .mentors-hero-title {
        font-size: 60px;
        line-height: .8;
    }

    .mentors-hero-title span {
        line-height: .8;
    }

    .founder-text-col {
        padding: 40px 30px;
    }

    .founder-img {
        max-height: 400px;
    }

    .highlight-item {
        padding-right: 0;
        margin-bottom: 40px;
    }
}

/* ==========================================
   OWL CAROUSEL FADE ANIMATIONS
========================================== */
.fadeOut {
    animation-name: fadeOut;
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* =========================================
   EXPERT MODAL
========================================= */
body.expert-modal-open {
    overflow: hidden !important;
}

.expert-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.45);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    backdrop-filter: blur(2px);
}

.expert-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.expert-modal {
    width: min(1150px, 92vw);
    min-height: 500px;
    height: auto;
    background: #fff;
    border-radius: 32px;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: scale(0.96);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    overflow: hidden;
    height: 80vh;
}

.expert-modal-overlay.active .expert-modal {
    transform: scale(1);
}

.expert-modal-close {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #f4f6fb;
    border: none;
    color: #6b7280;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.2s ease;
}

.expert-modal-close:hover {
    background: #e5e7eb;
    color: #111827;
}

.expert-modal-content {
    display: flex;
    flex: 1;
}

/* Left Column */
.expert-modal-left {
    flex: 0 0 42%;
    background: linear-gradient(135deg, #15558c 0%, #244f82 45%, #e83232 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 40px;
    position: relative;
}

.expert-promo-title {
    color: #fff;
    font-size: 3em;
    font-weight: 800;
    font-style: italic;
    line-height: 1.1;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.expert-promo-highlight {
    color: #e83232;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    font-size: 3em;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 40px;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.expert-promo-divider {
    width: 50px;
    height: 4px;
    background: #fff;
    opacity: 0.3;
    margin: 0 auto 15px auto;
    border-radius: 10px;
}

.expert-promo-subtitle {
    color: #f3f4f6;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    line-height: 1.4;
    margin: 0;
    font-family: 'Outfit SemiBold', sans-serif;
}

/* Right Column */
.expert-modal-right {
    flex: 0 0 58%;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.expert-form-title {
    color: #0f172a;
    font-size: 1.875rem;
    text-transform: uppercase;
    margin-bottom: 8px;
    margin-top: 0;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.025em;
}

.expert-form-desc {
    color: rgba(103, 122, 149, 1);
    font-size: 1rem;
    margin-bottom: 25px;
    font-family: 'Outfit Bold', sans-serif;
}

.expert-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.expert-form-row {
    display: flex;
    gap: 20px;
}

.expert-form-row.two-cols>.expert-form-group {
    flex: 1;
}

.expert-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.expert-form-group label {
    color: #0f172a;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.expert-form-control {
    width: 100%;
    height: 45px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 0 20px;
    font-size: 17px;
    color: #0f172a;
    outline: none;
    transition: all 0.2s ease;
}

.expert-form-control:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.expert-form-control::placeholder {
    color: #94a3b8;
}

.expert-form-control.is-invalid {
    border-color: #dc2626;
}

.expert-form-error {
    display: none;
    color: #dc2626;
    font-size: .75rem;
}

.expert-form-error.active {
    display: block;
}

.expert-form-message {
    padding: 12px 16px;
    border-radius: 10px;
    font-size: .85rem;
    font-weight: 600;
}

.expert-form-message.success {
    background: #dcfce7;
    color: #15803d;
}

.expert-form-message.error {
    background: #fee2e2;
    color: #b91c1c;
}

.expert-select-wrapper {
    position: relative;
    width: 100%;
}

.expert-select {
    appearance: none;
    cursor: pointer;
    padding-right: 45px;
}

.expert-select-icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    pointer-events: none;
    font-size: 16px;
}

.expert-phone-input {
    display: flex;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    height: 45px;
    align-items: center;
    overflow: hidden;
    transition: all 0.2s ease;
}

.expert-phone-input:focus-within {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.expert-phone-code {
    padding: 0 16px;
    font-weight: 600;
    color: #0f172a;
    border-right: 1px solid #e2e8f0;
    background: #f1f5f9;
    height: 100%;
    display: flex;
    align-items: center;
}

.expert-phone-input input {
    flex: 1;
    border: none;
    height: 100%;
    background: transparent;
    padding: 0 20px;
    font-size: 17px;
    color: #0f172a;
    outline: none;
}

.expert-submit-btn {
    width: 100%;
    height: 55px;
    background: linear-gradient(90deg, #15558c 0%, #6b4f79 50%, #e83232 100%);
    border: none;
    border-radius: 32px;
    color: #fff;
    font-size: 1em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .25rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.expert-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.3);
}

.expert-submit-btn:active {
    transform: translateY(0);
}

/* ENQUIRE NOW modal (single-column variant of the lead modal) */
.enquire-modal {
    width: min(1000px, 92vw);
    max-height: 94vh;
    overflow-y: auto;
    background: #fff;
    border-radius: 32px;
    padding: 40px;
    position: relative;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: scale(0.96);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.expert-modal-overlay.active .enquire-modal {
    transform: scale(1);
}

.enquire-modal .expert-modal-close {
    top: 24px;
    right: 24px;
    width: 36px;
    height: 36px;
    font-size: 14px;
    box-shadow: none;
}

.enquire-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 50px;
    background: #fee2e2;
    border: 1px solid #fecaca;
    color: #e83232;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.enquire-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #e83232;
    opacity: .6;
}

.enquire-title {
    color: #0f172a;
    font-size: 2rem;
    font-weight: 800;
    text-transform: uppercase;
    margin: 12px 0 28px;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.04em;
}

.enquire-modal .expert-form-control {
    border-radius: 16px;
    height: 48px;
}

.enquire-modal .expert-select {
    font-weight: 700;
}

.enquire-modal .expert-select:disabled {
    color: #94a3b8;
    cursor: not-allowed;
}

.enquire-modal .expert-phone-code {
    background: transparent;
    font-size: .75rem;
    color: #64748b;
}

.enquire-modal .expert-phone-input input.expert-form-control {
    border: none;
    box-shadow: none;
    height: 100%;
    background: transparent;
}

.enquire-modal .expert-phone-input:has(.is-invalid) {
    border-color: #dc2626;
}

@media (max-width: 767.98px) {
    .enquire-modal {
        padding: 56px 20px 24px;
        border-radius: 24px;
    }

    .enquire-modal .expert-modal-close {
        top: 14px;
        right: 14px;
    }

    .enquire-title {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .expert-modal-left {
        flex: 0 0 35%;
        padding: 30px 20px;
    }

    .expert-modal-right {
        flex: 0 0 65%;
        padding: 30px;
    }

    .expert-promo-title {
        font-size: 32px;
    }
}

@media (max-width: 768px) {
    .expert-modal {
        width: 94vw;
        max-height: 92vh;
        overflow-y: auto;
    }

    .expert-modal-content {
        flex-direction: column;
    }

    .expert-modal-left,
    .expert-modal-right {
        flex: 0;
    }

    .expert-modal-left {
        padding: 20px;
    }

    .expert-modal-right {
        padding: 30px 20px;
    }

    .expert-form-row.two-cols {
        flex-direction: column;
        gap: 10px;
    }

    .expert-promo-title {
        font-size: 16px;
        margin-bottom: 10px
    }

    .expert-modal-close {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
}

/* =========================================================
   FRANCHISE PAGE
========================================================= */

.franchise-page {
    font-family: 'Outfit Regular', sans-serif;
    color: #0f172a;
    background-color: #fafbfc;
    overflow-x: hidden;
}

.franchise-hero-left {
    padding-right: 100px;
}

/* Base Styles & Typography */
.franchise-page .text-red {
    color: #e83232;
    margin-bottom: 30px;
}

.franchise-page .text-red svg {
    height: 50px;
    width: 50px;
}

.franchise-page .text-red-italic {
    color: #e83232;
    font-style: italic;
    font-family: 'Outfit Bold', sans-serif;
}

.franchise-page .hero-title {
    font-size: 4rem;
    font-weight: 800;
    line-height: 1.1;
    color: #0f172a;
    letter-spacing: -0.03em;
    font-family: 'Outfit Bold', sans-serif;
}

.franchise-page .opportunity-eyebrow {
    color: #e83232;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .6em;
    margin-bottom: 1rem;
    font-family: 'Outfit Regular', sans-serif;
}

/* Hero Section */
.franchise-hero {
    padding: 25px 0 60px;
    background: radial-gradient(circle at 10% 50%, rgba(232, 50, 50, 0.04) 0%, rgba(255, 255, 255, 0) 50%);
    border-bottom: 1px solid #cbd5e1;
}

.opportunity-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.opp-item {
    display: flex;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 10px;
}

.opp-icon {
    width: 55px;
    height: 55px;
    background: #fdf4f5;
    border: 1px solid #f9e0e3;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0f172e;
    font-size: 1.6rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
    flex-shrink: 0;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.opp-item:hover .opp-icon {
    background: #e83232;
    border: 1px solid #e83232;
    color: #fff;
}

.opp-heading {
    font-size: 1.25rem;
    margin-bottom: 4px;
    font-family: 'Outfit Bold', sans-serif;
    color: #0f172a;
    letter-spacing: -.025em;
    margin-bottom: 10px;
}

.opp-desc {
    color: rgba(69, 85, 107, 1);
    font-size: 1rem;
    line-height: 1.625;
    margin: 0;
    font-weight: 600;
}

/* Application Form Card */
.opportunity-form-card {
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    position: relative;
    overflow: hidden;
    width: 90%;
}

.opportunity-form-card .card-accent-line {
    height: 6px;
    width: 100%;
    background: linear-gradient(90deg, #15558c 0%, #e83232 100%);
}

.opportunity-form-card .card-body-inner {
    padding: 40px;
}

.opportunity-form-card .form-title {
    font-size: 2.25rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
    margin-bottom: 12px;
    font-family: 'Outfit Bold', sans-serif;
}

.opportunity-form-card .form-subtitle {
    color: rgba(96, 113, 138, 1);
    font-size: 0.875rem;
    line-height: 1.5;
    font-weight: 600;
}

.franchise-form label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
    margin-bottom: 6px;
    letter-spacing: 0.05em;
}

.franchise-form .f-input {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    height: 60px;
    font-size: 0.95rem;
    color: #0f172a;
    transition: all 0.3s ease;
}

.franchise-form .f-input:focus {
    border-color: #cbd5e1;
    box-shadow: 0 0 0 3px rgba(232, 50, 50, 0.1);
    background: #fff;
}

.franchise-form .f-input::placeholder {
    color: #cbd5e1;
}

.phone-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.phone-input-wrapper .phone-prefix {
    position: absolute;
    left: 16px;
    color: #64748b;
    font-weight: 500;
    z-index: 2;
}

.phone-input-wrapper .f-input {
    padding-left: 50px;
}

.franchise-form .f-checkbox-label {
    font-size: 0.85rem !important;
    color: #64748b !important;
    font-weight: 500 !important;
    text-transform: none;
    letter-spacing: normal !important;
}

.f-submit-btn {
    height: 70px;
    background: #0f172a;
    color: #fff;
    border: none;
    border-radius: 20px;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.15em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: all 0.3s ease;
}

.f-submit-btn:hover {
    background: #e83232;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.2);
    color: #fff;
}

/* Visionary Foundation Section */
.franchise-foundation {
    padding: 80px 0;
    background: #fff;
}

.foundation-title {
    color: #0f172a;
    line-height: 1.25;
    letter-spacing: -0.04em;
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(2.5rem, 10vw, 6.2rem);
}

.foundation-desc {
    font-size: 1.25rem;
    color: rgb(71, 87, 110);
    line-height: 1.625;
    padding-right: 20px;
    font-family: 'Outfit Ragular', sans-serif;
}

.metric-title {
    font-size: 2.25rem;
    color: #0f172a;
    margin-bottom: 10px;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.metric-subtitle {
    font-size: 0.75rem;
    font-weight: 300;
    color: rgba(96, 113, 138, 1);
    letter-spacing: .1em;
    margin: 0;
    text-transform: uppercase;
}

.foundation-img-col {
    padding-left: 40px;
}

.foundation-img-wrapper {
    position: relative;
    border-radius: 40px;
    overflow: hidden;
}

.foundation-img-wrapper img {
    transform: scale(1.1) !important;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.foundation-img-wrapper:hover img {
    transform: scale(1) !important;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.foundation-img-wrapper img {
    border-radius: 40px !important;
    box-shadow: none !important;
    height: 600px;
}

.community-overlay-card {
    position: absolute;
    bottom: 30px;
    left: 40px;
    right: 40px;
    background: rgba(246, 247, 248, 0.95);
    backdrop-filter: blur(12px);
    padding: 40px;
    border-radius: 24px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.community-icon {
    font-size: 2.5rem;
    line-height: 1;
    color: #e83232;
}

.community-title {
    font-size: 1.5rem;
    font-family: 'Outfit Bold', sans-serif;
    font-style: italic;
    color: #0f172a;
    letter-spacing: -.05em;
}

.community-desc {
    font-size: 0.85rem;
    color: rgb(71, 87, 110);
    font-weight: 600;
    margin-top: 10px;
}

/* Model Section */
.franchise-model {
    padding: 120px 0 140px;
    background: radial-gradient(circle at 15% 45%, rgba(235, 100, 100, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 85% 35%, rgba(100, 150, 220, 0.08) 0%, transparent 40%),
        #f8f9fa;
    border-top: 1px solid #c9d5e1;
    margin-top: 50px;
}

.model-eyebrow {
    font-size: .875em;
    font-weight: 500;
    letter-spacing: 0.6em;
    margin-bottom: 20px;
    font-family: 'Outfit SemiBold', sans-serif;
    color: #e83232;
    text-transform: uppercase;
}

.model-title {
    font-size: clamp(3.5rem, 12vw, 9rem);
    font-weight: 800;
    color: #0f172a;
    line-height: 0.95;
    letter-spacing: -0.05em;
    font-family: 'Outfit Bold', sans-serif;
    margin-bottom: 80px;
    text-transform: uppercase;
}

.franchise-feature-card {
    background: #fff;
    border-radius: 32px;
    padding: 50px 40px 120px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
    transition: all 0.4s ease;
    border: 1px solid rgba(0, 0, 0, 0.02);
    height: 100%;
}

.franchise-feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06);
}

.franchise-feature-card .f-feature-icon svg {
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.franchise-feature-card:hover .f-feature-icon svg {
    rotate: 20deg;
    height: 55px;
    width: 55px;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.f-feature-icon {
    color: #e83232;
    margin-bottom: 25px;
    display: flex;
}

.f-feature-icon svg {
    width: 36px;
    height: 36px;
    stroke-width: 2px;
}

.f-feature-title {
    font-size: 1.5rem;
    color: #0f172a;
    margin-bottom: 15px;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.025em;
    text-transform: uppercase;
}

.f-feature-desc {
    color: rgb(71, 87, 110);
    font-size: 1rem;
    line-height: 1.625;
    margin: 0;
    font-weight: 300;
    font-family: 'Outfit Regular', sans-serif;
}

/* Responsive */
@media (max-width: 991px) {

    .franchise-page .hero-title {
        font-size: 3rem;
    }

    .foundation-title {
        font-size: 2.5rem;
    }

    .opportunity-form-card {
        margin-top: 0px;
    }
}

@media (max-width: 768px) {

    .franchise-page .hero-title {
        font-size: 2.8rem;
    }

    .franchise-hero,
    .franchise-foundation,
    .franchise-model {
        padding: 30px 0;
    }

    .community-overlay-card {
        bottom: 20px;
        left: 20px;
        right: 20px;
        padding: 20px;
    }

    .opportunity-form-card .card-body-inner {
        padding: 30px 20px;
    }

    .franchise-feature-card {
        padding: 30px 25px;
        border-radius: 20px;
    }
}

@media screen and (max-width:600px) {

    html,
    body {
        overflow-x: clip;
    }

    .pd100 {
        padding: 0 15px;
    }

    .pd35 {
        padding: 0 15px;
    }

    .pd50 {
        padding: 0 15px;
    }

    .hero-desc {
        font-weight: 600;
    }

    .hero-btn {
        padding: 15px 30px;
    }

    .insd-hero-image.mt-5 {
        margin-top: 0 !important
    }

    .insd-stats-cards.py-5 {
        padding-top: 0rem !important;
    }

    .cr-desc-wrapper {
        margin-bottom: 0;
        padding-left: 15px;
    }

    .stat-metric {
        font-size: 1.8em;
    }

    .stat-title {
        font-size: 1rem;
    }

    .insd-passion-section {
        padding: 30px 0 30px;
    }

    .passion-subtitle {
        margin-bottom: 15px
    }

    .insd-course-grid-section.py-5 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }

    .insd-partners-section {
        margin-top: 50px;
    }

    .insd-cta-section {
        padding: 20px 20px 50px;
    }

    .cta-btn-text {
        font-size: 11px;
    }

    .insd-difference-section {
        padding: 10px
    }

    .difference-subtitle {
        font-weight: 500;
        font-size: 1.2rem;
    }

    .insd-celebrities-section {
        padding: 50px 0;
    }

    .celeb-title {
        font-size: 2rem;
    }

    .insd-placements-section {
        padding: 0 0 50px;
    }

    .site-footer {
        padding: 50px 15px 100px;
    }

    .footer-grids .link-col {
        margin-bottom: 20px
    }

    .footer-grid {
        margin-bottom: 50px
    }

    .qa-btn {
        width: 40px;
        height: 40px;
    }

    .expert-modal-left {
        justify-content: flex-start !important;
    }

    .expert-promo-highlight {
        font-size: 1.4em;
        margin-bottom: 10px;
    }

    .expert-promo-subtitle {
        font-size: 0.9rem;
    }

    .expert-modal {
        border-radius: 0;
        height: 95vh
    }

    .expert-form-title {
        font-size: 1rem;
    }

    .expert-form-desc {
        font-size: 0.9rem;
        margin-bottom: 10px;
    }

    .expert-form-group label {
        font-size: .65rem;
    }

    .expert-form-control {
        height: 40px;
        border-radius: 10px;
        padding: 0 15px;
        font-size: 14px;
    }

    .expert-promo-title br,
    .expert-promo-highlight br {
        display: none;
    }

    .expert-submit-btn {
        font-size: 0.8em;
        height: 45px;
    }

    .legacy-logo {
        margin-left: 0;
    }

    .legacy-side-15 {
        font-size: 100px;
    }

    .legacy-side-bg-15 {
        top: -11px;
        left: -7px;
        font-size: 5rem;
    }

    .legacy-side-years {
        font-size: 2.5rem;
    }

    .legacy-side-legacy {
        font-size: 5rem;
    }

    .legacy-timeline-section {
        padding: 50px 0 30px;
    }

    .legacy-left-col {
        padding-right: 15px;
    }

    .legacy-timeline-image {
        width: 80%;
        margin: auto;
    }

    .legacy-timeline-image img {
        height: 100px;
    }

    .legacy-timeline-year {
        font-size: 18px;
    }

    .legacy-numbers-section {
        padding: 30px 0;
    }

    .stat-label br {
        display: none;
    }

    .legacy-stat-card {
        border-radius: 25px;
        padding: 25px;
    }

    .legacy-tall-visual,
    .legacy-tall-visual img {
        border-radius: 25px;
    }

    .legacy-stat-card .stat-number-wrapper {
        font-size: 40px;
    }

    .legacy-stat-card .stat-icon {
        margin-bottom: 15px;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .footer-grid> :first-child {
        grid-column: 1 / -1;
    }

    .franchise-hero-left {
        padding-right: 0;
    }

    .opportunity-form-card {
        width: 100%;
    }

    .opportunity-form-card .form-title {
        font-size: 2rem;
    }

    .franchise-form .f-input {
        height: 40px;
    }

    .franchise-form .mb-3 {
        margin-bottom: .5rem !important;
    }

    .foundation-img-col {
        padding-left: 15px;
    }

    .foundation-img-wrapper img {
        height: 300px;
    }

    .franchise-page .text-red {
        margin-bottom: 10px;
    }

    .franchise-page .text-red svg {
        height: 30px;
        width: 30px;
    }

    .community-title {
        font-size: 1.2rem;
    }

    .community-desc {
        margin-top: 5px;
    }

    .community-overlay-card {
        padding: 15px !important
    }

    .model-title {
        font-size: 2.5rem;
        margin-bottom: 30px;
    }

    .franchise-model .model-header.mb-5 {
        margin-bottom: 1.5em !important;
    }

    .f-feature-icon.text-red svg {
        height: 50px;
        width: 50px;
    }

    .outline-pill {
        font-size: .65em;
        margin-bottom: 25px;
    }

    .mentors-hero-desc br {
        display: none;
    }

    .mentors-hero-desc {
        font-size: 16px;
        margin-top: 25px;
    }

    .mentors-founders {
        padding: 20px 0 50px;
    }

    .legacy-metrics-pill {
        padding: 0;
        border: 0px solid #d4d0c8;
        letter-spacing: .3em;
    }

    .founder-card-wrapper {
        width: 100%;
    }

    .founder-controls {
        top: 20px;
        right: 20px;
    }

    .founder-bio {
        font-size: 1rem;
        line-height: 1.5;
    }

    .industry-mentors .row.mt-5 {
        margin-top: 1rem !important;
    }

    .industry-mentors {
        padding: 70px 0 20px;
    }

    .border-slate-100 {
        padding: 15px 0 0 !important;
    }

    .mentors-highlights-section {
        padding: 0 15px;
        text-align: center;
    }
}

/* =========================================================
   COURSE PAGE HEADER OVERRIDES (course detail pages)
========================================================= */
/* Logo white override */
.page-course .insd-header:not(.header-scrolled) .insd-navbar-logo img,
.page-course .insd-mobile-header:not(.header-scrolled) .insd-mobile-logo img {
    filter: brightness(0) invert(1);
}

/* Nav links white override */
.page-course .insd-header:not(.header-scrolled) .insd-desktop-navigation .nav-link .main-nav,
.page-course .insd-header:not(.header-scrolled) .insd-desktop-navigation .nav-link .hover-nav,
.page-course .insd-header:not(.header-scrolled) .insd-desktop-navigation .nav-link {
    color: #ffffff;
}

/* Contact button white background, black text */
.page-course .insd-header:not(.header-scrolled) .insd-apply-btn {
    background: #ffffff;
    color: #000000;
}

.page-course .insd-header:not(.header-scrolled) .insd-apply-btn:hover {
    color: #ffffff;
}

/* Dropdown arrow white override */
.page-course .insd-header:not(.header-scrolled) .insd-desktop-navigation .nav-link i {
    color: #ffffff;
}

/* =========================================================
   COURSE HERO SECTION (course-designing.php)
========================================================= */
.course-hero {
    position: relative;
    width: 100%;
    /*min-height: 100vh;
    min-height: 100svh;*/
    margin-top: -82px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #1e1816;
    background-image: url('../images/demo.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
    padding: 180px 20px 100px;
    box-sizing: border-box;
}

.course-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.58);
    pointer-events: none;
    z-index: 1;
}

.course-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.course-hero-title span {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: -.05em;
    font-size: clamp(3.5rem, 12vw, 9rem);
    user-select: none;
}

.course-hero-title-red {
    color: #db3436;
    display: block;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.course-hero-title-white {
    color: #ffffff;
    display: block;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.course-hero-scroll {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: clamp(30px, 4.5vh, 48px);
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Outfit SemiBold', 'Outfit Bold', 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    text-decoration: none;
    transition: color 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    cursor: pointer;
}

.course-hero-scroll:hover {
    color: #ffffff;
    text-decoration: none;
}

.course-hero-scroll-arrow {
    width: 13px;
    height: 13px;
    stroke: currentColor;
    flex-shrink: 0;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.course-hero-scroll:hover .course-hero-scroll-arrow {
    transform: translateY(3px);
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
    .course-hero {
        min-height: 100vh;
        min-height: 100svh;
        padding: 50px 20px;
    }

    .course-hero-title {
        row-gap: 10px;
        font-size: clamp(3rem, 9.5vw, 5.2rem);
        line-height: 1;
    }

    .course-hero-scroll {
        margin-top: 28px;
        font-size: 10.5px;
        letter-spacing: 0.16em;
    }
}

@media (max-width: 576px) {
    .course-hero {
        min-height: 100vh;
        min-height: 100svh;
        margin-top: -102px;
        padding: 40px 16px;
    }

    .course-hero-title {
        row-gap: 8px;
        font-size: clamp(2.35rem, 12vw, 3.5rem);
        line-height: 1;
        letter-spacing: -0.015em;
    }

    .course-hero-scroll {
        margin-top: 24px;
        font-size: 9.5px;
        letter-spacing: 0.14em;
        gap: 6px;
    }

    .course-hero-scroll-arrow {
        width: 12px;
        height: 12px;
    }
}

/* =========================================================
   FASHION SECTOR CARDS (course-designing.php)
========================================================= */
.course-sector-section {
    background-color: #0F172B;
    padding: 50px 0 70px;
    width: 100%;
}

.course-sector-cards {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-bottom: 50px;
    flex-wrap: wrap;
}

.course-sector-card {
    background-color: #1B2235;
    border-radius: 15px;
    padding: 40px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
    min-width: 300px;
    max-width: 400px;
    border: 1px solid #323849;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.course-sector-card:hover {
    border: 1px solid #7b2c36;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.course-sector-card:hover .course-sector-icon {
    background-color: #db3436;
    color: #fff;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.course-sector-icon {
    width: 60px;
    height: 60px;
    background-color: #3f242c;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #db3436;
    flex-shrink: 0;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.course-sector-text {
    display: flex;
    flex-direction: column;
}

.course-sector-label {
    font-family: 'Outfit SemiBold', 'Outfit', sans-serif;
    font-size: 11px;
    color: #8c909e;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 8px;
    font-weight: 600;
}

.course-sector-title {
    font-family: 'Outfit Bold', 'Outfit Black', sans-serif;
    font-size: 20px;
    color: #ffffff;
    margin: 0;
    line-height: 1.2;
    text-transform: uppercase;
    font-weight: 700;
}

.course-enroll-container {
    text-align: center;
}

.course-enroll-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #db3436;
    color: #ffffff;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 13px;
    font-weight: 700;
    padding: 16px 36px;
    border-radius: 30px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    gap: 10px;
    transition: all 0.3s ease;
}

.course-enroll-btn i {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.course-enroll-btn:hover {
    background-color: #c02b2d;
    color: #ffffff;
    text-decoration: none;
}

.course-enroll-btn:hover i {
    transform: translateX(4px);
}

/* =========================================================
   FASHION LEARNING OUTCOMES (course-designing.php)
========================================================= */
.pd90 {
    padding: 0 90px;
}

.course-learning-section {
    background-color: #000000;
    padding: 100px 0;
    width: 100%;
}

.course-learning-content h2 {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 2.25rem;
    color: #ffffff;
    margin-bottom: 5px;
    letter-spacing: -.025em;
}

.course-learning-content p {
    font-family: 'Outfit Bold', sans-serif;
    color: #a0a0a0;
    line-height: 1.8;
    margin-bottom: 0;
    font-size: clamp(1rem, 2.5vw, 1.25rem);
}

.course-learning-highlights {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.course-learning-highlights li {
    position: relative;
    padding-left: 26px;
    color: #ffffff;
    font-family: 'Outfit SemiBold', 'Outfit', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 12px;
}

.course-learning-highlights li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #db3436;
}

/* "Red heading + titled outcomes" format (e.g. Interior "Spatial Outcomes") */
.course-learning-titled h2 {
    font-family: 'Outfit Bold', sans-serif;
    color: var(--insd-red);
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 25px;
}

.course-learning-outcomes-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.course-learning-outcome {
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    padding-left: 24px;
    transition: border-color 0.3s ease;
}

.course-learning-outcome:hover {
    border-left-color: var(--insd-red);
}

.course-learning-titled .course-learning-outcome h4 {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--insd-red);
    margin: 0 0 8px;
}

.course-learning-titled .course-learning-outcome p {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

.course-learning-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
    height: 100%;
    min-height: 500px;
}

.gallery-img-large {
    grid-column: 1;
    grid-row: 1 / span 2;
    border-radius: 15px;
    overflow: hidden;
}

.gallery-img-small {
    border-radius: 15px;
    overflow: hidden;
}

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

/* Single large image (only the first gallery image is set) */
.course-learning-gallery.gallery-single {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 1fr;
    max-width: 420px;
    margin: 0 auto;
}

.gallery-single .gallery-img-large {
    grid-row: 1;
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .course-sector-cards {
        gap: 20px;
    }

    .course-sector-card {
        min-width: calc(50% - 10px);
    }

    .course-learning-gallery {
        min-height: 400px;
        margin-top: 40px;
    }

    .course-learning-content h2 {
        font-size: 36px;
    }
}

@media (max-width: 767px) {

    .course-sector-section,
    .course-learning-section {
        padding: 60px 0;
    }

    .course-sector-card {
        min-width: 100%;
    }

    .course-learning-content h2 {
        font-size: 30px;
    }

    .course-learning-gallery {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        min-height: auto;
    }

    .gallery-img-large {
        grid-column: 1;
        grid-row: 1;
        height: 300px;
    }

    .gallery-img-small {
        height: 250px;
    }
}

/* =========================================================
   COURSE INFO CARDS (course-designing.php)
========================================================= */
.course-course-info {
    background-color: #ffffff;
    padding: 60px 0;
    width: 100%;
}

.course-course-info-grid {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
}

.course-course-info-card {
    background-color: #F8FAFC;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 30px;
    flex: 1;
    min-width: 280px;
}

.course-course-info-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.course-course-info-icon {
    color: #db3436;
    display: flex;
    align-items: center;
    justify-content: center;
}

.course-course-info-label {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    color: rgba(146, 162, 186, 1);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.course-course-info-value {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.125rem;
    color: #1B2235;
    margin: 0;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: -.025em;
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .course-course-info-card {
        min-width: calc(50% - 15px);
    }
}

@media (max-width: 767px) {
    .course-course-info {
        padding: 60px 0;
    }

    .course-course-info-card {
        min-width: 100%;
    }
}

/* =========================================
   COURSE CURRICULUM SECTION
========================================= */
.course-curriculum-section {
    background-color: #F8FAFC;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    padding: 120px 0;
}

.curriculum-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 60px;
    flex-wrap: wrap;
    gap: 30px;
}

.curriculum-title-wrap {
    display: flex;
    flex-direction: column;
    line-height: 0.85;
}

.title-course {
    font-family: 'Outfit Bold', sans-serif;
    color: var(--insd-dark);
    letter-spacing: -.05em;
    font-size: clamp(2.5rem, 10vw, 6rem);
    line-height: 1;
}

.title-curriculum {
    color: #cbd5df;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
    font-size: clamp(2.5rem, 10vw, 6rem);
    line-height: 1;
}

.curriculum-tabs-wrap {
    background: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 50px;
    padding: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

.curriculum-pills {
    display: flex;
    gap: 5px;
    margin: 0;
    flex-wrap: nowrap;
}

.curriculum-pills .nav-link {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    color: #8fa1b3;
    background: transparent;
    border-radius: 30px;
    padding: 10px 24px;
    text-transform: uppercase;
    letter-spacing: .1em;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.curriculum-pills .nav-link.active {
    background: var(--insd-dark);
    color: #ffffff;
}

.badge-featured {
    background: #db3436;
    color: #ffffff;
    font-size: 8px;
    padding: 3px 6px;
    border-radius: 4px;
    letter-spacing: 0.5px;
}

.curriculum-program-banner {
    background: linear-gradient(135deg, #111524 0%, #1a1b2e 100%);
    border-radius: 50px;
    padding: 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 10px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(17, 21, 36, 0.15);
}

.curriculum-program-banner::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 100%;
    background: radial-gradient(circle, rgba(229, 50, 56, 0.15) 0%, rgba(17, 21, 36, 0) 70%);
    pointer-events: none;
}

.banner-left {
    max-width: 75%;
    position: relative;
    z-index: 1;
}

.banner-label {
    color: var(--insd-red);
    font-size: 10px;
    letter-spacing: .4em;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: inline-block;
    font-family: 'Outfit Bold', sans-serif;
}

.banner-title {
    color: #ffffff;
    font-family: 'Outfit Bold', sans-serif;
    line-height: 1;
    margin: 0;
    letter-spacing: -.05em;
    font-size: clamp(1.5rem, 5vw, 2.75rem);
}

.banner-right {
    position: relative;
    z-index: 1;
}

.duration-card {
    background: #191e32;
    border-radius: 15px;
    padding: 20px 35px;
    display: flex;
    gap: 40px;
    border: 1px solid #272e40;
}

.duration-col {
    display: flex;
    flex-direction: column;
}

.d-label {
    color: #6b7280;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .1em;
    margin-bottom: 8px;
    text-transform: uppercase;
    text-align: right;
}

.d-value {
    display: grid;
    align-items: flex-end;
    gap: 5px;
    line-height: 1;
    text-align: right;
}

.d-value.text-white {
    text-align: left;
}

.d-num {
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(1.25rem, 3.5vw, 1.75rem);
    letter-spacing: -.025em;
}

.d-text {
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(1.25rem, 3.5vw, 1.75rem);
    letter-spacing: -.025em;
    line-height: .8em;
}

.text-red {
    color: var(--insd-red);
}

.text-white {
    color: #ffffff;
}

.curriculum-cards-row {
    margin-top: 0;
}

.curriculum-vertical-tabs {
    gap: 15px;
}

.curriculum-card-tab {
    background: #ffffff !important;
    border: 1px solid #f1f4f8 !important;
    border-radius: 25px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03) !important;
    padding: 0 !important;
    text-align: left;
    transition: all 0.3s ease;
    width: 100%;
}

.curriculum-card-tab.active {
    border-color: var(--insd-red) !important;
}

.curriculum-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px;
    cursor: pointer;
    user-select: none;
    border-radius: 25px;
}

.part-title-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
}

.part-num {
    width: 45px;
    height: 45px;
    background: #f4f6f8;
    color: #94a3b8;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 16px;
    transition: all 0.3s ease;
}

.curriculum-card-tab.active .part-num {
    background: var(--insd-red);
    color: #ffffff;
}

.part-name {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 18px;
    color: var(--insd-dark);
    margin: 0;
    letter-spacing: -0.5px;
    transition: color 0.3s ease;
}

.curriculum-card-tab.active .part-name {
    color: var(--insd-red);
}

.toggle-icon {
    font-size: 20px;
    color: #cbd5df;
    transition: transform 0.3s ease, color 0.3s ease;
}

.curriculum-card-tab.active .toggle-icon {
    color: var(--insd-red);
}

.curriculum-vertical-content {
    background: #ffffff;
    border: 1px solid #f1f4f8;
    border-radius: 25px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
    padding: 40px;
    height: 100%;
}

.curriculum-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.curriculum-list li {
    position: relative;
    padding-left: 20px;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 12px;
    color: #3b4b5e;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.curriculum-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 6px;
    height: 6px;
    background: #f7a9aa;
    border-radius: 50%;
}

/* Group heading (e.g. semester) inside a curriculum panel */
.semester-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 12px;
    color: var(--insd-red);
    letter-spacing: .15em;
    text-transform: uppercase;
    margin: 0 0 22px;
}

@media (max-width: 1199px) {

    .title-course,
    .title-curriculum {
        font-size: 60px;
    }

    .banner-title {
        font-size: 26px;
    }

    .duration-card {
        padding: 20px 25px;
        gap: 25px;
    }
}

@media (max-width: 991px) {
    .curriculum-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .curriculum-pills {
        overflow-x: auto;
        padding-bottom: 5px;
        scrollbar-width: none;
    }

    .curriculum-pills::-webkit-scrollbar {
        display: none;
    }

    .curriculum-program-banner {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px;
    }

    .banner-left {
        max-width: 100%;
    }

    .duration-card {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 575px) {

    .title-course,
    .title-curriculum {
        font-size: 45px;
    }

    .duration-card {
        flex-direction: column;
        gap: 15px;
    }
}

/* =========================================
   CAREER PATHS SECTION
========================================= */
.career-paths-section {
    background-color: #ffffff;
    padding: 120px 0;
}

.career-paths-header {
    margin-bottom: 60px;
}

.career-paths-title {
    font-family: 'Outfit Bold', sans-serif;
    color: var(--insd-dark);
    letter-spacing: -.05em;
    line-height: 1;
    margin-bottom: 25px;
    text-transform: uppercase;
    font-size: clamp(2.5rem, 10vw, 6rem);
}

.career-paths-desc {
    font-family: 'Outfit Bold', sans-serif;
    color: rgba(92, 109, 133, 1);
    font-size: clamp(0.9rem, 2vw, 1rem);
    line-height: 1.6;
    margin: 0;
    max-width: 42rem;
}

/*.career-paths-grid {
}*/

.career-card {
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    padding: 30px;
}

.career-card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 1;
}

.career-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0) 100%);
    z-index: 2;
    transition: background 0.4s ease;
}

.career-card-content {
    position: relative;
    z-index: 3;
    width: 100%;
    transition: transform 0.4s ease;
}

.career-card-title {
    color: #ffffff;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
    line-height: 1;
    margin: 0;
    letter-spacing: -.05em;
    font-size: clamp(1.25rem, 3.5vw, 1.75rem);
}

.career-card-desc {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding-top: 15px;
    opacity: 0;
    visibility: hidden;
    color: #cbd5df;
    font-family: 'Outfit Bold', sans-serif;
    line-height: 1.5;
    margin: 0;
    letter-spacing: -.025em;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    font-size: clamp(.75rem, 1.5vw, .875rem);
}

/* Hover Effect - Devices that support hover */
@media (hover: hover) {
    .career-card:hover .career-card-bg {
        transform: scale(1.08);
    }

    .career-card:hover .career-card-overlay {
        background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0) 100%);
    }

    .career-card:hover .career-card-content {
        transform: translateY(-60px);
    }

    .career-card:hover .career-card-desc {
        opacity: 1;
        visibility: visible;
    }
}

/* Touch / Mobile Fallback */
@media (hover: none) {
    .career-card-content {
        transform: translateY(-60px);
    }

    .career-card-desc {
        opacity: 1;
        visibility: visible;
    }
}

/* =========================================
   WHY CHOOSE SECTION
========================================= */
.why-choose-section {
    background-color: #f8fafc;
    padding: 120px 0;
}

.why-choose-header {
    margin-bottom: 70px;
}

.why-choose-label {
    display: inline-block;
    color: var(--insd-red);
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    letter-spacing: .4em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.why-choose-title {
    font-family: 'Outfit Bold', sans-serif;
    color: var(--insd-dark);
    letter-spacing: -.05em;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
    font-size: clamp(2.5rem, 10vw, 6rem);
}

.why-choose-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.why-choose-grid {
    margin-bottom: 70px;
}

.feature-card {
    background: #ffffff;
    border-radius: 50px;
    padding: 40px;
    height: 100%;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.06);
}

.feature-card:hover .feature-icon-wrap {
    background-color: var(--theme-color, #E53E3E);

}

.feature-card:hover .feature-icon-wrap svg {
    color: #fff;
}

.feature-icon-wrap {
    width: 65px;
    height: 65px;
    background-color: #f9fafc;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 35px;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.feature-icon-wrap svg {
    color: var(--insd-red);
    width: 32px;
    height: 32px;
}

.feature-icon-wrap i {
    color: var(--insd-red);
    font-size: 32px;
    line-height: 1;
}

.feature-icon {
    font-size: 24px;
    color: var(--insd-red);
}

.feature-title {
    font-family: 'Outfit Bold', sans-serif;
    color: var(--insd-dark);
    text-transform: uppercase;
    line-height: 1.25;
    margin-bottom: 20px;
    letter-spacing: -.05em;
    font-size: clamp(1.5rem, 5vw, 2.65rem);
}

.feature-descc {
    color: rgba(92, 109, 133, 1);
    font-size: clamp(0.9rem, 2vw, .875rem);
    line-height: 1.625;
    margin: 0;
    font-family: 'Outfit Medium', sans-serif;
}

/* CTA Banner */
.why-choose-cta {
    background: #24182c;
    border-radius: 50px;
    padding: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.why-choose-cta:hover {
    background: #381d2d;
}

.cta-title {
    font-family: 'Outfit Bold', sans-serif;
    color: #ffffff;
    line-height: 1.5;
    margin-bottom: 20px;
    letter-spacing: -.05em;
    text-transform: uppercase;
    font-size: clamp(2rem, 7vw, 4rem);
}

.cta-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.cta-desc {
    color: #a0aec0;
    font-size: clamp(0.9rem, 2vw, 1rem);
    margin: 0;
    line-height: 1.5;
    font-family: 'Outfit Medium', sans-serif;
    max-width: 24rem;
}

.btn-cta-pill {
    display: inline-flex;
    background: #ffffff;
    color: var(--insd-dark);
    font-family: 'Outfit Bold', sans-serif;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 22px 60px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
    align-items: center;
    justify-content: center;
}

.btn-cta-pill:hover {
    background: var(--insd-red);
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(229, 50, 56, 0.2);
}

@media (max-width: 991px) {
    .why-choose-cta {
        flex-direction: column;
        text-align: center;
        padding: 50px 40px;
    }
}

@media (max-width: 575px) {
    .feature-card {
        padding: 40px 30px;
    }

    .why-choose-cta {
        padding: 40px 30px;
    }
}

/* =========================================
   INSD LUXE PAGE STYLES
========================================= */
:root {
    --luxe-gold: #c5a045;
    --luxe-gold-hover: #b38e45;
    --luxe-blue: #134a83;
    --luxe-dark: #111827;
    --luxe-light-bg: #f9fafc;
}

/* Typography Overrides */
.luxe-eyebrow {
    display: inline-block;
    color: var(--luxe-gold);
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.text-gold {
    color: var(--luxe-gold);
}

.text-blue {
    color: var(--luxe-blue) !important;
}

/* HERO SECTION */
.luxe-hero-section {
    padding: 100px 0 60px 0;
    background: #ffffff;
}

.luxe-hero-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 6rem;
    color: var(--luxe-dark);
    line-height: .9;
    letter-spacing: -.05em;
    margin-bottom: 25px;
    text-transform: uppercase;
}

.luxe-hero-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.luxe-hero-desc {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.25rem;
    color: rgba(69, 85, 108, 1);
    letter-spacing: -.025em;
    line-height: 1.75;
    max-width: 500px;
    margin-bottom: 40px;
    text-transform: uppercase;
}

.luxe-hero-cta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.luxe-btn-gold {
    display: inline-flex;
    background: var(--luxe-gold);
    color: #ffffff;
    font-family: 'Outfit Bold', sans-serif;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 14px 40px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    align-items: center;
    border: 2px solid var(--luxe-gold);
}

.luxe-btn-gold:hover {
    background: var(--luxe-blue);
    border-color: var(--luxe-blue);
    color: #ffffff;
}

.luxe-btn-play {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--luxe-dark);
    font-family: 'Outfit Bold', sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: all 0.3s ease;
}

.luxe-btn-play svg {
    font-size: 26px;
    color: var(--luxe-blue) !important;
    transition: color 0.3s ease;
    height: 30px;
    width: 30px;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.luxe-association {
    text-align: right;
}

.luxe-assoc-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.25rem;
    letter-spacing: -.05em;
    color: var(--luxe-dark);
    text-transform: uppercase;
    margin-bottom: 40px;
    line-height: 1.75;
}

.luxe-assoc-logos {
    display: flex;
    justify-content: flex-end;
    gap: 50px;
}

.assoc-logo {
    display: flex;
    flex-direction: column;
    text-align: left;
    border-bottom: 6px solid var(--luxe-dark);
    padding-bottom: 5px;
}

.assoc-gold {
    border-color: var(--luxe-gold);
}

.assoc-blue {
    border-color: var(--luxe-blue);
}

.assoc-brand {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 6rem;
    line-height: 1;
    color: var(--luxe-dark);
    letter-spacing: -.05em;
    text-align: center;
}

.assoc-sub {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 6rem;
    line-height: 1;
    color: var(--luxe-dark);
    letter-spacing: -.05em;
    text-align: center;
}

@media (max-width: 991px) {
    .luxe-association {
        text-align: left;
    }

    .luxe-assoc-logos {
        justify-content: flex-start;
    }
}

/* FEATURE SECTION */
.luxe-feature-section-clip {
    clip-path: polygon(0 80%, 100% 0, 100% 100%, 0% 100%);
    background-color: #f4f6f8;
    height: 200px;
}

.luxe-feature-section {
    position: relative;
    padding: 100px 0;
    background-color: #f4f6f8;
}

@media (max-width: 768px) {
    .luxe-feature-section {
        clip-path: polygon(0 4%, 100% 0, 100% 100%, 0% 100%);
    }
}

.luxe-feature-card {
    background: #ffffff;
    border-radius: 50px;
    padding: 50px;
    height: 100%;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

.luxe-feature-card:hover {
    transform: translateY(-5px);
}

.luxe-f-icon-wrap {
    width: 60px;
    height: 60px;
    background-color: #f4f6f8;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

.luxe-feature-card:hover .luxe-f-icon-wrap {
    background: var(--luxe-blue);
    transition: all 0.3s ease;
}

.luxe-feature-card:hover .luxe-f-icon-wrap svg {
    color: #fff;
}

.luxe-f-icon-wrap svg {
    width: 30px;
    height: 30px;
    color: var(--luxe-gold);
}

/* CMS-managed cards use a Bootstrap icon (<i>) instead of the static design's inline SVG */
.luxe-f-icon-wrap i {
    font-size: 28px;
    line-height: 1;
    color: var(--luxe-gold);
}

.luxe-feature-card:hover .luxe-f-icon-wrap i {
    color: #fff;
}

.luxe-f-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.5rem;
    color: #111827;
    text-transform: uppercase;
    letter-spacing: -.05em;
    margin-bottom: 20px;
    line-height: 1.2;
}

.luxe-f-desc {
    color: rgba(97, 114, 139, 1);
    font-size: 0.875rem;
    line-height: 1.625;
    margin: 0;
    font-family: 'Outfit SemiBold', sans-serif;
}

/* LEGACY SECTION */
.luxe-legacy-section {
    padding: 120px 0 200px;
    background: #ffffff;
}

.luxe-section-title {
    font-family: 'Outfit Bold', sans-serif;
    color: var(--luxe-dark);
    font-size: 3.75rem;
    letter-spacing: -.05em;
    line-height: 1;
    margin-bottom: 50px !important;
}

.luxe-section-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.luxe-quote {
    font-family: 'Outfit Bold', sans-serif;
    font-style: italic;
    font-size: 1.125rem;
    color: rgba(70, 85, 108, 1);
    line-height: 1.625;
    border-left: none;
    padding: 0;
    padding-right: 0px;
    margin-bottom: 20px;
    padding-right: 25px;
}

.luxe-legacy-desc {
    color: rgba(97, 114, 139, 1);
    font-size: 1em;
    line-height: 1.7;
    margin-bottom: 30px;
    font-family: 'Outfit Medium', sans-serif;
}

.luxe-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--luxe-blue);
    font-family: 'Outfit Bold', sans-serif;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    text-decoration: none;
    transition: gap 0.3s ease;
}

.luxe-text-link:hover {
    gap: 12px;
    color: var(--luxe-dark);
}

.luxe-img-composition {
    position: relative;
    height: 450px;
    max-width: 500px;
    margin: 0 auto;
}

.luxe-img-primary-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 95%;
    height: 100%;
    border-radius: 50px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    z-index: 1;
    border: 4px solid #fff;
    overflow: hidden;
}

.luxe-img-primary {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.luxe-img-primary-wrap:hover .luxe-img-primary {
    transform: scale(1.1) !important;
}

.luxe-img-secondary {
    position: absolute;
    bottom: 0;
    right: -100px;
    width: 70%;
    height: 70%;
    object-fit: cover;
    border-radius: 30px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    z-index: 2;
    border: 4px solid #fff;
    top: 230px;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.luxe-img-secondary:hover {
    top: 215px;
    right: -85px;
}

.luxe-badge-gold {
    position: absolute;
    top: 40px;
    left: -50px;
    background: var(--luxe-gold);
    border-radius: 30px;
    padding: 40px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 20px rgba(197, 155, 72, 0.3);
    rotate: -5deg;
    transition: 0.5s all ease;
}

.luxe-badge-gold:hover {
    rotate: 0deg;
}

.badge-title {
    color: #ffffff;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 2.25rem;
    line-height: 1;
    margin-bottom: 5px;
}

.badge-sub {
    color: #ffffff;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    letter-spacing: .1em;
}

@media (max-width: 575px) {
    .luxe-img-composition {
        height: 350px;
    }

    .luxe-img-primary {
        width: 80%;
        height: 250px;
    }

    .luxe-img-secondary {
        width: 75%;
        height: 200px;
        border-width: 4px;
    }

    .luxe-badge-gold {
        left: -10px;
        top: 20px;
        padding: 10px 15px;
    }
}

/* PROGRAMS SECTION */
.luxe-programs-section {
    background-color: #c5a059;
    padding: 100px 0;
}

.luxe-program-card {
    display: block;
    text-decoration: none;
}

.program-img-wrap {
    width: 100%;
    height: 400px;
    border-radius: 50px;
    overflow: hidden;
    margin-bottom: 25px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

.program-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.luxe-program-card:hover .program-img-wrap img {
    transform: scale(1.1) !important;
}

.program-title {
    font-family: 'Outfit Bold', sans-serif;
    color: var(--luxe-dark);
    font-size: 1.875rem;
    text-transform: uppercase;
    letter-spacing: -.05em;
    margin: 0;
    transition: color 0.3s ease;
}

.luxe-program-card:hover .program-title {
    color: #ffffff;
}

/* FAQ SECTION */
.luxe-faq-section {
    padding: 100px 0;
    background: #ffffff;
}

.luxe-faq-wrapper {
    max-width: 1100px;
}

.luxe-faq-item {
    border: none;
    border-bottom: 1px solid #e2e8f0;
    border-radius: 0 !important;
    background: #f9fafc;
    margin-bottom: 15px;
}

.luxe-faq-item:last-child {
    border-bottom: none;
}

.luxe-faq-btn {
    background: #f9fafc !important;
    color: var(--luxe-dark) !important;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.25rem;
    padding: 25px 30px;
    box-shadow: none !important;
    display: flex;
    align-items: center;
    gap: 15px;
}

.luxe-faq-btn:hover {
    background: #f1f5f9 !important;
}

.luxe-faq-btn::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2364748b'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.faq-icon-plus {
    color: #94a3b8;
    font-size: 1.5rem;
    transition: transform 0.3s ease;
}

.luxe-faq-btn:not(.collapsed) .faq-icon-plus {
    transform: rotate(45deg);
}

.luxe-faq-body {
    padding: 5px 30px 25px 65px;
    color: rgba(95, 112, 137, 1);
    font-size: 1em;
    line-height: 1.6;
    background: #f9fafc;
    font-family: 'Outfit Medium', sans-serif;
}

/* FINAL CTA SECTION */
.luxe-final-cta {
    padding: 80px 0 120px 0;
    background: #ffffff;
    border-top: 1px solid #f1f5f8;
}

.luxe-cta-title {
    font-family: 'Outfit Bold', sans-serif;
    color: var(--luxe-dark);
    font-size: 4.5rem;
    letter-spacing: -.05em;
    line-height: 1;
    margin-bottom: 50px;
    text-transform: uppercase;
}

.luxe-cta-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.luxe-cta-desc {
    color: rgba(95, 112, 137, 1);
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.25rem;
    letter-spacing: -.025em;
    line-height: 1.5;
    max-width: 42rem;
    margin-bottom: 40px;
    text-transform: uppercase;
}

.luxe-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.luxe-btn-outline {
    display: inline-flex;
    background: transparent;
    color: var(--luxe-dark);
    font-family: 'Outfit Bold', sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 16px 35px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    align-items: center;
    border: 1px solid #e2e8f0;
}

.luxe-btn-outline:hover {
    border-color: var(--luxe-dark);
    background: var(--luxe-dark);
    color: #ffffff;
}

/* =========================================================
   LOCATIONS PAGE
========================================================= */
:root {
    --insd-loc-navy: #111A31;
    --insd-loc-navy-muted: #60728F;
    --insd-loc-red: #D63C3C;
    --insd-loc-gold: #C9A13A;
    --insd-loc-bg: #F6F8FA;
    --insd-loc-card-bg: #FFFFFF;
    --insd-loc-border: #E2E8F0;
    --insd-loc-muted: #8FA1B3;
}

.insd-loc-page {
    background-color: var(--insd-loc-bg);
}

/* Hero Section */
.insd-loc-hero {
    background-color: #FFFFFF;
    padding: 60px 20px 120px;
    text-align: center;
}

.insd-loc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #f8f3ea;
    color: var(--insd-loc-gold);
    padding: 4px 16px;
    border-radius: 30px;
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 15px;
    font-family: 'Outfit SemiBold', sans-serif;
    border: 1px solid #e9d9b7;
}

.insd-loc-badge i {
    font-size: 14px;
}

.insd-loc-heading {
    font-size: 6.5rem;
    line-height: 0.85;
    margin-bottom: 30px;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.insd-loc-heading span {
    font-family: 'Outfit Bold', sans-serif;
}

.insd-loc-heading .line-1 {
    color: var(--insd-loc-navy);
    display: block;
}

.insd-loc-heading .line-2 {
    background: linear-gradient(90deg, #df373b 0%, #c45258 25%, #8f5068 50%, #564c76 75%, #184b80 100%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    display: inline-block;
}

.insd-loc-subheading {
    color: rgba(96, 113, 139, 1);
    font-size: 1.125rem;
    letter-spacing: .025em;
    text-transform: uppercase;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
    font-family: 'Outfit SemiBold', sans-serif;
}

/* Zone Tabs */
.insd-loc-tabs-wrapper {
    text-align: center;
    margin-top: -30px;
    position: relative;
    z-index: 10;
    padding-bottom: 60px;
    padding-top: 60px;
}

.insd-loc-tabs {
    display: inline-flex;
    background: #FFFFFF;
    border-radius: 50px;
    padding: 5px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    gap: 5px;
}

.insd-loc-tab {
    border: none;
    background: transparent;
    color: var(--insd-loc-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 14px 40px;
    border-radius: 40px;
    transition: all 0.3s ease;
    cursor: pointer;
    font-family: 'Outfit Bold', sans-serif;
}

.insd-loc-tab:hover {
    color: var(--insd-loc-navy);
}

.insd-loc-tab.active {
    background-color: var(--insd-loc-gold);
    color: #FFFFFF;
    box-shadow: 0 4px 15px rgba(201, 161, 58, 0.3);
}

/* Cards Grid */
.insd-loc-grid-section {
    padding-bottom: 100px;
}

.insd-loc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    /*max-width: 1200px;*/
    margin: 0 auto;
}

.insd-loc-card {
    background: var(--insd-loc-card-bg);
    border-radius: 24px;
    padding: 40px;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
}

.insd-loc-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.06);
}

/* Watermark */
.insd-loc-card::after {
    content: '';
    position: absolute;
    top: 32px;
    right: 52px;
    width: 132px;
    height: 163px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4f6f9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index: 0;
    opacity: 0.6;
    pointer-events: none;
    transition: 0.3s ease-in-out;
}

.insd-loc-card:hover::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f6f6f7' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");
    opacity: 1;
}

.insd-loc-card>* {
    position: relative;
    z-index: 1;
}

.insd-loc-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 25px;
}

.insd-loc-card-badge {
    background: #F4F7FA;
    color: rgba(147, 164, 188, 1);
    font-size: 9px;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 50px;
    font-family: 'Outfit Bold', sans-serif;
}

.insd-loc-card-icon {
    width: 36px;
    height: 36px;
    background: #f8fafc;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #060606;
    font-size: 14px;
    box-shadow: 0px 0px 2px #aaa;
}

.insd-loc-card-title {
    font-size: 1.5rem;
    color: var(--insd-loc-navy);
    margin-bottom: 4px;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
    line-height: 1;
}

.insd-loc-card:hover .insd-loc-card-badge {
    background: #fcfaf5;
    color: #c5a044;
}

.insd-loc-card:hover .insd-loc-card-icon {
    background: #0f172b;
    color: #fff;
}

.insd-loc-card:hover .insd-loc-card-title {
    color: #c5a044;
}

.insd-loc-card-state {
    font-size: 9px;
    color: rgba(147, 164, 188, 1);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 20px;
    font-family: 'Outfit Bold', sans-serif;
}

.insd-loc-card-address {
    display: flex;
    gap: 10px;
    font-size: .75em;
    color: rgba(96, 113, 139, 1);
    line-height: 1.6;
    text-transform: uppercase;
    letter-spacing: .025em;
    margin-bottom: 25px;
}

.insd-loc-card-address span {
    font-family: 'Outfit SemiBold', sans-serif !important;
}

.insd-loc-card-address svg {
    width: 14px;
    color: #cad5e2;
}

.insd-loc-card-divider {
    height: 1px;
    background: var(--insd-loc-border);
    margin-bottom: 25px;
    width: 100%;
}

.insd-loc-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.insd-loc-enquire {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    color: rgba(145, 161, 184, 1);
    font-size: 9px;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.3s ease;
    font-family: 'Outfit Bold', sans-serif;
}

.insd-loc-enquire:hover {
    color: var(--insd-loc-navy);
}

.insd-loc-enquire i {
    font-size: 10px;
}

.insd-loc-enquire-arrow {
    color: var(--insd-loc-gold);
    font-size: 16px;
    transition: transform 0.3s ease;
}

.insd-loc-card:hover .insd-loc-enquire-arrow {
    transform: translate(3px, -3px);
}

/* Bottom CTA Section */
.insd-loc-bottom-cta {
    background-color: #FFFFFF;
    padding: 120px 20px;
    text-align: center;
}

.insd-loc-bottom-title {
    font-size: 3rem;
    color: var(--insd-loc-navy);
    margin-bottom: 25px;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.insd-loc-bottom-desc {
    color: rgba(100, 117, 143, 1);
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    line-height: 1.6;
    max-width: 500px;
    margin: 0 auto 40px;
    font-family: 'Outfit SemiBold', sans-serif;
}

.insd-loc-coming-soon {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #F9FAFC;
    border: 1px solid var(--insd-loc-border);
    padding: 20px 40px;
    border-radius: 40px;
    color: rgba(49, 65, 87, 1);
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
    text-decoration: none;
}

.insd-loc-coming-soon .dot {
    width: 6px;
    height: 6px;
    background-color: var(--insd-loc-gold);
    border-radius: 50%;
}

/* Empty State */
.insd-loc-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    background: #FFFFFF;
    border-radius: 24px;
    color: var(--insd-loc-navy-muted);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

@media (max-width: 1199px) {
    .insd-loc-heading {
        font-size: 4rem;
    }
}

@media (max-width: 991px) {
    .insd-loc-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .insd-loc-heading {
        font-size: 3.5rem;
    }

    .insd-loc-bottom-title {
        font-size: 2.5rem;
    }
}

@media (max-width: 767px) {
    .insd-loc-hero {
        padding: 80px 15px 60px;
    }

    .insd-loc-heading {
        font-size: 2.5rem;
        letter-spacing: -1px;
    }

    .insd-loc-subheading {
        font-size: 12px;
    }

    .insd-loc-tabs-wrapper {
        padding-top: 40px;
        padding-bottom: 40px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .insd-loc-tabs {
        display: flex;
        width: max-content;
        margin: 0 auto;
    }

    .insd-loc-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .insd-loc-card {
        padding: 30px;
    }

    .insd-loc-bottom-cta {
        padding: 80px 15px;
    }

    .insd-loc-bottom-title {
        font-size: 2rem;
    }
}

/* =========================================================
   COURSE MODAL
========================================================= */
.course-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(14, 20, 34, 0.95);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.course-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.course-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.96);
    width: 90%;
    max-width: 1050px;
    height: 100vh;
    max-height: 650px;
    background: #ffffff;
    border-radius: 50px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    display: flex;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.course-modal.active {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.course-modal-left {
    width: 35%;
    position: relative;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
}

.course-modal-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(14, 20, 34, 0.9) 0%, rgba(14, 20, 34, 0.3) 100%);
    z-index: 1;
}

.course-modal-title-wrapper {
    position: relative;
    z-index: 2;
    padding: 40px;
    padding-bottom: 50px;
    width: 100%;
}

.course-modal-title-line {
    width: 30px;
    height: 2px;
    background-color: var(--insd-red);
    margin-bottom: 10px;
}

.course-modal-dynamic-title {
    color: #ffffff;
    font-family: 'Outfit Bold', sans-serif;
    font-style: italic;
    font-size: 44px;
    line-height: 0.9;
    text-transform: uppercase;
    letter-spacing: -.05em;
}

.course-modal-right {
    width: 65%;
    background: #ffffff;
    padding: 60px;
    position: relative;
    display: flex;
    flex-direction: column;
    /*justify-content: center;*/
}

.course-modal-close {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    background: #ffffff;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    color: #333;
    transition: all 0.3s ease;
    z-index: 10;
}

.course-modal-close:hover {
    transform: scale(1.05);
    background: #f7f7f7;
}

.course-modal-heading {
    font-family: 'Outfit Medium', sans-serif;
    color: rgba(148, 165, 188, 1);
    text-transform: uppercase;
    line-height: 1.1;
    letter-spacing: -.05em;
    margin-bottom: 25px;
    font-size: clamp(1.25rem, 3.5vw, 1.75rem);
}

.course-modal-accent {
    color: var(--insd-red);
    font-family: 'Georgia Bold Italic';
}

.course-modal-intro {
    position: relative;
    padding-left: 15px;
    margin-bottom: 30px;
}

.course-modal-intro::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #e2e8f0;
}

.course-modal-intro p {
    color: rgba(69, 85, 112, 1);
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 0.95rem;
    margin: 0;
}

.course-modal-industry-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Outfit Bold', sans-serif;
    color: rgba(145, 161, 184, 1);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
}

.course-modal-industry-title .red-dot {
    width: 5px;
    height: 5px;
    background-color: var(--insd-red);
    border-radius: 50%;
}

.course-modal-industries {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 15px;
    margin-bottom: 40px;
}

.course-industry-card {
    background-color: #f7f9fc;
    border: 1px solid #edf1f7;
    border-radius: 12px;
    padding: 25px 15px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.industry-icon-wrapper {
    width: 40px;
    height: 40px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
    color: var(--insd-red);
}

.industry-name {
    font-family: 'Outfit Bold', sans-serif;
    color: #111A31;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.4;
}

.course-modal-divider {
    height: 1px;
    background-color: #f0f4f8;
    margin-bottom: 25px;
}

.course-modal-disclaimer {
    font-family: 'Outfit SemiBold', sans-serif;
    font-style: italic;
    color: rgba(162, 175, 194, 1);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

@media (max-width: 991px) {
    .course-modal {
        flex-direction: column;
        max-height: 85vh;
        overflow-y: auto;
    }

    .course-modal-left {
        width: 100%;
        height: 250px;
        flex-shrink: 0;
    }

    .course-modal-right {
        width: 100%;
        padding: 40px 30px;
    }

    .course-modal-title-wrapper {
        padding: 25px;
    }

    .course-modal-dynamic-title {
        font-size: 2.2rem;
    }

    .course-modal-heading {
        font-size: 1.25rem;
    }

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

@media (max-width: 767px) {
    .course-modal-close {
        top: 20px;
        right: 20px;
    }

    .course-modal-industries {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   EVENTS HERO SECTION
========================================================= */
.insd-events-hero {
    background-color: #ffffff;
    width: 100%;
    padding: 80px 20px 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.insd-events-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.insd-events-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 12rem;
    color: #080c1e;
    text-transform: uppercase;
    letter-spacing: -.05em;
    line-height: .8;
    margin: 0;
    white-space: nowrap;
}

.insd-events-tagline {
    display: flex;
    align-items: center;
    gap: 25px;
    width: 100%;
    max-width: 350px;
    margin-top: 45px;
}

.insd-events-line {
    flex: 1;
    height: 1px;
    background-color: #d7e0ec;
    display: block;
}

.insd-events-tagline-text {
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 10px;
    color: rgba(146, 162, 184, 1);
    text-transform: uppercase;
    letter-spacing: .5em;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Responsive */
@media (max-width: 991px) {
    .insd-events-hero {
        padding: 70px 20px 60px;
    }

    .insd-events-tagline {
        max-width: 400px;
    }
}

@media (max-width: 767px) {
    .insd-events-hero {
        padding: 60px 15px 50px;
    }

    .insd-events-title {
        white-space: normal;
        font-size: clamp(2.5rem, 13vw, 5rem);
        letter-spacing: -0.03em;
    }

    .insd-events-tagline {
        max-width: 320px;
        gap: 12px;
    }

    .insd-events-tagline-text {
        letter-spacing: 0.2em;
    }
}

/* ==========================================
   TALENT SHOWCASE SECTION
========================================== */

.ts-section {
    background-color: #ffffff;
    padding: 60px 0 80px;
}

.ts-container {
    max-width: 1200px;
}

/* --- Badge --- */
.ts-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #fff4f4;
    color: #d84343;
    border: 1px solid #f9e6e6;
    padding: 8px 18px;
    border-radius: 30px;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .2em;
    margin-bottom: 24px;
}

.ts-badge svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

/* --- Heading --- */
.ts-heading {
    margin-bottom: 40px;
    line-height: 0.88;
}

.ts-heading-line {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 8rem;
    text-transform: uppercase;
    letter-spacing: -.05em;
    color: #080c1e;
    display: block;
    line-height: .8;
}

.ts-heading-gradient {
    background: linear-gradient(90deg, #D63C3C 0%, #8B3A72 40%, #2C3E8C 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* --- Body Layout --- */
.ts-body {
    display: flex;
    gap: 24px;
    align-items: stretch;
}

/* --- Main Image --- */
.ts-main-image-wrap {
    flex: 0 0 68%;
    max-width: 68%;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 4 / 3.2;
    background-color: #0a0f1e;
}

.ts-main-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 20px;
    transition: opacity 0.4s ease;
}

.ts-main-image.ts-fade {
    opacity: 0;
}

.ts-main-image:hover {
    transform: scale(1.01);
    transition: opacity 0.4s ease, transform 0.5s ease;
}

/* --- Right Panel --- */
.ts-right-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
    height: 680px;
    overflow: auto;
}

/* --- Nav Controls --- */
.ts-controls {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.ts-nav-buttons {
    display: flex;
    gap: 10px;
}

.ts-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #dde4ef;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #3a4a6b;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.ts-btn:hover {
    background: #f3f6fb;
    border-color: #b0bed6;
    color: #111A31;
}

.ts-btn:disabled,
.ts-btn.ts-disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.ts-btn:focus-visible {
    outline: 2px solid #D63C3C;
    outline-offset: 2px;
}

/* --- Counter --- */
.ts-counter {
    font-family: 'Outfit SemiBold', sans-serif;
    font-size: 9px;
    color: rgba(145, 161, 184, 1);
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

/* --- Thumbnail Track --- */
.ts-thumbnails-wrapper {
    flex: 1;
    overflow: hidden;
    position: relative;
}

.ts-thumbnails-track {
    display: flex;
    flex-direction: column;
    gap: 14px;
    transform: translateY(0);
    transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.ts-thumb {
    border-radius: 14px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    aspect-ratio: 16 / 9;
}

.ts-thumb::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(8, 12, 30, 0.45);
    border-radius: 14px;
    transition: background 0.25s ease;
}

.ts-thumb.active::after {
    background: rgba(8, 12, 30, 0.1);
}

.ts-thumb:hover::after {
    background: rgba(8, 12, 30, 0.2);
}

.ts-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.ts-thumb:hover img {
    transform: scale(1.03);
}

/* --- Tablet --- */
@media (max-width: 991px) {
    .ts-section {
        padding: 50px 0 60px;
    }

    .ts-body {
        gap: 18px;
    }

    .ts-main-image-wrap {
        flex: 0 0 62%;
        max-width: 62%;
    }

    .ts-heading-line {
        font-size: clamp(2.5rem, 7vw, 4.5rem);
    }
}

/* --- Mobile --- */
@media (max-width: 767px) {
    .ts-section {
        padding: 40px 0 50px;
    }

    .ts-heading {
        margin-bottom: 30px;
    }

    .ts-heading-line {
        font-size: clamp(2.5rem, 12vw, 3.5rem);
    }

    .ts-body {
        flex-direction: column;
        gap: 20px;
    }

    .ts-main-image-wrap {
        flex: none;
        max-width: 100%;
        width: 100%;
        aspect-ratio: 16 / 10;
    }

    .ts-right-panel {
        width: 100%;
        flex-direction: row;
        align-items: flex-start;
        gap: 14px;
    }

    .ts-controls {
        flex-direction: column;
        align-items: flex-start;
        flex-shrink: 0;
    }

    .ts-thumbnails-wrapper {
        overflow-x: auto;
        overflow-y: hidden;
    }

    .ts-thumbnails-track {
        flex-direction: row;
        transform: translateX(0) !important;
        transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
    }

    .ts-thumb {
        flex: 0 0 150px;
        width: 150px;
        aspect-ratio: 4 / 3;
    }
}

/* ==========================================
   FASHION SHOWS & RUNWAY FILMS
========================================== */
.fs-wrapper {
    background: radial-gradient(circle at top right, #11091b 0%, #06050a 100%);
    color: #ffffff;
    padding: 80px 0;
    overflow: hidden;
}

/* Heading Badge */
.fs-heading-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #d62828;
    font-size: 10px;
    letter-spacing: .4em;
    text-transform: uppercase;
    padding: 8px 20px 8px 20px;
    border-radius: 50px;
    margin-bottom: 18px;
    font-family: 'Outfit Bold', sans-serif;
}

.fs-heading-badge svg {
    color: #e63946;
    flex-shrink: 0;
}

/* Heading Stack */
.fs-heading-stack {
    line-height: 0.88;
}

.fs-title-top,
.fs-title-mid {
    letter-spacing: -.05em;
    font-size: 8rem;
    color: #ffffff;
    line-height: 0.8;
    display: block;
    text-transform: uppercase;
    font-style: normal;
    font-family: 'Outfit Bold', sans-serif;
}

.fs-title-bottom {
    font-size: clamp(3.5rem, 8vw, 7rem);
    line-height: 0.9;
    display: block;
    color: #d62828;
}

.fs-title-bottom em {
    font-style: italic;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-weight: 900;
    font-size: 8rem;
    letter-spacing: -.05em;
    color: #d62828;
}

.fs-supporting-text {
    font-size: 0.9rem;
    color: rgba(145, 162, 186, 1);
    line-height: 1.5;
    border-right: 2px solid#521622;
    padding-right: 20px;
}

.fs-supporting-films {
    font-size: .875rem;
    color: rgba(145, 162, 186, 1);
    line-height: 1.625;
}

.fs-nav-buttons {
    display: inline-flex;
    gap: 10px;
}

.fs-btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.fs-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.4);
}

.fs-btn:disabled,
.fs-btn.disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Slider Track */
.fs-slider-wrapper {
    overflow: hidden;
    margin: 0 -10px;
    padding: 0 10px;
}

.fs-slider-track {
    display: flex;
    gap: 20px;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.fs-slide {
    flex: 0 0 calc(25% - 15px);
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.fs-slide.active,
.fs-slide:hover {
    opacity: 1;
}

.fs-slide.active {
    border-color: #4a4a4a;
}

.fs-slide img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
}

/* Featured Area */
.fs-featured-card {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 20px;
}

.fs-featured-img-wrap {
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    min-height: 400px;
}

.fs-featured-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease;
}

.fs-featured-img.fs-fade-out {
    opacity: 0;
}

.fs-featured-content {
    padding: 40px;
}

.fs-featured-title {
    font-size: 3.75rem;
    font-style: italic;
    line-height: 1.1;
    margin-bottom: 20px;
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
}

.fs-featured-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.fs-featured-desc {
    color: rgba(145, 162, 186, 1);
    font-size: 1.25rem;
    margin-bottom: 30px;
    max-width: 420px;
    line-height: 1.6;
    font-family: 'Outfit Medium', sans-serif;
    border-left: 2px solid #521622;
    padding-left: 20px;
}

.fs-cta-btn {
    background: #e63946;
    color: #fff;
    border: none;
    padding: 18px 40px;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 18px;
    margin-right: 30px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.fs-cta-btn:hover {
    background: #fff;
    color: #000;
}

.fs-pagination {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fs-pagination .dot {
    width: 6px;
    height: 6px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transition: all 0.3s ease;
}

.fs-pagination .dot.active {
    background: #e63946;
    width: 20px;
    border-radius: 10px;
}

/* Films Section */
.fs-badge {
    color: #144c88;
    letter-spacing: .4em;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
}

.fs-title-inline {
    font-size: 3.75rem;
    font-weight: 800;
    letter-spacing: -.05em;
    line-height: 1;
}

.fs-title-inline span {
    font-family: 'Outfit Bold', sans-serif !important;
}

.fs-title-white {
    color: #ffffff;
}

.fs-title-blue {
    color: #2b70a7;
}

.fs-video-card {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.05);
    max-width: 550px;
    margin: 0 auto;
}

.fs-video-wrap {
    aspect-ratio: 9 / 16;
    background-color: #0F172A;
    border-radius: 28px;
    overflow: hidden;
    position: relative;
    height: 980px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.1);
    width: 100%;
}

.fs-video-wrap .difference-video {
    height: 100%;
    width: 550px;
}

.fs-video-poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.fs-video-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
}

.fs-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.fs-play-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%) scale(1.05);
}

/* Responsive */
@media (max-width: 1199px) {
    .fs-featured-title {
        font-size: 2.5rem;
    }
}

@media (max-width: 991px) {
    .fs-slide {
        flex: 0 0 calc(33.333% - 13.33px);
    }

    .fs-featured-content {
        padding: 30px;
    }
}

@media (max-width: 767px) {
    .fs-slide {
        flex: 0 0 calc(50% - 10px);
    }

    .fs-featured-img-wrap {
        min-height: 250px;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .fs-featured-content {
        padding: 20px;
    }

    .fs-header {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .fs-header-right {
        text-align: left !important;
        margin-top: 20px;
    }

    .fs-films-header {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .fs-films-right {
        text-align: left !important;
        margin-top: 20px;
    }

    .fs-video-card {
        max-width: 100%;
    }

    .fs-video-wrap {
        aspect-ratio: 4 / 5;
    }
}

/* ==========================================
   EVENT STATISTICS SECTION
========================================== */
.ev-stats-section {
    background: #ffffff;
    padding: 70px 0;
}

.ev-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    text-align: center;
}

.ev-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.ev-stat-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(246, 248, 250, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e63946;
    flex-shrink: 0;
    margin-bottom: 4px;
    border: 1px solid rgb(243, 246, 249);
}

.ev-stat-number {
    font-size: 2.25rem;
    color: #0f172a;
    line-height: 1;
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
}

.ev-stat-label {
    font-size: 10px;
    letter-spacing: .1em;
    color: rgba(145, 162, 186, 1);
    text-transform: uppercase;
    font-family: 'Outfit SemiBold', sans-serif;
}

/* ==========================================
   BECOME THE NEXT HIGHLIGHT � CTA
========================================== */
.ev-cta-section {
    background: #ffffff;
    padding: 0 0 80px;
}

.ev-cta-card {
    background: #0d0b1a;
    border-radius: 50px;
    padding: 100px 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.ev-cta-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 50% 100%, rgba(180, 30, 50, 0.35) 0%, transparent 70%);
    pointer-events: none;
}

.ev-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
}

.ev-cta-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 28px;
    line-height: 1;
    gap: 2px;
}

.ev-cta-line1 {
    font-size: 4.5rem;
    color: #ffffff;
    letter-spacing: -.05em;
    text-transform: uppercase;
    display: block;
    font-family: 'Outfit Bold', sans-serif;
}

.ev-cta-line2 {
    font-size: 4.5rem;
    letter-spacing: -.05em;
    text-transform: uppercase;
    display: block;
    background: linear-gradient(90deg, #e63946 0%, #c0392b 35%, #5b6fa6 70%, #38b2ac 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-family: 'Outfit Bold', sans-serif;
}

.ev-cta-desc {
    color: rgba(145, 162, 186, 1);
    font-size: 1.125rem;
    line-height: 1.7;
    margin-bottom: 40px;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    font-family: 'Outfit Medium', sans-serif;
}

.ev-cta-btn {
    display: inline-block;
    background: #e63946;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 18px 52px;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 10px 40px rgba(230, 57, 70, 0.45);
}

.ev-cta-btn:hover {
    background: #ffffff;
    color: #0d0b1a;
    box-shadow: 0 14px 50px rgba(255, 255, 255, 0.15);
}

/* Responsive */
@media (max-width: 991px) {
    .ev-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 20px;
    }

    .ev-cta-card {
        padding: 60px 30px;
    }
}

@media (max-width: 575px) {
    .ev-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 36px 16px;
    }

    .ev-stat-number {
        font-size: 2.2rem;
    }

    .ev-cta-card {
        padding: 48px 20px;
        border-radius: 20px;
    }

    .ev-cta-btn {
        padding: 16px 36px;
        width: 100%;
        text-align: center;
    }
}

/* ==========================================
   COURSE APPLY NOW PAGE  (.caf-)
========================================== */

/* ---- Hero ---- */
.caf-hero {
    background: #07091a;
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 130px 24px 200px;
    position: relative;
    overflow: hidden;
    margin-top: -82px;
}

/* Very subtle red glow from bottom center — matches the reference */
.caf-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 55% 40% at 50% 120%, rgba(200, 30, 40, 0.16) 0%, transparent 70%);
    pointer-events: none;
}

.caf-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
}

/* Circular badge — dark charcoal, red icon */
.caf-hero-badge {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #1a1f30;
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 46px;
    color: #e63946;
}

.caf-hero-badge svg {
    color: #d62828 !important;
    width: 30px !important;
    height: 30px !important;
}

.caf-hero-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 28px;
    line-height: 0.88;
    gap: 0;
}

/* YOUR FUTURE — extra-bold white sans-serif */
.caf-title-white {
    display: block;
    font-size: clamp(3.2rem, 9vw, 8rem);
    color: #ffffff;
    letter-spacing: -.05em;
    text-transform: uppercase;
    line-height: 0.9;
    font-family: 'Outfit Bold', sans-serif;
}

/* WON'T WAIT — bold red italic serif */
.caf-title-red {
    display: block;
    font-size: clamp(3.2rem, 9vw, 8rem);
    font-weight: 900;
    font-style: italic;
    font-family: Georgia, 'Times New Roman', Times, serif;
    color: #d62828;
    letter-spacing: -.05em;
    text-transform: uppercase;
    line-height: 0.9;
}

/* Subtitle — soft muted gray, italic */
.caf-hero-sub {
    font-size: 1.875rem;
    color: rgba(139, 155, 179, 1);
    margin: 0;
    letter-spacing: 0.01em;
    font-family: 'Outfit Medium', sans-serif;
    line-height: 1.625;
}

/* ---- Form Section ---- */
.caf-form-section {
    background: #eeeff2;
    padding: 100px 0 80px;
}

.caf-form-card {
    background: #0d0f14;
    border-radius: 35px;
    padding: 60px 250px;
    max-width: 1150px;
    margin: 0 auto;
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.25);
}

.caf-form-header {
    text-align: center;
    margin-bottom: 40px;
}

.caf-form-eyebrow {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    color: #e63946;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.caf-form-title {
    font-size: clamp(2rem, 5vw, 4.5rem);
    color: #ffffff;
    letter-spacing: -.05em;
    text-transform: uppercase;
    margin-bottom: 25px;
    line-height: 1;
    font-family: 'Outfit Bold', sans-serif;
}

.caf-form-desc {
    font-size: 1.125rem;
    color: rgba(148, 163, 184, 0.85);
    margin: 0;
}

/* ---- Field Wrapper ---- */
.caf-field-wrap {
    margin-bottom: 14px;
}

.caf-row {
    margin-bottom: 14px;
}

/* ---- Input Group ---- */
.caf-input-group {
    display: flex;
    align-items: center;
    background: #181b24;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    height: 52px;
    padding: 0 16px;
    transition: border-color 0.25s ease;
    position: relative;
}

.caf-input-group.caf-invalid,
.caf-consent-wrap.caf-invalid .caf-consent-text {
    border-color: #dc2626;
    color: #f87171;
}

.caf-form .expert-form-message {
    margin-bottom: 20px;
}

.caf-input-group:focus-within {
    border-color: rgba(230, 57, 70, 0.5);
}

.caf-input-icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: rgba(148, 163, 184, 0.55);
    margin-right: 12px;
}

/* ---- Text / Email Input ---- */
.caf-input {
    background: transparent;
    border: none;
    outline: none;
    color: #e2e8f0;
    font-size: 0.875rem;
    width: 100%;
    height: 100%;
    padding: 0;
}

.caf-input::placeholder {
    color: rgba(148, 163, 184, 0.45);
}

/* ---- Phone Group ---- */
.caf-phone-prefix {
    font-size: 0.875rem;
    color: rgba(226, 232, 240, 0.75);
    font-weight: 600;
    flex-shrink: 0;
    letter-spacing: 0.02em;
}

.caf-phone-divider {
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.12);
    margin: 0 12px;
    flex-shrink: 0;
}

.caf-phone-input {
    flex: 1;
}

/* ---- Select Group ---- */
.caf-select-group {
    cursor: pointer;
}

.caf-select {
    background: transparent;
    border: none;
    outline: none;
    color: rgba(148, 163, 184, 0.55);
    font-size: 0.875rem;
    width: 100%;
    height: 100%;
    padding: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.caf-select option {
    background: #181b24;
    color: #e2e8f0;
}

.caf-select:valid:not(:disabled) {
    color: #e2e8f0;
}

.caf-select-arrow {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: rgba(148, 163, 184, 0.45);
    pointer-events: none;
    margin-left: 8px;
}

/* ---- Consent ---- */
.caf-consent-wrap {
    margin: 60px 0 30px;
    display: flex;
    justify-content: center;
}

.caf-consent-label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}

.caf-consent-check {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: #e63946;
    border-radius: 4px;
    cursor: pointer;
}

.caf-consent-text {
    font-size: 0.875rem;
    color: rgba(148, 163, 184, 0.65);
    line-height: 1.4;
}

/* ---- Submit Button ---- */
.caf-submit-wrap {
    text-align: center;
}

.caf-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #e63946;
    color: #ffffff;
    font-size: 1.5rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    border: none;
    outline: none;
    padding: 30px 120px;
    border-radius: 50px;
    min-width: 280px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 8px 30px rgba(230, 57, 70, 0.4);
    font-family: 'Outfit Bold', sans-serif;
}

.caf-submit-btn:hover {
    background: #c62e3b;
    box-shadow: 0 12px 40px rgba(230, 57, 70, 0.55);
    transform: translateY(-2px);
}

.caf-submit-btn:active {
    transform: translateY(0);
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .caf-form-card {
        padding: 44px 36px;
    }
}

@media (max-width: 767px) {
    .caf-hero {
        min-height: 45vh;
        padding: 80px 20px 60px;
    }

    .caf-form-card {
        padding: 36px 22px;
        border-radius: 18px;
    }

    .caf-submit-btn {
        min-width: unset;
        width: 100%;
        padding: 18px 24px;
    }

    .caf-consent-wrap {
        justify-content: flex-start;
    }

    .caf-form-section {
        padding: 40px 0 60px;
    }
}

@media (max-width: 480px) {
    .caf-hero-badge {
        width: 48px;
        height: 48px;
    }
}
/* Uploaded menu icon (CMS page "Menu icon") inside a header dropdown item */
.dropdown-icon-box img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}


/* =========================================================
   STUDENT PAGE HEADER OVERRIDES (transparent header over the dark hero)
========================================================= */
.page-student .insd-header:not(.header-scrolled) .insd-navbar-logo img,
.page-student .insd-mobile-header:not(.header-scrolled) .insd-mobile-logo img {
    filter: brightness(0) invert(1);
}

.page-student .insd-header:not(.header-scrolled) .insd-desktop-navigation .nav-link .main-nav,
.page-student .insd-header:not(.header-scrolled) .insd-desktop-navigation .nav-link .hover-nav,
.page-student .insd-header:not(.header-scrolled) .insd-desktop-navigation .nav-link,
.page-student .insd-header:not(.header-scrolled) .insd-desktop-navigation .nav-link i {
    color: #ffffff;
}

.page-student .insd-header:not(.header-scrolled) .insd-apply-btn {
    background: #ffffff;
    color: #000000;
}

.page-student .insd-header:not(.header-scrolled) .insd-apply-btn:hover {
    color: #ffffff;
}


/* ==========================================================================
   STUDENT PAGE REDESIGN
   ========================================================================== */

.student-page {
    font-family: 'Outfit', sans-serif;
    color: #050505;
    background-color: #F5F5F5;
    overflow-x: hidden;
    margin-top: -82px;
}

.student-page .student-text-red {
    color: #E53935;
}

.student-page .student-text-left {
    text-align: left;
}

.student-page .student-section-title {
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: -.05em;
    margin-bottom: 30px;
    font-size: clamp(2.5rem, 10vw, 6rem);
    font-family: 'Outfit Bold', sans-serif;
}

.student-page .student-section-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.student-page .student-section-subtitle {
    letter-spacing: -.025em;
    color: #db3436 !important;
    font-size: clamp(1.25rem, 3.5vw, 1.75rem);
    font-family: 'Outfit Bold', sans-serif;
}

.student-page .student-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    border-radius: 50px;
    transition: all 0.3s ease;
    text-decoration: none;
    border: 2px solid transparent;
    font-family: 'Outfit SemiBold', sans-serif;
}

.student-page .student-btn-primary {
    background-color: #E53935;
    color: #FFF;
}

.student-page .student-btn-primary:hover {
    background-color: #c62e3b;
    color: #FFF;
    transform: translateY(-2px);
}

.student-page .student-btn-dark-glass {
    background-color: rgba(30, 30, 35, 0.7);
    color: #FFF;
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.student-page .student-btn-dark-glass:hover {
    background-color: rgba(40, 40, 45, 0.9);
    color: #FFF;
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
}

.student-page .student-btn-outline {
    background-color: transparent;
    color: #FFF;
    border-color: #FFF;
}

.student-page .student-btn-outline:hover {
    background-color: #FFF;
    color: #050505;
}

.student-page .student-btn-outline-light {
    border-color: rgba(255, 255, 255, 0.3);
    color: #FFF;
}

.student-page .student-btn-outline-light:hover {
    background-color: #FFF;
    color: #050505;
}

/* ---- Section 1: Hero ---- */
.student-hero {
    position: relative;
    height: 100vh;
    min-height: 600px;
    width: 100%;
    color: #FFF;
    overflow: hidden;
}

.student-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.student-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.student-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to left, rgba(2, 1, 23, 0.4) 0%, rgba(4, 1, 18, 0.9) 100%);
}

.student-hero-content {
    position: relative;
    z-index: 2;
    /* Offset for header */
}

.student-eyebrow {
    display: inline-flex;
    align-items: center;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .4em;
    margin-bottom: 2rem;
    color: #E53935;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
}

.student-eyebrow::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 2px;
    background-color: #E53935;
    margin-right: 15px;
}

.student-hero-title {
    line-height: .85;
    text-transform: uppercase;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    font-size: clamp(3.5rem, 12vw, 9rem);
    letter-spacing: -.05em;
}

.student-hero-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.title-solid {
    color: #FFF;
    margin-bottom: -5px;
}

.title-outline {
    color: transparent;
    -webkit-text-stroke: 2px #FFF;
    opacity: 0.9;
}

.student-hero-desc {
    max-width: 650px;
    line-height: 1.25;
    margin-bottom: 3.5rem;
    color: #cfd0d3;
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    font-family: 'Outfit Bold', sans-serif;
}

.student-hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

/* ---- Section 2: Skills ---- */
.student-skills {
    padding: 100px 0;
    background-color: #FFF;
}

.student-skill-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.student-skill-img-wrap {
    width: 100%;
    aspect-ratio: 3/4;
    overflow: hidden;

}

.path-shape1 {
    clip-path: polygon(15% 0, 100% 0, 85% 100%, 0% 100%);
}

.path-shape2 {
    clip-path: polygon(0 0, 85% 0, 100% 100%, 15% 100%);
}

.student-skill-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    -webkit-transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.student-skill-img-wrap:hover img {
    -webkit-transform: scale(1.15) !important;
    transform: scale(1.15) !important;
}

.student-skill-title {
    margin-top: 20px;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
    letter-spacing: -.05em;
    color: #0b132a;
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(1.25rem, 3.5vw, 1.75rem);
    padding-right: 25px;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    transition: 0.5s all;
}

.student-skill-card:hover .student-skill-title {
    color: #E53935
}

.student-skill-cat {
    font-size: clamp(.75rem, 1.5vw, .875rem);
    color: rgba(145, 161, 183, 1);
    text-transform: uppercase;
    letter-spacing: .2em;
    margin: 0;
    font-family: 'Outfit Bold', sans-serif;
    margin-top: -10px;
}

/* ---- Section 3: Expertise ---- */
.student-expertise {
    position: relative;
    padding: 120px 0;
    background-color: #050505;
    color: #FFF;
    overflow: hidden;
    min-height: 60vh;
    display: flex;
    align-items: center;
}

@keyframes marqueeText {
    0% {
        transform: translate3d(0%, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

.student-expertise-bg-text {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100vw;
    overflow: hidden;
    transform: translateY(-50%);
    font-size: clamp(8rem, 20vw, 25rem);
    color: rgba(255, 255, 255, 0.03);
    z-index: 1;
    pointer-events: none;
    text-transform: uppercase;
}

.student-expertise-bg-text span {
    font-family: 'Outfit Bold', sans-serif;
    transform: rotate(-3deg);
    transform-origin: center;
}

.expertise-marquee {
    display: flex;
    width: max-content;
    white-space: nowrap;
    animation: marqueeText 500s linear infinite;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    perspective: 1000;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    height: 800px;
}

.student-expertise-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.expertise-eyebrow {
    border: 1px solid rgba(229, 57, 53, 0.4);
    border-radius: 50px;
    padding: 10px 30px;
    font-size: clamp(.75rem, 1.5vw, .875rem);
    color: #E53935;
    text-transform: uppercase;
    letter-spacing: 0.6em;
    margin-bottom: 3rem;
    font-family: 'Outfit Bold', sans-serif;
}

.student-expertise-title {
    line-height: 0.8;
    margin-bottom: 4rem;
    text-align: center;
}

.title-learn,
.title-expertise {
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(3.5rem, 12vw, 9rem);
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: -.05em;
    line-height: .85;
}

.title-from {
    font-family: 'Georgia', serif;
    font-size: clamp(3.5rem, 12vw, 9rem);
    color: #E53935;
    font-style: italic;
    text-transform: uppercase;
    letter-spacing: -.05em;
    margin: -0.5rem 0;
    font-weight: 900;
}

.student-expertise-card {
    background: rgba(15, 15, 15, 0.5);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 60px 80px;
    border-radius: 40px;
    max-width: 900px;
    margin: 0 auto;
}

.expertise-card-eyebrow {
    font-size: clamp(0.75rem, 1.5vw, 0.875rem);
    color: #E53935;
    text-transform: uppercase;
    letter-spacing: 0.4em;
    font-weight: 800;
    margin-bottom: 2rem;
    font-family: 'Outfit Bold', sans-serif;
}

.expertise-card-title {
    font-size: clamp(2.5rem, 10vw, 6rem);
    color: #FFFFFF;
    margin: 0;
    line-height: 1;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.expertise-card-subtitle {
    font-size: clamp(2.5rem, 10vw, 6rem);
    color: transparent;
    -webkit-text-stroke: 1px #FFFFFF;
    font-style: italic;
    margin: 0;
    margin-bottom: 2.7rem;
    line-height: 1;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.expertise-card-features {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
    flex-wrap: wrap;
}

.expertise-card-features span {
    font-size: clamp(0.75rem, 1.5vw, 0.875rem);
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-family: 'Outfit Bold', sans-serif;
}

/* ---- Section 4: Campus Collage ---- */
.student-campus {
    padding: 100px 0;
    background-color: #FFF;
}

.student-campus-masonry {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    align-items: start;
    position: relative;
}

.campus-center-overlay {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    background: rgba(220, 220, 220, 0.25);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 30px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    width: clamp(280px, 45vw, 500px);
    padding: clamp(30px, 6vw, 70px) clamp(20px, 4vw, 50px);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: 1px solid#000;
}

.campus-center-text {
    font-family: 'Outfit Bold', sans-serif;
    font-weight: 900;
    font-size: clamp(2rem, 7vw, 4rem);
    line-height: 0.9;
    letter-spacing: -.05em;
    text-transform: uppercase;
    margin: 0;
    background: linear-gradient(135deg, #E53935 0%, #B71C1C 30%, #6A1B9A 70%, #283593 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

@media (max-width: 991px) {
    .campus-center-overlay {
        width: clamp(280px, 70vw, 500px);
    }
}

@media (max-width: 767px) {
    .campus-center-overlay {
        width: 85%;
        padding: 40px 20px;
    }

    .campus-center-text {
        font-size: clamp(2rem, 8vw, 3.5rem);
    }
}

.campus-col {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.campus-img-wrap {
    width: 100%;
    min-height: 200px;
    border-radius: 8px;
    overflow: hidden;
    background: #F5F5F5;
}

.campus-img-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

/* ---- Section 5: Workshops (Mixed Media) ---- */
.student-workshops {
    background-color: #070913;
    /* Very dark navy/near-black */
    color: #FFF;
    padding: 100px 0;
}

.workshop-eyebrow {
    font-size: 0.75rem;
    letter-spacing: .4em;
    color: #E53935;
    font-weight: 700;
}

.workshop-eyebrow::before {
    content: "";
    display: inline-block;
    width: 60px;
    height: 1px;
    background-color: #E53935;
    margin-right: 15px;
    margin-bottom: 3px !important
}

.workshop-section-title span {
    font-size: clamp(2.5rem, 10vw, 6rem);
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
}

.workshop-quote {
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    line-height: 1.4;
    color: rgba(148, 165, 189, 1) !important;
    text-align: right !important;
}

.workshop-featured-media-wrapper {
    position: relative;
    border-radius: 50px;
    overflow: hidden;
    aspect-ratio: 16/9;
    background: #111;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.workshop-featured-media {
    width: 100%;
    height: 100%;
}

.workshop-featured-media img,
.workshop-featured-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.workshop-featured-media .owl-carousel,
.workshop-featured-media .owl-stage-outer,
.workshop-featured-media .owl-stage,
.workshop-featured-media .owl-item {
    height: 100%;
}

.workshop-featured-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 60px 40px 40px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.6) 50%, transparent 100%);
    pointer-events: none;
    /* Let clicks pass to video controls if any */
    z-index: 5;
}

.workshop-overlay-label {
    font-size: 0.7rem;
}

.workshop-overlay-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(2rem, 7vw, 4rem);
    letter-spacing: -.05em;
}

.workshop-overlay-desc {
    font-size: clamp(.875rem, 2vw, 1rem);
    line-height: 1.5;
    max-width: 80%;
    color: #aaabb0 !important;
}

/* Tabs & Controls */
.workshop-range-indicator span {
    font-family: 'Outfit Bold', sans-serif;
}

.workshop-tab-item {
    position: relative;
    aspect-ratio: 1/1;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.workshop-tab-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.4;
    transition: opacity 0.3s ease;
    filter: grayscale(80%) brightness(0.6);
}

.workshop-tab-item:hover img {
    opacity: 0.7;
    filter: grayscale(40%) brightness(0.8);
}

.workshop-tab-item.active {
    border-color: #E53935;
    box-shadow: 0 0 20px rgba(229, 57, 53, 0.3);
}

.workshop-tab-item.active img {
    opacity: 1;
    filter: grayscale(0%) brightness(1);
}

.workshop-tab-item .video-indicator {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFF;
    font-size: 1.5rem;
    opacity: 0.6;
    transition: all 0.3s ease;
}

.workshop-tab-item.active .video-indicator {
    opacity: 0;
    /* Hide indicator when active */
}

.workshop-nav-btn {
    height: 60px;
    transition: all 0.3s ease;
}

.workshop-nav-btn.prev {
    width: 60px;
    border-color: rgba(255, 255, 255, 0.2);
    color: #FFF;
}

.workshop-nav-btn.prev:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.4);
}

.workshop-nav-btn.next {
    background: #FFF;
    color: #000;
    display: block !important;
    font-size: .75em !important;
}

.workshop-nav-btn.next:hover {
    background: #F0F0F0;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.1);
}

/* Custom Owl Dots for Workshop Media */
.workshop-carousel-controls {
    pointer-events: auto;
    margin-bottom: -15px !important;
    /* Re-enable clicks for the whole control container */
}

.workshop-carousel-controls .owl-dots {
    display: flex;
    gap: 5px;
}

.workshop-carousel-controls .owl-dot {
    width: 35px;
    height: 20px;
    /* Taller hit area for easier clicking */
    background: transparent !important;
    border: none;
    padding: 0;
    position: relative;
    cursor: pointer;
}

.workshop-carousel-controls .owl-dot::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: 3px;
    background: rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.workshop-carousel-controls .owl-dot.active::after {
    background: #E53935;
}

.workshop-nav-buttons {
    margin-top: 50px !important;
}

/* ---- Section 6: Journey ---- */
.student-journey {
    padding: 100px 0;
    background-color: #FFF;
}

.student-journey-card {
    background: transparent;
    border-radius: 0;
    overflow: visible;
    height: 100%;
}

.student-journey-card:hover .journey-img-wrap img {
    transform: scale(1.1) !important;
    transition: all 0.3s ease-in-out;
}

.journey-title-main {
    color: #0F172A !important;
}

.journey-subtitle {
    color: #D97706 !important;
}

.journey-content {
    padding: 0 10px;
    height: 55px;
}

.journey-line {
    width: 30px;
    height: 2px;
    background-color: #E53935;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
}

.student-journey-card:hover .journey-line {
    width: 80px;
    height: 4px;
}

.journey-title {
    color: #0F172A;
    font-size: 1.125rem;
    letter-spacing: .05em;
    font-family: 'Outfit Bold', sans-serif;
}

.journey-img-wrap {
    aspect-ratio: 4/5;
    /* Adjust aspect ratio if needed, or stick to 3/4 */
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.journey-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease-in-out;
}

.student-journey-card:hover .journey-img-wrap img,
.student-journey-card.hover-active .journey-img-wrap img {
    transform: scale(1.08);
}


/* ---- Section 7: Sectors ---- */
.student-sectors {
    padding: 100px 0;
    background-color: #FFF;
}

.sector-eyebrow {
    color: #E53935;
    font-size: .75rem;
    letter-spacing: .4em;
    text-transform: uppercase;
    font-family: 'Outfit Bold', sans-serif;
}

.sector-main-title {
    line-height: 0.95;
    margin-bottom: 0;
    font-family: 'Outfit Bold', sans-serif;
}

.sector-word-dark {
    color: #0F172A;
    font-size: clamp(2.5rem, 10vw, 6rem);
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
    line-height: .85;
}

.sector-word-italic {
    color: rgba(51, 67, 91, 1) !important;
    font-family: 'Playfair Display', Georgia, serif;
    font-style: italic;
    font-weight: 900;
    font-size: clamp(2.5rem, 10vw, 6rem);
}

.sector-word-red {
    color: #E53935;
    font-size: clamp(2.5rem, 10vw, 6rem);
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
    line-height: .85;
}

.sector-accent-line {
    width: 80px;
    height: 6px;
    background-color: #E53935;
    border-radius: 2px;
    margin-top: 25px !important;
}

.sector-card {
    text-align: center;
    cursor: pointer;
}

.sector-img-wrap {
    aspect-ratio: 1 / 3;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.sector-img-wrap:hover img {
    transform: scale(1.1) !important;
    transition: all 0.3s ease-in-out;
}

.sector-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease-in-out;
}

.sector-card:hover .sector-img-wrap img {
    transform: scale(1.05);
}

.border-red-bottom {
    border-bottom: 4px solid #E53935;
}

.sector-label {
    color: #0F172A;
    font-weight: 800;
    font-size: .75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.5;
}

/* ---- Responsive Adjustments ---- */
@media (max-width: 991px) {
    .student-campus-masonry {
        grid-template-columns: 1fr 1fr;
    }

    .campus-col-3 {
        display: none;
    }

    .student-campus-overlay-card {
        width: 130%;
    }

    .student-sector-slider {
        overflow-x: auto;
        padding-bottom: 20px;
    }

    .student-expertise-bg-text {
        font-size: 12rem;
    }
}

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

    .campus-col-2 {
        display: none;
    }

    .student-campus-overlay-card {
        position: relative;
        transform: none;
        top: 0;
        left: 0;
        width: 100%;
        margin: 30px 0;
    }

    .campus-col-3 {
        display: flex;
    }

    .student-hero-title {
        font-size: 3.5rem;
    }

    .title-outline {
        -webkit-text-stroke: 1px #FFF;
    }

    .student-expertise-bg-text {
        font-size: 6rem;
    }

    .student-expertise-card {
        padding: 30px;
        width: 90%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .student-page * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================
   PLACEMENT PAGE
========================================================= */
.placement-hero {
    background: linear-gradient(to bottom, #fff 0%, #f6f7f8 100%);
    padding: 100px 0;
    border-bottom: 2px solid #eef1f5;
}

.career-outcomes-label {
    font-size: .75rem;
    letter-spacing: .2em;
    font-weight: 700;
    color: rgba(30, 42, 63, 1);
    background: #f1f5f9;
    display: inline-table;
    padding: 7px 20px;
    border-radius: 50px;
    border: 1px solid #e2e8f0;
}

.hero-main-title {
    font-size: clamp(32px, 5vw, 5rem);
    line-height: .85;
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
}

.hero-main-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.text-sec {
    color: #134b85;
}

.hero-subtext {
    font-size: 1.5rem;
    color: rgba(71, 87, 111, 1);
    max-width: 800px;
    font-family: 'Outfit Medium', sans-serif;
}

.placement-stats-banner {
    padding: 100px 0;
}

.placement-stats-banner .stats-banner-title {
    font-size: clamp(28px, 4vw, 3em);
    line-height: 1.2;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: -.05em;
}

.placement-stats-banner .stats-banner-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.text-decoration-underline-custom {
    text-decoration: underline;
    text-decoration-color: var(--insd-red);
    text-decoration-thickness: 4px;
    text-underline-offset: 6px;
}

.pill-red {
    background-color: #ffe8e8;
    color: var(--insd-red);
    font-size: 1.125rem;
    padding: 8px 24px;
    border-radius: 50px;
    letter-spacing: .15em;
    font-family: 'Outfit Bold', sans-serif;
}

.pill-dark {
    color: #101b34;
    font-size: 1.875rem;
    letter-spacing: 0.5px;
    font-family: 'Outfit Bold', sans-serif;
}

.pill-dark span {
    font-family: 'Outfit Bold', sans-serif;
}

.recruiter-stats-section {
    background-color: rgba(2, 6, 26, 1);
    overflow: hidden;
    padding: 150px 0;
}

.global-network-label {
    letter-spacing: .4em;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    margin-bottom: 40px;
}

.global-network-label::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: #E53935;
    margin-right: 15px;
    margin-bottom: 4px;
}

.global-network-label::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: #E53935;
    margin-left: 15px;
    margin-bottom: 4px;
}

.italic-script {
    font-family: 'Georgia', serif;
    font-style: italic;
    font-weight: normal;
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 255, 255, 1);
}

.recruiter-title {
    font-size: 6rem;
    font-weight: 900;
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
    line-height: 1;
}

.recruiter-subtext {
    font-size: 1.25rem;
    max-width: 650px;
    line-height: 1.625;
    color: rgba(144, 161, 184, 1) !important;
    font-family: 'Outfit Medium', sans-serif;
    margin-top: 45px;
}

/* Marquee */
.marquee-wrapper {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}

.white-marquee {
    background: #fff;
    padding: 30px 0;
    margin-top: 100px;
}

.dark-marquee {
    background: #0f172b;
    padding: 30px 0;
}

.marquee-track {
    display: inline-block;
    animation: scrollLeft 60s linear infinite;
}

.marquee-track-reverse {
    display: inline-block;
    animation: scrollRight 60s linear infinite;
}

.marquee-content {
    display: inline-flex;
    align-items: center;
    gap: 40px;
    padding-right: 40px;
}

.logo-text {
    font-size: 3rem;
    letter-spacing: -.025em;
    font-family: 'Outfit Bold', sans-serif;
}

.white-marquee .logo-text {
    color: rgba(17, 26, 48, 1);
}

.dark-marquee .logo-text {
    color: rgba(255, 255, 255, 0.4);
}

.marquee-content .dot {
    font-size: 30px;
    opacity: 0.3;
}

@keyframes scrollLeft {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes scrollRight {
    0% {
        transform: translateX(-50%);
    }

    100% {
        transform: translateX(0);
    }
}

/* Stat Cards */
.placement3 {
    margin-top: 100px;
}

.stat-card {
    padding: 40px;
    border-radius: 30px;
    position: relative;
    transition: all 0.3s ease;
    overflow: hidden;
}

.stat-card.dark-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.stat-card.dark-card:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-5px);
}

.stat-card.dark-card svg {
    color: var(--insd-red);
    stroke: var(--insd-red);
    margin-bottom: 30px;
    width: 40px;
    height: 30px;
}

.stat-card.dark-card h3 {
    color: #fff !important;
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 2.25rem;
}

.stat-card.dark-card p {
    font-size: .75rem;
    letter-spacing: .1em;
    font-family: 'Outfit Bold', sans-serif;
}

.stat-card.red-card {
    background: var(--insd-red);
    cursor: pointer;
}

.stat-card.red-card:hover {
    background: #c92527;
    transform: translateY(-5px);
}

.stat-card.red-card svg {
    color: #fff;
    stroke: #fff;
    margin-bottom: 30px;
    width: 40px;
    height: 30px;
}

.stat-card.red-card h3 {
    color: #fff !important;
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.5rem;
}

.stat-card.red-card p {
    font-size: .75rem;
    letter-spacing: .1em;
    font-family: 'Outfit Bold', sans-serif;
}

/* Testimonials Updates */
.testimonials-section {
    background-color: #f3f4f6;
    padding: 130px 0 100px;
}

.transformation-label {
    font-size: .75rem;
    letter-spacing: .4em;
    color: #E53935;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
}

.transformation-label::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: #E53935;
    margin-right: 15px;
    vertical-align: middle;
}

.voices-title {
    font-size: 6rem;
    line-height: 1;
    letter-spacing: -.05em;
    font-family: 'Outfit Bold', sans-serif;
    color: rgb(18, 27, 50);
}

.voices-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.voices-title .italic-script {
    -webkit-text-stroke: 0;
    font-family: 'Georgia', serif;
    font-style: italic;
    font-weight: 900;
}

.voices-subtext {
    font-size: 2.25rem;
    color: rgb(18, 27, 50);
    font-family: 'Outfit Bold', sans-serif;
    line-height: 1.25;
    max-width: 800px;
    letter-spacing: -.025em;
    margin-top: 50px;
}

.voices-subtext span {
    font-family: 'Outfit Bold', sans-serif;
}

/* Horizontal Scroll Container */
.horizontal-scroll-container {
    display: flex;
    overflow-x: auto;
    gap: 1rem;
    padding-bottom: 2rem;
    padding-top: 1rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.horizontal-scroll-container::-webkit-scrollbar {
    height: 8px;
}

.horizontal-scroll-container::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 4px;
}

.student-card-wrapper {
    flex: 0 0 240px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
}

.student-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.scw {
    padding: 0 20px 10px 20px;
}

.student-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.student-card .img-wrapper {
    position: relative;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    height: 200px;
}

.student-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-badge {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(17, 24, 39, 0.7);
    color: #fff;
    font-size: 0.6rem;
    font-family: 'Outfit Bold', sans-serif;
    padding: 4px 10px;
    border-radius: 30px;
    letter-spacing: 0.1em;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.card-name {
    font-size: 1.125rem;
    font-family: 'Outfit Bold', sans-serif;
    color: #111827;
    margin-top: 5px;
    margin-bottom: 0.5rem;
}

.card-quote {
    font-size: .75rem;
    color: rgba(96, 113, 138, 1);
    line-height: 1.425;
    font-family: 'Outfit Medium', sans-serif;
    margin-bottom: 1.5rem;
    font-style: italic;
}

.placed-at-wrapper {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.placed-at-label {
    font-size: 0.6rem;
    color: #9CA3AF;
    letter-spacing: 0.1em;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
}

.placed-at-link {
    font-size: 0.9rem;
    color: #E53935;
    font-family: 'Outfit Bold', sans-serif;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
}

.placed-at-link i {
    font-size: 0.8rem;
}

.placed-at-link:hover {
    color: #c92527;
}

/* Success Record Metrics Banner */
.success-record-label {
    font-size: 10px;
    letter-spacing: .4em;
    color: rgba(144, 161, 184, 1);
    font-family: 'Outfit Bold', sans-serif;
}

.metrics-banner {
    background: #f9f9f9;
    background-color: rgb(249, 249, 249);
    padding: 3rem !important;
    border-radius: 60px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
}

.border-end-custom {
    border-right: 1px solid #E5E7EB;
}

@media (max-width: 768px) {
    .border-end-custom {
        border-right: none;
    }
}

.metric-value {
    font-size: clamp(2rem, 4vw, 3.75rem);
    font-family: 'Outfit Bold', sans-serif;
    color: #111827;
    letter-spacing: -0.05em;
    margin-bottom: 0.5rem;
}

.metric-value span {
    font-family: 'Outfit Bold', sans-serif;
}

.metric-label {
    font-size: .75rem;
    color: rgba(144, 161, 184, 1);
    letter-spacing: .2em;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
    margin-bottom: 0;
}

/* CTA Footer */
.cta-label {
    font-size: 10px;
    letter-spacing: .4em;
    color: rgba(144, 161, 184, 1);
    font-family: 'Outfit Bold', sans-serif;
}

.btn-start-evolution {
    display: inline-block;
    background-color: #111827;
    color: #fff;
    padding: 25px 50px;
    border-radius: 50px;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-start-evolution:hover {
    background-color: #000;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    color: #fff;
}


/* CMS-managed stat cards use a Bootstrap icon (<i>) instead of the static design's inline SVG */
.stat-card .stat-card-icon {
    display: block;
    font-size: 30px;
    line-height: 1;
    margin-bottom: 30px;
}

.stat-card.dark-card .stat-card-icon {
    color: var(--insd-red);
}

.stat-card.red-card .stat-card-icon {
    color: #fff;
}

/* CMS-managed stat icons use a Bootstrap icon (<i>) instead of the static design's inline SVG */
.ev-stat-icon i {
    font-size: 20px;
    line-height: 1;
}

/* Franchise page: CMS-managed feature cards use a Bootstrap icon (<i>) instead of the static design's inline SVG */
.f-feature-icon i {
    font-size: 32px;
    line-height: 1;
    transition: 0.5s all;
}

.franchise-feature-card:hover .f-feature-icon i {
    display: inline-block;
    rotate: 20deg;
    font-size: 55px;
}

/* Franchise enquiry form validation */
.franchise-form .f-input.is-invalid {
    border-color: #dc2626;
}

.franchise-form .expert-form-message {
    margin-bottom: 16px;
}

/* =========================================================
   BLOG PAGE
========================================================= */
.blog-page {
    margin-top: -82px;
}

.blog-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    background-color: #0a0b16;
    overflow: hidden;
    padding: 150px 0;
}

.blog-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.blog-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(5, 9, 42, 0.7);
}

.blog-hero-content {
    position: relative;
    z-index: 2;
}

.blog-eyebrow {
    font-size: 10px;
    letter-spacing: .4em;
    color: #E53935;
    margin-bottom: 1.5rem;
    font-family: 'Outfit Bold', sans-serif;
}

.blog-main-title {
    font-size: clamp(3rem, 8vw, 8rem);
    line-height: 0.9;
    letter-spacing: -0.05em;
    margin-bottom: 0;
}

.blog-main-title span {
    font-family: 'Outfit Bold', sans-serif;
}

.blog-title-gradient {
    background: linear-gradient(to right, #ff3949, #134b87);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* Search Bar */
.blog-search-container {
    max-width: 500px;
    width: 100%;
}

.blog-search-wrapper {
    position: relative;
}

.blog-search-input {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    padding: 15px 20px 15px 50px;
    font-size: 1rem;
    backdrop-filter: blur(10px);
}

.blog-search-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.blog-search-input:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: none;
    color: #fff;
}

.blog-search-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.1rem;
    z-index: 2;
}

.blog-categories {
    max-width: 600px;
    margin: auto;
}

/* Category Tabs */
.blog-cat-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 15px 25px;
    border-radius: 50px;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    font-family: 'Outfit Bold', sans-serif;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.blog-cat-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.blog-cat-btn.active {
    background: #E53935;
    border-color: #E53935;
    color: #fff;
}

/* Blog Grid Section */
.blog-grid-section {
    background-color: #f9f9f9;
}

.blog-card {
    background: #fff;
    border-radius: 20px;
    border: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
}

.blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

.blog-card-img-wrap {
    position: relative;
    height: 240px;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
}

.blog-card-img-wrap img {
    transition: transform 0.5s ease;
}

.blog-card:hover .blog-card-img-wrap img {
    transform: scale(1.05);
}

.blog-card-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    background: #fff;
    color: #111827;
    font-size: 0.6rem;
    font-family: 'Outfit Bold', sans-serif;
    padding: 6px 14px;
    border-radius: 50px;
    letter-spacing: 0.1em;
    z-index: 2;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.blog-meta {
    font-size: 0.7rem;
    color: #9CA3AF;
    font-family: 'Outfit Bold', sans-serif;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.blog-card-title {
    font-size: 1.25rem;
    font-family: 'Outfit Bold', sans-serif;
    color: #111827;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.blog-card-excerpt {
    font-size: 0.875rem;
    color: #6B7280;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-card-footer {
    border-top: 1px solid #f3f4f6;
}

.author-name {
    color: #9CA3AF;
}

/* =========================================================
   BLOG DETAIL PAGE
========================================================= */
.blog-detail-content h2,
.blog-detail-content h3,
.blog-detail-content h4 {
    font-family: 'Outfit Bold', sans-serif;
    color: #111827;
}

.blog-detail-content p {
    color: #4b5563;
    line-height: 1.8;
    font-size: 1.05rem;
    margin-bottom: 1.5rem;
}

.blog-detail-content blockquote {
    color: #111827;
}

.sidebar-link {
    color: #4b5563;
    transition: all 0.3s ease;
}

.sidebar-link:hover {
    background-color: rgba(229, 57, 53, 0.05) !important;
    color: #E53935 !important;
}

.sidebar-link:hover .badge {
    background-color: #E53935 !important;
    color: #fff !important;
}

.recent-blog-item .recent-title {
    transition: color 0.3s ease;
}

.recent-blog-item:hover .recent-title {
    color: #E53935 !important;
}

.share-btn {
    width: 38px;
    height: 38px;
    transition: all 0.3s ease;
}

.share-btn:hover {
    background-color: #E53935 !important;
    color: #fff !important;
}

.blog-detail-featured-img {
    max-height: 500px;
}

.blog-author-avatar-lg {
    width: 45px;
    height: 45px;
    font-size: 18px;
    font-weight: bold;
}

.blog-author-name-lg {
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 1px;
    white-space: nowrap;
}

.blog-share-label {
    font-size: 0.85rem;
    letter-spacing: 1px;
    font-family: 'Outfit Bold', sans-serif;
}

.blog-detail-lead {
    font-size: 1.25rem;
}

.blog-detail-grid-img {
    height: 300px;
}

.blog-sidebar-sticky {
    top: 120px;
    z-index: 10;
}

.sidebar-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.1rem;
    letter-spacing: 0.05em;
}

.recent-blog-img {
    width: 70px;
    height: 70px;
}

.recent-blog-date {
    font-size: 0.75rem;
}

.blog-author-avatar-sm {
    width: 30px;
    height: 30px;
    font-size: 12px;
    font-weight: bold;
}

.blog-author-name-sm {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.blog-card-footer .blog-author {
    min-width: 0;
}

.blog-card-footer .author-avatar {
    flex-shrink: 0;
}

/* =========================================================
   SHORT-TERM COURSE PAGES, MSc LUXURY BRAND MANAGEMENT AND CONTACT US
   (short_* / msc_* / contact_* CMS sections). The heroes sit under the transparent header
   (body.page-course), like .course-hero. Red accent = INSD courses, gold = INSD Luxe.
========================================================= */
.st-hero,
.ct-hero,
.msc-hero {
    position: relative;
    margin-top: -82px;
    display: flex;
    align-items: center;
    background-color: #101b34;
    background-image: url('../images/demo.jpg');
    background-size: cover;
    background-position: center;
    overflow: hidden;
    padding: 190px 0 110px;
}

.ct-hero {
    padding: 170px 0 90px;
}

.st-hero-overlay,
.msc-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(16, 27, 52, .92) 0%, rgba(16, 27, 52, .7) 55%, rgba(0, 0, 0, .55) 100%);
    pointer-events: none;
}

.st-hero-inner,
.msc-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
}

.st-eyebrow {
    display: inline-block;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 11px;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--insd-red);
    margin-bottom: 18px;
}

.st-eyebrow-dark {
    margin-bottom: 12px;
}

.st-hero-title,
.msc-hero-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(3rem, 9vw, 7rem);
    line-height: .95;
    letter-spacing: -.05em;
    text-transform: uppercase;
    color: #ffffff;
    margin: 0 0 24px;
}

.msc-hero-title {
    font-size: clamp(2.6rem, 7vw, 5.5rem);
}

.st-hero-sub,
.msc-hero-sub {
    max-width: 640px;
    font-size: 1.15rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, .78);
    margin-bottom: 38px;
}

.st-hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.st-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    font-family: 'Outfit Bold', sans-serif;
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 15px 38px;
    border-radius: 50px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all .3s ease;
}

.st-btn-red {
    background: var(--insd-red);
    border-color: var(--insd-red);
    color: #ffffff;
}

.st-btn-red:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: var(--insd-red);
}

.st-btn-outline {
    border-color: rgba(255, 255, 255, .6);
    color: #ffffff;
}

.st-btn-outline:hover {
    background: #ffffff;
    color: var(--insd-dark);
}

.st-btn-disabled {
    background: transparent;
    border-color: var(--insd-red);
    color: var(--insd-red);
    cursor: default;
}

.st-btn-disabled:hover {
    background: transparent;
    border-color: var(--insd-red);
    color: var(--insd-red);
}

/* .pd90 only pads the sides, so the content sections carry their own vertical padding */
.st-modules,
.msc-pillars,
.msc-masters,
.msc-advantage,
.ct-section {
    padding: 100px 0;
}

/* Short-term module cards */
.st-modules {
    background: var(--insd-light);
}

.st-section-head {
    margin-bottom: 56px;
}

.st-section-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    letter-spacing: -.05em;
    line-height: 1;
    text-transform: uppercase;
    color: var(--insd-text);
    margin: 0;
}

.st-card {
    height: 100%;
    background: #ffffff;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(16, 27, 52, .07);
    transition: transform .3s ease, box-shadow .3s ease;
}

.st-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 50px rgba(16, 27, 52, .14);
}

.st-card-img {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.st-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.st-card:hover .st-card-img img {
    transform: scale(1.06);
}

.st-card-duration {
    position: absolute;
    left: 18px;
    bottom: 18px;
    background: var(--insd-red);
    color: #ffffff;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 7px 16px;
    border-radius: 50px;
}

.st-card-body {
    position: relative;
    padding: 30px 30px 34px;
}

.st-card-num {
    position: absolute;
    top: 22px;
    right: 28px;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 2.6rem;
    line-height: 1;
    color: rgba(16, 27, 52, .07);
}

.st-card-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.4rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    text-transform: uppercase;
    color: var(--insd-text);
    margin: 0 0 10px;
    padding-right: 50px;
}

.st-card-tools {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--insd-red);
    margin: 0 0 12px;
}

.st-card-desc {
    font-size: .9rem;
    line-height: 1.65;
    color: rgba(69, 85, 108, 1);
    margin: 0;
}

.st-cta {
    background: var(--insd-dark);
    padding: 110px 0;
}

.st-cta-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(2.2rem, 6vw, 4.6rem);
    letter-spacing: -.05em;
    line-height: 1;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 18px;
}

.st-cta-text {
    max-width: 520px;
    margin: 0 auto 36px;
    color: rgba(255, 255, 255, .7);
    font-size: 1.05rem;
}

/* MSc Luxury Brand Management */
.msc-hero {
    background-color: #0b1220;
}

.msc-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 40px;
}

.msc-fact {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 190px;
    padding: 18px 24px;
    border: 1px solid rgba(197, 160, 69, .35);
    border-radius: 20px;
    background: rgba(255, 255, 255, .04);
}

.msc-fact i {
    color: var(--luxe-gold);
    font-size: 20px;
    margin-bottom: 6px;
}

.msc-fact-label {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
}

.msc-fact-value {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.05rem;
    color: #ffffff;
}

.msc-pillars {
    background: var(--luxe-light-bg);
}

.msc-masters {
    background: #ffffff;
}

.msc-section-head {
    margin-bottom: 56px;
}

.msc-section-head .luxe-eyebrow {
    margin-bottom: 12px;
}

.msc-pillar-card {
    border-radius: 32px;
    padding: 40px 32px;
}

.msc-master-card {
    position: relative;
    height: 380px;
    border-radius: 28px;
    overflow: hidden;
    background: #111827;
}

.msc-master-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform .6s ease;
}

.msc-master-card:hover .msc-master-bg {
    transform: scale(1.07);
}

.msc-master-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(11, 18, 32, .95) 0%, rgba(11, 18, 32, .45) 55%, rgba(11, 18, 32, .15) 100%);
}

.msc-master-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 30px 26px;
}

.msc-master-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 1.3rem;
    line-height: 1.15;
    letter-spacing: -.03em;
    text-transform: uppercase;
    color: #ffffff;
    margin: 0 0 10px;
}

.msc-master-title::before {
    content: "";
    display: block;
    width: 34px;
    height: 3px;
    background: var(--luxe-gold);
    margin-bottom: 14px;
}

.msc-master-desc {
    font-size: .85rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, .75);
    margin: 0;
}

.msc-advantage {
    background: var(--luxe-blue);
}

.msc-advantage-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    letter-spacing: -.05em;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 56px;
}

.msc-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

.msc-stat-value {
    font-family: 'Outfit Bold', sans-serif;
    font-size: clamp(2.6rem, 6vw, 4.4rem);
    line-height: 1;
    letter-spacing: -.05em;
    color: var(--luxe-gold);
}

.msc-stat-label {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .8);
}

/* Contact Us */
.ct-section {
    background: #ffffff;
}

.ct-title {
    margin-bottom: 40px;
}

.ct-info {
    display: flex;
    gap: 18px;
    margin-bottom: 32px;
}

.ct-info-icon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: #fdecec;
    color: var(--insd-red);
    font-size: 22px;
}

.ct-info-heading {
    font-family: 'Outfit Bold', sans-serif;
    font-size: .8rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--insd-text);
    margin: 4px 0 8px;
}

.ct-info-text {
    margin: 0 0 6px;
    line-height: 1.6;
    color: rgba(69, 85, 108, 1);
}

.ct-info-text a {
    color: inherit;
    text-decoration: none;
}

.ct-info-text a:hover {
    color: var(--insd-red);
}

.ct-hours i {
    color: var(--insd-red);
    margin-right: 4px;
}

.ct-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ct-social-links a {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid #e3e6ec;
    color: var(--insd-text);
    font-size: 18px;
    text-decoration: none;
    transition: all .3s ease;
}

.ct-social-links a:hover {
    background: var(--insd-red);
    border-color: var(--insd-red);
    color: #ffffff;
}

.ct-form-card {
    background: var(--insd-light);
    border-radius: 32px;
    padding: 44px;
    border-top: 5px solid var(--insd-red);
}

.ct-form-title {
    font-family: 'Outfit Bold', sans-serif;
    font-size: 2rem;
    letter-spacing: -.04em;
    text-transform: uppercase;
    color: var(--insd-text);
    margin-bottom: 8px;
}

.ct-form-sub {
    color: rgba(69, 85, 108, 1);
    margin-bottom: 28px;
}

.ct-form label {
    display: block;
    font-family: 'Outfit Bold', sans-serif;
    font-size: 10px;
    letter-spacing: .2em;
    color: rgba(69, 85, 108, 1);
    margin-bottom: 8px;
}

.ct-input {
    width: 100%;
    background: #ffffff;
    border: 1px solid #e3e6ec;
    border-radius: 14px;
    padding: 14px 18px;
    font-size: .95rem;
    color: var(--insd-text);
    transition: border-color .3s ease, box-shadow .3s ease;
}

.ct-input:focus {
    outline: none;
    border-color: var(--insd-red);
    box-shadow: 0 0 0 3px rgba(229, 50, 56, .12);
}

.ct-input.is-invalid {
    border-color: #dc2626;
}

textarea.ct-input {
    resize: vertical;
}

.ct-phone {
    display: flex;
    align-items: stretch;
}

.ct-phone-prefix {
    display: flex;
    align-items: center;
    padding: 0 16px;
    background: #eef0f4;
    border: 1px solid #e3e6ec;
    border-right: 0;
    border-radius: 14px 0 0 14px;
    font-family: 'Outfit Bold', sans-serif;
    font-size: .9rem;
    color: var(--insd-text);
}

.ct-phone .ct-input {
    border-radius: 0 14px 14px 0;
}

.ct-form .expert-form-message {
    margin-bottom: 20px;
}

.ct-submit:disabled {
    opacity: .6;
    cursor: wait;
}

@media (max-width: 991px) {
    .st-hero,
    .msc-hero {
        padding: 150px 0 80px;
    }

    .ct-hero {
        padding: 140px 0 70px;
    }

    .st-cta {
        padding: 80px 0;
    }

    /* .pd90's 90px side padding is too wide on tablets and phones */
    .st-hero-inner.pd90,
    .msc-hero-inner.pd90,
    .st-modules .pd90,
    .msc-pillars .pd90,
    .msc-masters .pd90,
    .msc-advantage .pd90,
    .ct-section .pd90 {
        padding-left: 20px;
        padding-right: 20px;
    }

    .st-modules,
    .msc-pillars,
    .msc-masters,
    .msc-advantage,
    .ct-section {
        padding: 70px 0;
    }
}

@media (max-width: 575px) {
    .st-hero-sub,
    .msc-hero-sub {
        font-size: 1rem;
    }

    .msc-fact {
        min-width: 100%;
    }

    .msc-master-card {
        height: 320px;
    }

    .ct-form-card {
        padding: 28px 20px;
        border-radius: 24px;
    }
}
