 /* =============================================================
           CSS VARIABLES — IILM Brand Colours
           Midnight Blue: R0  G38 B90  → #00265A
           Maroon:        R128 G0 B22  → #800016
        ============================================================= */
                :root {
                    --midnight: #00265A;
                    --maroon: #800016;
                    --maroon-dark: #600011;
                    --cream: #F7F5F0;
                    --cream-dark: #EDE9E1;
                    --white: #FFFFFF;
                    --light-gray: #EEF0F4;
                    --text-dark: #111827;
                    --text-mid: #4B5563;
                    --text-light: #6B7280;
                    --gold: #C8A96E;
                    --green: #1A6B3C; /* accent for China/international tags */
                    --font-display:'Playfair Display', Georgia, serif;
                    --font-body: 'DM Sans', system-ui, sans-serif;
                    --radius: 8px;
                    --radius-lg: 14px;
                    --shadow: 0 4px 24px rgba(0,38,90,0.10);
                    --shadow-lg: 0 12px 48px rgba(0,38,90,0.16);
                    --container: 1140px;
                }

                /* =============================================================
           RESET & BASE
        ============================================================= */
                *, *::before, *::after {
                    box-sizing: border-box;
                    margin: 0;
                    padding: 0;
                }

                html {
                    scroll-behavior: smooth;
                    -webkit-text-size-adjust: 100%;
                }

                body {
                    font-family: var(--font-body);
                    color: var(--text-dark);
                    background: var(--white);
                    line-height: 1.65;
                    font-size: 16px;
                    overflow-x: hidden;
                }

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

                a {
                    color: inherit;
                    text-decoration: none;
                }

                /* =============================================================
           LAYOUT UTILITIES
        ============================================================= */
                .container {
                    max-width: var(--container);
                    margin: 0 auto;
                    padding: 0 20px;
                }

                .section-pad {
                    padding: 80px 0;
                }

                .section-pad-sm {
                    padding: 56px 0;
                }

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

                .label-pill {
                    display: inline-block;
                    font-size: 11px;
                    font-weight: 600;
                    letter-spacing: 0.12em;
                    text-transform: uppercase;
                    color: var(--maroon);
                    background: rgba(128,0,22,0.07);
                    border: 1px solid rgba(128,0,22,0.18);
                    border-radius: 40px;
                    padding: 4px 14px;
                    margin-bottom: 16px;
                }

                .label-pill-gold {
                    color: var(--gold);
                    background: rgba(200,169,110,0.12);
                    border-color: rgba(200,169,110,0.26);
                }

                .label-pill-green {
                    color: var(--green);
                    background: rgba(26,107,60,0.08);
                    border-color: rgba(26,107,60,0.22);
                }

                h2.section-title {
                    font-family: var(--font-display);
                    font-size: clamp(24px, 4vw, 40px);
                    font-weight: 700;
                    color: var(--midnight);
                    line-height: 1.18;
                    margin-bottom: 16px;
                }

                    h2.section-title span {
                        color: var(--maroon);
                    }

                    h2.section-title em {
                        color: var(--gold);
                        font-style: normal;
                    }

                .section-sub {
                    font-size: 16px;
                    color: var(--text-mid);
                    max-width: 680px;
                    margin-bottom: 40px;
                    line-height: 1.78;
                }

                /* Buttons */
                .btn-primary {
                    display: inline-block;
                    background: var(--maroon);
                    color: var(--white);
                    font-family: var(--font-body);
                    font-size: 15px;
                    font-weight: 600;
                    padding: 14px 32px;
                    border-radius: 4px;
                    letter-spacing: 0.03em;
                    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
                    cursor: pointer;
                    border: none;
                    -webkit-tap-highlight-color: transparent;
                    touch-action: manipulation;
                    text-align: center;
                }

                    .btn-primary:hover {
                        background: #9b001b;
                        transform: translateY(-2px);
                        box-shadow: 0 8px 24px rgba(128,0,22,0.28);
                    }

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

                .btn-outline {
                    display: inline-block;
                    background: transparent;
                    color: var(--midnight);
                    font-family: var(--font-body);
                    font-size: 15px;
                    font-weight: 600;
                    padding: 13px 28px;
                    border-radius: 4px;
                    border: 2px solid var(--midnight);
                    letter-spacing: 0.03em;
                    transition: all 0.2s;
                    cursor: pointer;
                    -webkit-tap-highlight-color: transparent;
                    touch-action: manipulation;
                    text-align: center;
                }

                    .btn-outline:hover {
                        background: var(--midnight);
                        color: var(--white);
                    }

                .btn-full {
                    display: block;
                    width: 100%;
                }

                /* Optional badge */
                .optional-badge {
                    display: inline-block;
                    font-size: 10px;
                    font-weight: 700;
                    letter-spacing: 0.10em;
                    text-transform: uppercase;
                    color: var(--green);
                    background: rgba(26,107,60,0.09);
                    border: 1px solid rgba(26,107,60,0.22);
                    border-radius: 20px;
                    padding: 2px 9px;
                    vertical-align: middle;
                    margin-left: 6px;
                }

                /* Divider line */
                .section-divider {
                    border: none;
                    border-top: 1px solid rgba(0,38,90,0.08);
                    margin: 0;
                }

                /* =============================================================
           ANNOUNCEMENT BAR
        ============================================================= */
                .announcement-bar {
                    background: var(--maroon);
                    color: var(--white);
                    text-align: center;
                    font-size: 13px;
                    font-weight: 500;
                    padding: 9px 16px;
                    letter-spacing: 0.02em;
                    line-height: 1.5;
                }

                    .announcement-bar strong {
                        font-weight: 700;
                    }

                /* =============================================================
           STICKY HEADER
        ============================================================= */
                .site-header {
                    position: sticky;
                    top: 0;
                    z-index: 200;
                    background: var(--midnight);
                    border-bottom: 3px solid var(--maroon);
                }

                .header-inner {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    padding: 12px 20px;
                    max-width: var(--container);
                    margin: 0 auto;
                    gap: 12px;
                }

                .logo-wrap img {
                    height: 40px;
                    width: auto;
                }

                .header-cta .btn-primary {
                    padding: 10px 20px;
                    font-size: 14px;
                    white-space: nowrap;
                }

                /* =============================================================
           HERO
        ============================================================= */
                .hero {
                    background: var(--midnight);
                    position: relative;
                    overflow: hidden;
                }

                    .hero::before {
                        content: '';
                        position: absolute;
                        inset: 0;
                        background: radial-gradient(ellipse 65% 85% at 80% 45%, rgba(128,0,22,0.22) 0%, transparent 68%), radial-gradient(ellipse 40% 50% at 10% 80%, rgba(200,169,110,0.08) 0%, transparent 60%), url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='.022'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
                        pointer-events: none;
                    }

                .hero-inner {
                    display: grid;
                    grid-template-columns: 1fr 400px;
                    gap: 56px;
                    align-items: start;
                    padding: 64px 20px 72px;
                    max-width: var(--container);
                    margin: 0 auto;
                    position: relative;
                    z-index: 1;
                }

                .hero-eyebrow {
                    font-size: 11px;
                    font-weight: 600;
                    letter-spacing: 0.16em;
                    text-transform: uppercase;
                    color: var(--gold);
                    margin-bottom: 14px;
                }

                .hero-program-label {
                    font-size: 13px;
                    font-weight: 500;
                    color: rgba(255,255,255,0.55);
                    margin-bottom: 8px;
                    letter-spacing: 0.04em;
                    text-transform: uppercase;
                }

                .hero-title {
                    font-family: var(--font-display);
                    font-size: clamp(28px, 4.5vw, 52px);
                    font-weight: 900;
                    color: var(--white);
                    line-height: 1.08;
                    margin-bottom: 12px;
                }

                    .hero-title .accent {
                        color: var(--gold);
                    }

                .hero-subtitle {
                    font-size: 16px;
                    color: rgba(255,255,255,0.78);
                    line-height: 1.72;
                    margin-bottom: 18px;
                    max-width: 540px;
                }

                .hero-supporting {
                    font-size: 14px;
                    color: rgba(255,255,255,0.58);
                    line-height: 1.70;
                    margin-bottom: 30px;
                    max-width: 500px;
                    font-style: italic;
                }

                /* Trust badges row */
                .hero-badges {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 10px;
                    margin-bottom: 28px;
                }

                .hero-badge {
                    display: flex;
                    align-items: center;
                    gap: 7px;
                    background: rgba(255,255,255,0.07);
                    border: 1px solid rgba(255,255,255,0.14);
                    border-radius: 40px;
                    padding: 7px 14px;
                    font-size: 12px;
                    color: rgba(255,255,255,0.88);
                    font-weight: 500;
                    white-space: nowrap;
                }

                    .hero-badge.badge-gold {
                        background: rgba(200,169,110,0.14);
                        border-color: rgba(200,169,110,0.30);
                        color: var(--gold);
                    }

                /* Quick info strip */
                .hero-quickinfo {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 6px;
                    margin-bottom: 32px;
                }

                .qinfo-item {
                    font-size: 12px;
                    color: rgba(255,255,255,0.68);
                    background: rgba(255,255,255,0.06);
                    border-radius: 4px;
                    padding: 5px 10px;
                    display: flex;
                    align-items: center;
                    gap: 5px;
                }

                    .qinfo-item strong {
                        color: rgba(255,255,255,0.90);
                        font-weight: 600;
                    }

                .hero-ctas {
                    display: flex;
                    gap: 14px;
                    flex-wrap: wrap;
                }

                    .hero-ctas .btn-primary {
                        font-size: 15px;
                        padding: 15px 32px;
                    }

                    .hero-ctas .btn-outline {
                        border-color: rgba(255,255,255,0.36);
                        color: var(--white);
                        font-size: 15px;
                        padding: 14px 26px;
                    }

                        .hero-ctas .btn-outline:hover {
                            background: rgba(255,255,255,0.10);
                            border-color: rgba(255,255,255,0.68);
                        }

                /* Form card */
                .hero-form-card {
                    background: var(--white);
                    border-radius: var(--radius-lg);
                    padding: 28px 24px;
                    box-shadow: var(--shadow-lg);
                    position: relative;
                }

                    .hero-form-card::before {
                        content: '';
                        position: absolute;
                        top: 0;
                        left: 0;
                        right: 0;
                        height: 4px;
                        background: linear-gradient(90deg, var(--midnight), var(--maroon));
                        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
                    }

                .form-card-title {
                    font-family: var(--font-display);
                    font-size: 19px;
                    font-weight: 700;
                    color: var(--midnight);
                    margin-bottom: 4px;
                }

                .form-card-sub {
                    font-size: 12px;
                    color: var(--text-light);
                    margin-bottom: 20px;
                    line-height: 1.5;
                }

                .meritto-placeholder {
                    background: var(--light-gray);
                    border: 2px dashed rgba(0,38,90,0.18);
                    border-radius: var(--radius);
                    min-height: 300px;
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    justify-content: center;
                    text-align: center;
                    padding: 28px 14px;
                    gap: 8px;
                    color: var(--text-mid);
                    font-size: 13px;
                }

                    .meritto-placeholder strong {
                        font-size: 14px;
                        color: var(--midnight);
                        display: block;
                    }

                    .meritto-placeholder code {
                        font-size: 11px;
                        background: rgba(0,38,90,0.07);
                        padding: 4px 10px;
                        border-radius: 4px;
                        color: var(--midnight);
                        font-family: monospace;
                        word-break: break-all;
                    }

                /* =============================================================
           MOBILE STICKY CTA
        ============================================================= */
                .mobile-cta-bar {
                    display: none;
                    position: fixed;
                    bottom: 0;
                    left: 0;
                    right: 0;
                    z-index: 300;
                    background: var(--midnight);
                    border-top: 3px solid var(--maroon);
                    padding: 12px 16px;
                    box-shadow: 0 -4px 20px rgba(0,0,0,0.25);
                }

                    .mobile-cta-bar .btn-primary {
                        width: 100%;
                        font-size: 15px;
                        padding: 14px;
                    }

                /* =============================================================
           STATS BAR
        ============================================================= */
                .stats-bar {
                    background: var(--midnight);
                    border-bottom: 3px solid var(--maroon);
                }

                .stats-inner {
                    display: flex;
                    justify-content: space-around;
                    flex-wrap: wrap;
                    padding: 28px 20px;
                    max-width: var(--container);
                    margin: 0 auto;
                }

                .stat-item {
                    text-align: center;
                    padding: 10px 16px;
                }

                .stat-number {
                    font-family: var(--font-display);
                    font-size: 38px;
                    font-weight: 900;
                    color: var(--white);
                    line-height: 1;
                }

                    .stat-number span {
                        color: var(--gold);
                    }

                .stat-label {
                    font-size: 12px;
                    color: rgba(255,255,255,0.55);
                    margin-top: 5px;
                    font-weight: 500;
                    max-width: 110px;
                    margin-left: auto;
                    margin-right: auto;
                    line-height: 1.4;
                }

                /* =============================================================
           WHY CHOOSE — PILLARS
        ============================================================= */
                .why-section {
                    background: var(--white);
                }

                .pillars-grid {
                    display: grid;
                    grid-template-columns: repeat(2, 1fr);
                    gap: 20px;
                }

                .pillar-card {
                    border: 1px solid var(--light-gray);
                    border-radius: var(--radius-lg);
                    padding: 28px 24px;
                    position: relative;
                    overflow: hidden;
                    transition: box-shadow 0.22s, transform 0.22s, border-color 0.22s;
                }

                    .pillar-card::before {
                        content: '';
                        position: absolute;
                        top: 0;
                        left: 0;
                        right: 0;
                        height: 4px;
                        background: var(--maroon);
                        transform: scaleX(0);
                        transform-origin: left;
                        transition: transform 0.30s ease;
                    }

                    .pillar-card:hover::before {
                        transform: scaleX(1);
                    }

                    .pillar-card:hover {
                        box-shadow: var(--shadow);
                        transform: translateY(-3px);
                        border-color: rgba(0,38,90,0.14);
                    }

                    .pillar-card.optional-card::before {
                        background: var(--green);
                    }

                .pillar-num {
                    font-family: var(--font-display);
                    font-size: 44px;
                    font-weight: 900;
                    color: rgba(0,38,90,0.06);
                    line-height: 1;
                    position: absolute;
                    top: 10px;
                    right: 16px;
                    pointer-events: none;
                }

                .pillar-icon {
                    width: 44px;
                    height: 44px;
                    background: rgba(0,38,90,0.07);
                    border-radius: 9px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin-bottom: 14px;
                    font-size: 20px;
                }

                .pillar-card.optional-card .pillar-icon {
                    background: rgba(26,107,60,0.09);
                }

                .pillar-card h3 {
                    font-size: 17px;
                    font-weight: 700;
                    color: var(--midnight);
                    margin-bottom: 10px;
                    line-height: 1.3;
                }

                .pillar-card p {
                    font-size: 14px;
                    color: var(--text-mid);
                    line-height: 1.70;
                }

                /* =============================================================
           PROGRAM OVERVIEW
        ============================================================= */
                .overview-section {
                    background: var(--cream);
                }

                .overview-inner {
                    display: grid;
                    grid-template-columns: 1fr 1fr;
                    gap: 56px;
                    align-items: center;
                }

                .overview-text p {
                    font-size: 15px;
                    color: var(--text-mid);
                    line-height: 1.80;
                    margin-bottom: 24px;
                }

                .overview-bullets {
                    list-style: none;
                    display: flex;
                    flex-direction: column;
                    gap: 12px;
                }

                .overview-bullet {
                    display: flex;
                    gap: 12px;
                    align-items: flex-start;
                }

                .ov-dot {
                    width: 8px;
                    height: 8px;
                    border-radius: 50%;
                    background: var(--maroon);
                    flex-shrink: 0;
                    margin-top: 7px;
                }

                .overview-bullet p {
                    font-size: 14px;
                    color: var(--text-dark);
                    line-height: 1.60;
                }

                /* Overview facts panel */
                .overview-facts {
                    background: var(--midnight);
                    border-radius: var(--radius-lg);
                    padding: 36px 28px;
                    color: var(--white);
                    position: relative;
                    overflow: hidden;
                }

                    .overview-facts::before {
                        content: '';
                        position: absolute;
                        right: -40px;
                        bottom: -40px;
                        width: 200px;
                        height: 200px;
                        border-radius: 50%;
                        background: rgba(200,169,110,0.08);
                        pointer-events: none;
                    }

                    .overview-facts h3 {
                        font-family: var(--font-display);
                        font-size: 20px;
                        font-weight: 700;
                        color: var(--white);
                        margin-bottom: 24px;
                        position: relative;
                    }

                .fact-row {
                    display: flex;
                    justify-content: space-between;
                    align-items: flex-start;
                    padding: 12px 0;
                    border-bottom: 1px solid rgba(255,255,255,0.07);
                    gap: 12px;
                    position: relative;
                }

                    .fact-row:last-child {
                        border-bottom: none;
                        padding-bottom: 0;
                    }

                .fact-label {
                    font-size: 12px;
                    color: rgba(255,255,255,0.50);
                    text-transform: uppercase;
                    letter-spacing: 0.06em;
                    flex-shrink: 0;
                    padding-top: 2px;
                }

                .fact-value {
                    font-size: 14px;
                    color: var(--white);
                    font-weight: 500;
                    text-align: right;
                    line-height: 1.45;
                }

                    .fact-value .highlight {
                        color: var(--gold);
                        font-weight: 700;
                    }

                /* =============================================================
           WHAT YOU LEARN
        ============================================================= */
                .learn-section {
                    background: var(--white);
                }

                .learn-grid {
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
                    gap: 14px;
                }

                .learn-item {
                    display: flex;
                    gap: 12px;
                    align-items: flex-start;
                    padding: 18px 16px;
                    background: var(--cream);
                    border-radius: var(--radius);
                    border: 1px solid rgba(0,38,90,0.06);
                    transition: box-shadow 0.2s, transform 0.2s;
                }

                    .learn-item:hover {
                        box-shadow: var(--shadow);
                        transform: translateY(-2px);
                    }

                    .learn-item .li-icon {
                        font-size: 20px;
                        flex-shrink: 0;
                        margin-top: 2px;
                    }

                    .learn-item p {
                        font-size: 13px;
                        color: var(--text-dark);
                        line-height: 1.62;
                    }

                    .learn-item.global-item {
                        background: rgba(26,107,60,0.05);
                        border-color: rgba(26,107,60,0.14);
                    }

                /* =============================================================
           OBJECTIVES
        ============================================================= */
                .objectives-section {
                    background: var(--cream);
                }

                .objectives-grid {
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
                    gap: 16px;
                }

                .objective-card {
                    background: var(--white);
                    border-radius: var(--radius);
                    padding: 24px 20px;
                    border: 1px solid rgba(0,38,90,0.07);
                    display: flex;
                    flex-direction: column;
                    gap: 10px;
                    transition: box-shadow 0.2s, transform 0.2s;
                }

                    .objective-card:hover {
                        box-shadow: var(--shadow);
                        transform: translateY(-3px);
                    }

                .objective-num {
                    font-family: var(--font-display);
                    font-size: 32px;
                    font-weight: 900;
                    color: rgba(0,38,90,0.08);
                    line-height: 1;
                }

                .objective-card p {
                    font-size: 14px;
                    color: var(--text-mid);
                    line-height: 1.65;
                }

                /* =============================================================
           CURRICULUM PHASES
        ============================================================= */
                .curriculum-section {
                    background: var(--white);
                }

                .phases-timeline {
                    display: flex;
                    flex-direction: column;
                    gap: 0;
                    position: relative;
                }

                    .phases-timeline::before {
                        content: '';
                        position: absolute;
                        left: 28px;
                        top: 0;
                        bottom: 0;
                        width: 2px;
                        background: var(--light-gray);
                        pointer-events: none;
                    }

                .phase-row {
                    display: flex;
                    gap: 28px;
                    align-items: flex-start;
                    padding: 28px 0;
                    border-bottom: 1px solid var(--light-gray);
                    position: relative;
                }

                    .phase-row:last-child {
                        border-bottom: none;
                    }

                .phase-dot-wrap {
                    flex-shrink: 0;
                    position: relative;
                    z-index: 1;
                }

                .phase-dot {
                    width: 56px;
                    height: 56px;
                    border-radius: 50%;
                    background: var(--midnight);
                    color: var(--white);
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    flex-direction: column;
                    text-align: center;
                    font-size: 10px;
                    font-weight: 700;
                    letter-spacing: 0.06em;
                    text-transform: uppercase;
                    border: 3px solid var(--white);
                    box-shadow: 0 0 0 2px var(--light-gray);
                }

                    .phase-dot span {
                        font-size: 16px;
                        font-weight: 900;
                        line-height: 1;
                    }

                .phase-row:nth-child(2) .phase-dot {
                    background: var(--maroon);
                }

                .phase-row:nth-child(3) .phase-dot {
                    background: #1e4b8c;
                }

                .phase-row:nth-child(4) .phase-dot {
                    background: var(--green);
                }

                .phase-body {
                    flex: 1;
                }

                .phase-label {
                    font-size: 10px;
                    font-weight: 700;
                    letter-spacing: 0.12em;
                    text-transform: uppercase;
                    color: var(--maroon);
                    margin-bottom: 4px;
                }

                .phase-row:nth-child(4) .phase-label {
                    color: var(--green);
                }

                .phase-body h3 {
                    font-family: var(--font-display);
                    font-size: 19px;
                    font-weight: 700;
                    color: var(--midnight);
                    margin-bottom: 8px;
                    line-height: 1.3;
                }

                .phase-body p {
                    font-size: 14px;
                    color: var(--text-mid);
                    line-height: 1.72;
                    margin-bottom: 12px;
                }

                .phase-tags {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 6px;
                }

                .phase-tag {
                    font-size: 11px;
                    font-weight: 500;
                    color: var(--midnight);
                    background: rgba(0,38,90,0.07);
                    border-radius: 20px;
                    padding: 3px 10px;
                }

                    .phase-tag.green {
                        color: var(--green);
                        background: rgba(26,107,60,0.09);
                    }

                /* =============================================================
           CHINA IMMERSION SECTION
        ============================================================= */
                .china-section {
                    background: linear-gradient(140deg, #0d2e14 0%, #1a4a25 50%, #0d2e14 100%);
                    color: var(--white);
                    position: relative;
                    overflow: hidden;
                }

                    .china-section::before {
                        content: '';
                        position: absolute;
                        inset: 0;
                        background: radial-gradient(ellipse 50% 60% at 90% 20%, rgba(200,169,110,0.14) 0%, transparent 70%), url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='.025'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
                        pointer-events: none;
                    }

                .china-inner {
                    max-width: var(--container);
                    margin: 0 auto;
                    padding: 72px 20px;
                    position: relative;
                    z-index: 1;
                }

                .china-header {
                    max-width: 700px;
                    margin-bottom: 48px;
                }

                .china-eyebrow {
                    display: inline-flex;
                    align-items: center;
                    gap: 8px;
                    background: rgba(200,169,110,0.14);
                    border: 1px solid rgba(200,169,110,0.28);
                    border-radius: 40px;
                    padding: 5px 14px;
                    font-size: 11px;
                    font-weight: 700;
                    letter-spacing: 0.12em;
                    text-transform: uppercase;
                    color: var(--gold);
                    margin-bottom: 16px;
                }

                .china-header h2 {
                    font-family: var(--font-display);
                    font-size: clamp(24px, 4vw, 38px);
                    font-weight: 700;
                    color: var(--white);
                    line-height: 1.18;
                    margin-bottom: 14px;
                }

                .china-header p {
                    font-size: 15px;
                    color: rgba(255,255,255,0.72);
                    line-height: 1.78;
                }

                .china-cards {
                    display: grid;
                    grid-template-columns: repeat(3, 1fr);
                    gap: 20px;
                    margin-bottom: 28px;
                }

                .china-card {
                    background: rgba(255,255,255,0.06);
                    border: 1px solid rgba(255,255,255,0.10);
                    border-radius: var(--radius-lg);
                    padding: 28px 22px;
                    transition: background 0.22s, transform 0.22s;
                }

                    .china-card:hover {
                        background: rgba(255,255,255,0.10);
                        transform: translateY(-3px);
                    }

                .china-card-icon {
                    width: 46px;
                    height: 46px;
                    border-radius: 10px;
                    background: rgba(200,169,110,0.14);
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    font-size: 22px;
                    margin-bottom: 16px;
                }

                .china-card h3 {
                    font-size: 16px;
                    font-weight: 700;
                    color: var(--white);
                    margin-bottom: 12px;
                    line-height: 1.3;
                }

                .china-card ul {
                    list-style: none;
                    display: flex;
                    flex-direction: column;
                    gap: 8px;
                }

                    .china-card ul li {
                        display: flex;
                        gap: 8px;
                        align-items: flex-start;
                        font-size: 13px;
                        color: rgba(255,255,255,0.70);
                        line-height: 1.58;
                    }

                        .china-card ul li::before {
                            content: '→';
                            color: var(--gold);
                            font-weight: 600;
                            flex-shrink: 0;
                            margin-top: 1px;
                        }

                .china-note {
                    background: rgba(255,255,255,0.06);
                    border-left: 3px solid var(--gold);
                    border-radius: 0 var(--radius) var(--radius) 0;
                    padding: 14px 18px;
                    font-size: 13px;
                    color: rgba(255,255,255,0.68);
                    line-height: 1.65;
                }

                /* =============================================================
           IMMERSION HIGHLIGHTS
        ============================================================= */
                .immersion-section {
                    background: var(--cream);
                }

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

                .immersion-card {
                    background: var(--white);
                    border-radius: var(--radius-lg);
                    overflow: hidden;
                    border: 1px solid rgba(0,38,90,0.08);
                    box-shadow: var(--shadow);
                    transition: transform 0.22s, box-shadow 0.22s;
                    display: flex;
                    flex-direction: column;
                }

                    .immersion-card:hover {
                        transform: translateY(-4px);
                        box-shadow: var(--shadow-lg);
                    }

                .immersion-card-header {
                    padding: 28px 24px 20px;
                    background: var(--midnight);
                    color: var(--white);
                    position: relative;
                    overflow: hidden;
                }

                .immersion-card:nth-child(2) .immersion-card-header {
                    background: #8B0000;
                }

                .immersion-card:nth-child(3) .immersion-card-header {
                    background: var(--green);
                }

                .immersion-card-header::before {
                    content: attr(data-num);
                    position: absolute;
                    right: 16px;
                    bottom: -10px;
                    font-family: var(--font-display);
                    font-size: 80px;
                    font-weight: 900;
                    color: rgba(255,255,255,0.07);
                    line-height: 1;
                    pointer-events: none;
                }

                .imm-label {
                    font-size: 10px;
                    font-weight: 700;
                    letter-spacing: 0.12em;
                    text-transform: uppercase;
                    color: rgba(255,255,255,0.55);
                    margin-bottom: 6px;
                }

                .immersion-card-header h3 {
                    font-size: 17px;
                    font-weight: 700;
                    color: var(--white);
                    line-height: 1.3;
                }

                .immersion-card-header .optional-badge {
                    color: rgba(255,255,255,0.90);
                    background: rgba(255,255,255,0.15);
                    border-color: rgba(255,255,255,0.28);
                    margin-left: 0;
                    margin-top: 8px;
                    display: inline-block;
                }

                .immersion-card-body {
                    padding: 22px 24px;
                    flex: 1;
                }

                    .immersion-card-body ul {
                        list-style: none;
                        display: flex;
                        flex-direction: column;
                        gap: 10px;
                    }

                        .immersion-card-body ul li {
                            display: flex;
                            gap: 9px;
                            align-items: flex-start;
                            font-size: 13px;
                            color: var(--text-mid);
                            line-height: 1.60;
                        }

                            .immersion-card-body ul li::before {
                                content: '✓';
                                color: var(--maroon);
                                font-weight: 700;
                                flex-shrink: 0;
                                margin-top: 1px;
                            }

                .immersion-card:nth-child(3) .immersion-card-body ul li::before {
                    color: var(--green);
                }

                /* =============================================================
           FACULTY
        ============================================================= */
                .faculty-section {
                    background: var(--white);
                }

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

                .faculty-card {
                    background: var(--white);
                    border-radius: var(--radius-lg);
                    overflow: hidden;
                    border: 1px solid rgba(0,38,90,0.08);
                    box-shadow: var(--shadow);
                    transition: transform 0.22s, box-shadow 0.22s;
                    display: flex;
                    flex-direction: column;
                }

                    .faculty-card:hover {
                        transform: translateY(-4px);
                        box-shadow: var(--shadow-lg);
                    }

                .faculty-photo-wrap {
                    position: relative;
                    background: var(--midnight);
                    height: 220px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    overflow: hidden;
                }

                    .faculty-photo-wrap img {
                        width:auto;
                        height: 100%;
                        object-fit: cover;
                        object-position: top center;
                        transition: transform 0.4s ease;
                    }

                .faculty-card:hover .faculty-photo-wrap img {
                    transform: scale(1.04);
                }

                .faculty-initials {
                    width: 88px;
                    height: 88px;
                    border-radius: 50%;
                    background: rgba(255,255,255,0.12);
                    border: 3px solid rgba(255,255,255,0.20);
                    display: none;
                    align-items: center;
                    justify-content: center;
                    font-family: var(--font-display);
                    font-size: 28px;
                    font-weight: 700;
                    color: var(--white);
                }

                .faculty-stripe {
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    right: 0;
                    height: 4px;
                    background: linear-gradient(90deg, var(--midnight), var(--maroon));
                }

                .faculty-body {
                    padding: 22px 20px 24px;
                    flex: 1;
                    display: flex;
                    flex-direction: column;
                }

                .faculty-name {
                    font-family: var(--font-display);
                    font-size: 17px;
                    font-weight: 700;
                    color: var(--midnight);
                    margin-bottom: 3px;
                    line-height: 1.25;
                }

                .faculty-role {
                    font-size: 12px;
                    font-weight: 600;
                    color: var(--maroon);
                    letter-spacing: 0.04em;
                    text-transform: uppercase;
                    margin-bottom: 12px;
                    line-height: 1.4;
                }

                .faculty-bio {
                    font-size: 13px;
                    color: var(--text-mid);
                    line-height: 1.68;
                    flex: 1;
                }

                .faculty-tag {
                    display: inline-block;
                    margin-top: 14px;
                    font-size: 11px;
                    font-weight: 500;
                    color: var(--midnight);
                    background: rgba(0,38,90,0.07);
                    border-radius: 20px;
                    padding: 4px 11px;
                }

                /* =============================================================
           ELIGIBILITY / FEE / APPLY
        ============================================================= */
                .apply-section {
                    background: var(--cream);
                }

                .apply-inner {
                    display: grid;
                    grid-template-columns: 1fr 1fr 1fr;
                    gap: 22px;
                }

                .apply-box {
                    background: var(--white);
                    border-radius: var(--radius);
                    padding: 28px 22px;
                    border: 1px solid rgba(0,38,90,0.07);
                }

                    .apply-box h3 {
                        font-size: 17px;
                        font-weight: 700;
                        color: var(--midnight);
                        margin-bottom: 16px;
                        padding-bottom: 12px;
                        border-bottom: 2px solid var(--light-gray);
                    }

                .apply-list {
                    list-style: none;
                    display: flex;
                    flex-direction: column;
                    gap: 10px;
                }

                    .apply-list li {
                        display: flex;
                        gap: 9px;
                        align-items: flex-start;
                        font-size: 13px;
                        color: var(--text-dark);
                        line-height: 1.55;
                    }

                        .apply-list li::before {
                            content: '✓';
                            color: var(--maroon);
                            font-weight: 700;
                            flex-shrink: 0;
                            margin-top: 1px;
                        }

                /* Fee box */
                .fee-box {
                    background: var(--midnight);
                    color: var(--white);
                }

                    .fee-box h3 {
                        color: var(--white);
                        border-color: rgba(255,255,255,0.10);
                    }

                .fee-tier {
                    padding: 14px 0;
                    border-bottom: 1px solid rgba(255,255,255,0.08);
                }

                    .fee-tier:last-child {
                        border-bottom: none;
                        padding-bottom: 0;
                    }

                .fee-tier-label {
                    font-size: 11px;
                    font-weight: 600;
                    letter-spacing: 0.08em;
                    text-transform: uppercase;
                    color: rgba(255,255,255,0.48);
                    margin-bottom: 3px;
                }

                .fee-tier-amount {
                    font-family: var(--font-display);
                    font-size: 26px;
                    font-weight: 900;
                    color: var(--gold);
                    line-height: 1;
                }

                .fee-tier-note {
                    font-size: 11px;
                    color: rgba(255,255,255,0.50);
                    margin-top: 3px;
                    line-height: 1.5;
                }

                .fee-small-note {
                    font-size: 11px;
                    color: rgba(255,255,255,0.44);
                    margin-top: 14px;
                    line-height: 1.6;
                    border-top: 1px solid rgba(255,255,255,0.07);
                    padding-top: 12px;
                }

                .scholarship-note {
                    margin-top: 14px;
                    background: rgba(200,169,110,0.12);
                    border-left: 3px solid var(--gold);
                    border-radius: 0 var(--radius) var(--radius) 0;
                    padding: 10px 14px;
                    font-size: 12px;
                    color: rgba(255,255,255,0.80);
                    line-height: 1.6;
                }

                /* Process steps */
                .process-steps {
                    list-style: none;
                    display: flex;
                    flex-direction: column;
                }

                .process-step {
                    display: flex;
                    gap: 11px;
                    align-items: flex-start;
                    padding: 11px 0;
                    border-bottom: 1px solid rgba(0,38,90,0.08);
                }

                    .process-step:last-child {
                        border-bottom: none;
                    }

                .process-num {
                    width: 24px;
                    height: 24px;
                    flex-shrink: 0;
                    border-radius: 50%;
                    background: var(--midnight);
                    color: var(--white);
                    font-size: 11px;
                    font-weight: 700;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                }

                .process-step p {
                    font-size: 13px;
                    color: var(--text-dark);
                    line-height: 1.5;
                    padding-top: 2px;
                }

                /* =============================================================
           FAQ
        ============================================================= */
                .faq-section {
                    background: var(--white);
                }

                .faq-list {
                    max-width: 760px;
                    margin: 0 auto;
                }

                details.faq-item {
                    border-bottom: 1px solid rgba(0,38,90,0.10);
                }

                    details.faq-item summary {
                        font-size: 15px;
                        font-weight: 600;
                        color: var(--midnight);
                        padding: 18px 0;
                        cursor: pointer;
                        list-style: none;
                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        gap: 14px;
                        -webkit-tap-highlight-color: transparent;
                        user-select: none;
                    }

                        details.faq-item summary::-webkit-details-marker {
                            display: none;
                        }

                        details.faq-item summary::after {
                            content: '+';
                            font-size: 22px;
                            font-weight: 300;
                            color: var(--maroon);
                            flex-shrink: 0;
                            transition: transform 0.2s;
                            line-height: 1;
                        }

                details[open].faq-item summary::after {
                    transform: rotate(45deg);
                }

                details.faq-item .faq-body {
                    font-size: 14px;
                    color: var(--text-mid);
                    line-height: 1.78;
                    padding-bottom: 18px;
                }

                /* =============================================================
           FINAL CTA BAND
        ============================================================= */
                .cta-band {
                    background: linear-gradient(135deg, var(--midnight) 0%, #003070 100%);
                    color: var(--white);
                    padding: 64px 0;
                    text-align: center;
                    position: relative;
                    overflow: hidden;
                }

                    .cta-band::before {
                        content: '';
                        position: absolute;
                        inset: 0;
                        background: radial-gradient(ellipse 60% 80% at 100% 50%, rgba(128,0,22,0.20) 0%, transparent 70%), url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='.025'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
                        pointer-events: none;
                    }

                    .cta-band h2 {
                        font-family: var(--font-display);
                        font-size: clamp(22px, 4vw, 38px);
                        font-weight: 700;
                        color: var(--white);
                        margin-bottom: 12px;
                        position: relative;
                        line-height: 1.2;
                    }

                    .cta-band p {
                        font-size: 16px;
                        color: rgba(255,255,255,0.72);
                        margin-bottom: 32px;
                        position: relative;
                        max-width: 640px;
                        margin-left: auto;
                        margin-right: auto;
                        line-height: 1.75;
                    }

                .cta-band-btns {
                    display: flex;
                    gap: 14px;
                    justify-content: center;
                    flex-wrap: wrap;
                    position: relative;
                }

                .cta-band .btn-primary {
                    background: var(--maroon);
                    font-size: 16px;
                    padding: 16px 36px;
                }

                    .cta-band .btn-primary:hover {
                        background: #9b001b;
                    }

                .cta-band .btn-outline {
                    border-color: rgba(255,255,255,0.36);
                    color: var(--white);
                    font-size: 15px;
                    padding: 15px 28px;
                }

                    .cta-band .btn-outline:hover {
                        background: rgba(255,255,255,0.10);
                        border-color: rgba(255,255,255,0.68);
                    }

                /* =============================================================
           FOOTER
        ============================================================= */
                .site-footer {
                    background: #080f1c;
                    color: rgba(255,255,255,0.48);
                    padding: 28px 20px 80px;
                    text-align: center;
                    font-size: 12px;
                }

                    .site-footer a {
                        color: rgba(255,255,255,0.34);
                        text-decoration: underline;
                    }

                        .site-footer a:hover {
                            color: var(--white);
                        }

                /* =============================================================
           ANIMATIONS
        ============================================================= */
                @keyframes fadeUp {
                    from {
                        opacity: 0;
                        transform: translateY(18px);
                    }

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

                .hero-eyebrow {
                    animation: fadeUp 0.45s ease both;
                }

                .hero-program-label {
                    animation: fadeUp 0.50s ease 0.05s both;
                }

                .hero-title {
                    animation: fadeUp 0.60s ease 0.10s both;
                }

                .hero-subtitle {
                    animation: fadeUp 0.60s ease 0.16s both;
                }

                .hero-supporting {
                    animation: fadeUp 0.60s ease 0.20s both;
                }

                .hero-badges {
                    animation: fadeUp 0.60s ease 0.24s both;
                }

                .hero-quickinfo {
                    animation: fadeUp 0.60s ease 0.27s both;
                }

                .hero-ctas {
                    animation: fadeUp 0.60s ease 0.31s both;
                }

                .hero-form-card {
                    animation: fadeUp 0.70s ease 0.18s both;
                }

                /* =============================================================
           RESPONSIVE — TABLET (≤ 960px)
        ============================================================= */
                @media (max-width: 960px) {
                    .hero-inner {
                        grid-template-columns: 1fr;
                        gap: 32px;
                        padding: 40px 16px 52px;
                    }

                    .hero-content {
                        order: 2;
                    }

                    .hero-form-card-wrap {
                        order: 1;
                    }

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

                    .overview-inner {
                        grid-template-columns: 1fr;
                        gap: 32px;
                    }

                    .china-cards {
                        grid-template-columns: 1fr;
                        gap: 16px;
                    }

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

                    .faculty-grid {
                        grid-template-columns: 1fr 1fr;
                        gap: 18px;
                    }

                    .apply-inner {
                        grid-template-columns: 1fr;
                        gap: 18px;
                    }

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

                    .phases-timeline::before {
                        left: 26px;
                    }

                    .section-pad {
                        padding: 60px 0;
                    }

                    .mobile-cta-bar {
                        display: block;
                    }

                    body {
                        padding-bottom: 70px;
                    }
                }

                /* =============================================================
           RESPONSIVE — MOBILE (≤ 640px)
        ============================================================= */
                @media (max-width: 640px) {
                    .container {
                        padding: 0 16px;
                    }

                    .section-pad {
                        padding: 48px 0;
                    }

                    /* Header */
                    .logo-wrap img {
                        height: 34px;
                    }

                    .header-cta .btn-primary {
                        padding: 9px 16px;
                        font-size: 13px;
                    }

                    /* Hero */
                    .hero-inner {
                        padding: 30px 16px 42px;
                        gap: 26px;
                    }

                    .hero-title {
                        font-size: clamp(26px, 7.5vw, 36px);
                    }

                    .hero-badges {
                        gap: 7px;
                    }

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

                    .hero-ctas {
                        flex-direction: column;
                        gap: 10px;
                    }

                        .hero-ctas .btn-primary,
                        .hero-ctas .btn-outline {
                            width: 100%;
                            text-align: center;
                            padding: 15px;
                            font-size: 15px;
                        }

                    .hero-form-card {
                        padding: 22px 16px;
                    }

                    /* Announcement */
                    .announcement-bar {
                        font-size: 12px;
                        padding: 8px 12px;
                    }

                    /* Stats */
                    .stats-inner {
                        padding: 22px 10px;
                    }

                    .stat-item {
                        width: 50%;
                        padding: 8px 6px;
                    }

                    .stat-number {
                        font-size: 30px;
                    }

                    /* Section titles */
                    h2.section-title {
                        font-size: clamp(21px, 6vw, 28px);
                    }

                    .section-sub {
                        font-size: 14px;
                        margin-bottom: 26px;
                    }

                    /* Pillars */
                    .pillars-grid {
                        grid-template-columns: 1fr;
                    }

                    .pillar-card {
                        padding: 22px 18px;
                    }

                    /* Overview */
                    .overview-facts {
                        padding: 24px 20px;
                    }

                    /* Learn */
                    .learn-grid {
                        grid-template-columns: 1fr;
                    }

                    /* Objectives */
                    .objectives-grid {
                        grid-template-columns: 1fr;
                    }

                    /* Phases timeline */
                    .phases-timeline::before {
                        display: none;
                    }

                    .phase-row {
                        flex-direction: column;
                        gap: 14px;
                        padding: 22px 0;
                    }

                    .phase-dot {
                        width: 46px;
                        height: 46px;
                    }

                    /* China section */
                    .china-inner {
                        padding: 48px 16px;
                    }

                    .china-cards {
                        grid-template-columns: 1fr;
                    }

                    /* Immersions */
                    .immersion-grid {
                        grid-template-columns: 1fr;
                    }

                    /* Faculty */
                    .faculty-grid {
                        grid-template-columns: 1fr;
                    }

                    .faculty-photo-wrap {
                        height: 180px;
                    }

                    /* Apply */
                    .apply-inner {
                        grid-template-columns: 1fr;
                    }

                    .apply-box {
                        padding: 22px 18px;
                    }

                    /* CTA band */
                    .cta-band {
                        padding: 48px 0;
                    }

                    .cta-band-btns {
                        flex-direction: column;
                        align-items: center;
                    }

                    .cta-band .btn-primary,
                    .cta-band .btn-outline {
                        width: 100%;
                        max-width: 340px;
                    }

                    /* Footer */
                    .site-footer {
                        padding: 22px 16px 80px;
                    }

                    /* FAQ */
                    details.faq-item summary {
                        font-size: 14px;
                    }
                }

                /* Very small (≤ 380px) */
                @media (max-width: 380px) {
                    .hero-title {
                        font-size: 24px;
                    }

                    .stat-item {
                        width: 50%;
                    }

                    .hero-badge {
                        font-size: 10px;
                        padding: 5px 10px;
                    }
                }