/* Loaded only by the English v2 head. Match page-rule specificity so later
 * Chinese reference styles cannot restore their tracking on English copy. */
html body.v2-fluid .hx-header .hx-submenu a,
html body.v2-fluid .hx-header .hx-btn,
html body.v2-fluid .hx-drawer .hx-nav a,
html body.v2-fluid .hx-drawer .hx-btn,
html body.v2-fluid .ft-actions .ft-action,
html body.v2-index .wx-cta,
html body.v2-index .fx-cta,
html body.v2-index .tx-cta,
html body.v2-index .tx-name,
html body.v2-index .tx-name-en,
html body.v2-index .tx-role,
html body.v2-index .nx-news.nx-en .nx-tab,
html body.v2-index .rx-section.rx-en .rx-cta,
html body.v2-index .rx-roadmap.rx-en .rx-module,
html body.v2-index .rx-roadmap.rx-en .rx-stage,
html body.v2-about .ax-about .ax-cta,
html body.v2-about .ax-rank h3,
html body.v2-about .ax-rank p,
html body.v2-program .rx-section.rx-en .rx-cta,
html body.v2-program .px-program .rx-roadmap .rx-module,
html body.v2-program .px-program .rx-roadmap .rx-stage,
html body.v2-admission .dx-admission .dx-cta,
html body.v2-admissions .ix-admissions .ix-cta,
html body.v2-alumni .lx-cta,
html body.v2-alumni .lx-stat dd,
html body.v2-alumni .lx-stat dt small {
    letter-spacing: normal;
}

/* Natural word spacing for English prose. Keep explicitly marked Chinese
 * fallbacks justified, including biographies without an English translation. */
html body.v2-admission .dx-answer,
html body.v2-alumni-story .sx-quote .sx-copy:not([lang^='zh']),
html body.v2-teacher .tx-teacher-biography:not([lang^='zh']) .tx-teacher-copy:not([lang^='zh']) {
    text-align: start;
}

/* Keep wrapped English captions compact; space the label below its QR code. */
html body.v2-fluid .ft-footer .ft-qr-label {
    margin-top: .5em;
    line-height: 1.4;
}

html body.v2-index .tx-lead br {
    display: initial;
}

.v2-details-mobile { display: none; }

/* English story profiles share the alumni-card name, company, and title. */
html body.v2-alumni-story .sx-info h2 {
    font-weight: 600;
    background: linear-gradient(90deg, #fff, #ffda96);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
html body.v2-alumni-story .sx-info .sx-company {
    color: #35d0fd;
}
html body.v2-alumni-story .sx-info .sx-role:not(.sx-company) {
    color: #a8dff0;
}

html body.v2-index .rx-roadmap.rx-en .rx-overview strong,
html body.v2-program .px-program .rx-roadmap.rx-en .rx-overview strong {
    font-size: 1em;
}

html body.v2-index .rx-roadmap.rx-en .rx-stage,
html body.v2-program .px-program .rx-roadmap.rx-en .rx-stage {
    line-height: 1.2;
}

html body.v2-index .rx-roadmap.rx-en .rx-lead,
html body.v2-program .px-program .rx-roadmap.rx-en .rx-lead {
    font-family: var(--v2-font-body);
    font-weight: 600;
    line-height: 1.75;
}

/* English captions and roadmap summaries keep authored rows intact. */
html body.v2-index .wx-en .wx-title {
    width: 100%;
    white-space: nowrap;
}

@media (min-width: 768px) {
    html body.v2-index .rx-schedule.rx-en .rx-schedule-copy p {
        font-size: calc(20 * var(--desktop-unit));
    }
    html body.v2-fluid button,
    html body.v2-fluid .hx-btn,
    html body.v2-fluid .ft-action,
    html body.v2-index .wx-cta,
    html body.v2-index .fx-cta,
    html body.v2-index .tx-cta,
    html body.v2-index .nx-more,
    html body.v2-index .rx-cta,
    html body.v2-about .ax-cta,
    html body.v2-program .rx-cta,
    html body.v2-admission .dx-cta,
    html body.v2-admissions .ix-cta,
    html body.v2-alumni .lx-cta {
        text-transform: capitalize;
    }
    html body.v2-index .wx-en .wx-headings {
        align-self: end;
        padding-top: 0;
        margin-bottom: calc(26 * var(--desktop-unit));
    }
    html body.v2-index .wx-en .wx-title {
        min-height: 0;
        font-size: calc(45 * var(--desktop-unit));
    }
    html body.v2-index .wx-en .wx-lead {
        display: flex;
        align-items: center;
        min-height: max(44px, calc(75 * var(--desktop-unit)));
    }
    html body.v2-admissions .ix-sources {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    html body.v2-index .rx-roadmap.rx-en .rx-lead,
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-lead {
        font-size: max(11px, calc(24 * var(--desktop-unit)));
    }
    html body.v2-index .rx-roadmap.rx-en .rx-lead,
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-lead {
        width: calc(800 * var(--desktop-unit));
        max-width: 100%;
    }
    html body.v2-index .wx-en .wx-card-copy h3 {
        font-size: calc(24 * var(--desktop-unit));
    }
    html body.v2-index .wx-en .wx-card-copy p {
        font-size: calc(10.5 * var(--desktop-unit));
    }
    html body.v2-index .rx-roadmap.rx-en .rx-overview {
        font-size: calc(20 * var(--desktop-unit));
    }
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-overview {
        font-size: calc(18 * var(--desktop-unit));
    }
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-module,
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-stage {
        font-family: var(--v2-font-body);
        line-height: 1.2;
    }
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-module {
        font-size: max(12px, calc(22 * var(--desktop-unit)));
    }
    html body.v2-index .rx-roadmap.rx-en .rx-stage,
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-stage {
        font-size: max(14px, calc(28 * var(--desktop-unit)));
    }
    html body.v2-index .rx-roadmap.rx-en .rx-stage-advanced,
    html body.v2-index .rx-roadmap.rx-en .rx-stage-foundation {
        --label-x: 1253;
        --label-width: 419;
    }
    html body.v2-index .rx-roadmap.rx-en .rx-stage-foundation,
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-stage-foundation {
        font-size: max(14px, calc(32 * var(--desktop-unit)));
    }
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-stage-advanced {
        --label-x: 1196;
        --label-width: 420;
        /* Keep the original platform hit bounds as the label widens equally. */
        --course-hit-left: 114;
        --course-hit-right: 114;
    }
    html body.v2-alumni .lx-stat dd {
        font-size: calc(24 * var(--desktop-unit));
        line-height: 1.4;
    }
    html body.v2-alumni .lx-sector h3 {
        font-size: calc(30 * var(--desktop-unit));
    }
    html body.v2-alumni .lx-sector li {
        font-size: calc(22 * var(--desktop-unit));
    }
    html body.v2-alumni .lx-person-copy p,
    html body.v2-alumni-story .sx-info .sx-role {
        font-size: calc(16 * var(--desktop-unit));
    }
    html body.v2-alumni-story .sx-info h2 {
        font-size: calc(40 * var(--desktop-unit));
        line-height: calc(42 * var(--desktop-unit));
    }
    html body.v2-alumni-story .sx-info .sx-role {
        line-height: calc(42 * var(--desktop-unit));
    }
    html body.v2-index .tx-role {
        font-size: max(12px, calc(18 * var(--desktop-unit)));
    }
    html body.v2-program .rx-study.rx-en .rx-destination-gb {
        --country-width: 224;
    }
    html body.v2-program .px-foundation-card h3 {
        font-size: calc(24 * var(--desktop-unit));
    }

    /* Keep the longest advanced-module names beside their descriptions. */
    html body.v2-program .px-module-heading h3:not(:last-child) {
        flex: 0 0 auto;
        max-width: none;
        font-size: calc(33 * var(--desktop-unit));
        white-space: nowrap;
    }
}

@media (max-width: 767px) {
    html body.v2-fluid a.v2-details-link[href] {
        font-family: 'Noto Sans SC', sans-serif;
    }
    .v2-details-desktop {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }
    .v2-details-mobile { display: inline; }
    html body.v2-admissions .ix-sources {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    html body.v2-index .rx-roadmap.rx-en .rx-lead {
        width: calc(651 * var(--im-px));
        max-width: none;
        margin-left: calc(-14 * var(--im-px));
        margin-right: calc(-14 * var(--im-px));
        font-size: calc(22 * var(--im-px));
    }
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-lead {
        font-size: calc(22 * var(--pm-px));
    }
    html body.v2-index .fx-lead,
    html body.v2-index .fx-summary,
    html body.v2-index .tx-lead {
        font-size: min(16px, calc(24 * var(--im-px)));
    }
    html body.v2-index .tx-lead br.tx-sentence-break,
    html body.v2-alumni .lx-stories .lx-lead br.tx-sentence-break,
    html body.v2-alumni .lx-companies .lx-lead br.tx-sentence-break {
        display: none;
    }
    html body.v2-index .wx-en .wx-card-copy h3 {
        font-size: calc(22 * var(--im-px));
    }
    html body.v2-index .wx-en .wx-card-copy p {
        font-size: calc(10.5 * var(--im-px));
        line-height: 1.6;
    }
    html body.v2-index .rx-roadmap.rx-en .rx-overview {
        font-size: calc(16 * var(--im-px));
    }
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-overview {
        font-size: calc(16 * var(--pm-px));
    }
    html body.v2-index .rx-roadmap.rx-en .rx-stage-foundation {
        font-size: calc(40 * var(--im-px));
    }
    html body.v2-program .px-program .rx-roadmap.rx-en .rx-stage-foundation {
        font-size: calc(40 * var(--pm-px));
    }
    html body.v2-alumni .lx-stat dd {
        font-size: calc(24 * var(--lm-px));
        line-height: 1.4;
    }
    html body.v2-alumni .lx-sector h3 {
        font-size: calc(32 * var(--lm-px));
    }
    html body.v2-alumni .lx-sector li {
        font-size: calc(18 * var(--lm-px));
    }
    html body.v2-alumni .lx-person-copy p {
        font-size: calc(16 * var(--lm-px));
    }
    html body.v2-alumni-story .sx-info h2 {
        font-size: calc(40 * var(--sm-px));
        line-height: calc(42 * var(--sm-px));
    }
    html body.v2-alumni-story .sx-info .sx-role {
        font-size: calc(16 * var(--sm-px));
        line-height: calc(42 * var(--sm-px));
    }
    html body.v2-index .tx-role {
        font-size: calc(22 * var(--im-px));
    }
    html body.v2-program .px-foundation-card h3 {
        font-size: calc(22 * var(--pm-px));
    }
}
