/* Secondary s-* pages — migrated from HKBUAS 2
 * Isolation: all business selectors are scoped under
 * body[data-page="s-curriculum|s-life-planning|s-sd-highlights"].
 * Do not add bare .curriculum- / .pcl- / figcaption rules here.
 */
html{
    scroll-behavior: smooth;
}

/* crumb-only：紧凑节奏；顶距用 padding 避免 margin 折叠被 header 盖住 */
:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"],body[data-page="ole-highlights"]) .page-hero.page-hero--crumb-only{
    padding-top: clamp(10px, 0.833vw, 16px);
    padding-bottom: 0;
}
:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"],body[data-page="ole-highlights"]) .page-hero__divider{
    margin-top: 0;
    margin-bottom: clamp(8px, 0.625vw, 12px);
}
:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"],body[data-page="ole-highlights"]) .page-breadcrumb{
    min-height: 0;
    padding-bottom: clamp(10px, 0.833vw, 16px);
}

body[data-page="s-curriculum"], body[data-page="ole-highlights"]{
    --life-purple: #602F9D;
    --life-purple-deep: #3d2369;
    --life-purple-panel: #432574;
    --life-bg: #f5f3f8;
    --life-line: #d5cfe6;
    --life-text: #131313;
    --life-text-dark: #353F4C;
    --life-sidebar-bg: #ebe8f5;
    --life-accent: #e8985c;
    --header-nav-bar-w: clamp(420px, 34vw, 660px);
    --header-tabs-w: clamp(220px, 18.438vw, 354px);
    --header-lang-w: clamp(38px, 3.021vw, 58px);
    --life-header-offset: clamp(110px, 8.75vw, 156px);
    --life-capsule-underline-offset: -1px;
    --life-capsule-panel-offset: 18px;
    --life-capsule-item-radius: 14px;
    --life-sidenav-label: #02284C;
    background: var(--life-bg);
    color: var(--life-text);
}

body[data-page="s-curriculum"] .theme-color, body[data-page="ole-highlights"] .theme-color{
    color: var(--life-purple);
}

body[data-page="s-curriculum"] #siteHeader, body[data-page="ole-highlights"] #siteHeader{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--life-purple);
    box-shadow: none;
}

body[data-page="s-curriculum"] main, body[data-page="ole-highlights"] main{
    padding-top: var(--life-header-offset);
    background: var(--life-purple);
}

body[data-page="s-curriculum"] #siteHeader .site-container, body[data-page="ole-highlights"] #siteHeader .site-container{
    padding-top: clamp(18px, 1.563vw, 30px);
    padding-bottom: clamp(18px, 1.458vw, 28px);
}

body[data-page="s-curriculum"] .header-logo-text, body[data-page="ole-highlights"] .header-logo-text{
    color: #fff;
}

body[data-page="s-curriculum"] .nav-bar, body[data-page="ole-highlights"] .nav-bar{
    background: #fff;
}

body[data-page="s-curriculum"] .nav-bar .header-nav-link, body[data-page="ole-highlights"] .nav-bar .header-nav-link{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding-inline: clamp(10px, 0.729vw, 14px);
    border-radius: var(--life-capsule-item-radius);
    color: var(--life-text-dark);
    border: none;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

body[data-page="s-curriculum"] .nav-bar .header-nav-link:hover, body[data-page="ole-highlights"] .nav-bar .header-nav-link:hover, body[data-page="s-curriculum"] .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="ole-highlights"] .nav-bar .header-nav-link[aria-expanded="true"]{
    background: color-mix(in srgb, var(--life-purple) 14%, #fff);
    color: var(--life-text-dark);
}

body[data-page="s-curriculum"] .curriculum-nav-bar, body[data-page="ole-highlights"] .curriculum-nav-bar{
    justify-content: space-between;
}

body[data-page="s-curriculum"] .header-menu-switcher, body[data-page="ole-highlights"] .header-menu-switcher{
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    height: 100%;
}

body[data-page="s-curriculum"] .header-menu-trigger::after, body[data-page="ole-highlights"] .header-menu-trigger::after, body[data-page="s-curriculum"] .nav-bar>.header-nav-link::after, body[data-page="ole-highlights"] .nav-bar>.header-nav-link::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: var(--life-capsule-underline-offset);
    width: clamp(40px, 2.917vw, 56px);
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: #fff;
    opacity: 0;
    transform: translateX(-50%) scaleX(0.5);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
}

body[data-page="s-curriculum"] .header-menu-panel, body[data-page="ole-highlights"] .header-menu-panel{
    position: absolute;
    top: calc(100% + var(--life-capsule-panel-offset));
    left: 0;
    z-index: 90;
    display: block;
    min-width: clamp(300px, 26vw, 500px);
    padding: clamp(14px, 1.042vw, 20px) clamp(16px, 1.25vw, 24px);
    border-radius: 0;
    background: var(--life-purple-panel);
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

body[data-page="s-curriculum"] .header-menu-panel.is-open, body[data-page="ole-highlights"] .header-menu-panel.is-open{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

body[data-page="s-curriculum"] .header-menu-panel a, body[data-page="ole-highlights"] .header-menu-panel a{
    display: block;
    padding: clamp(10px, 0.781vw, 15px) 0;
    color: #fff;
    font-size: clamp(14px, 1.042vw, 20px);
    font-weight: 300;
    line-height: 1.35;
    text-decoration: none;
}

body[data-page="s-curriculum"] .header-menu-panel a:hover, body[data-page="ole-highlights"] .header-menu-panel a:hover{
    color: #fff;
}

body[data-page="s-curriculum"] .header-utils, body[data-page="ole-highlights"] .header-utils{
    gap: clamp(10px, 0.85vw, 14px);
}

body[data-page="s-curriculum"] .division-tabs, body[data-page="ole-highlights"] .division-tabs{
    padding-inline: clamp(18px, 1.25vw, 24px);
    gap: clamp(12px, 0.833vw, 16px);
}

body[data-page="s-curriculum"] .division-tab, body[data-page="ole-highlights"] .division-tab{
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding-inline: clamp(8px, 0.625vw, 12px);
    border-radius: var(--life-capsule-item-radius);
    text-transform: uppercase;
    transition: background 0.2s ease, color 0.2s ease;
}

body[data-page="s-curriculum"] .division-tab::after, body[data-page="ole-highlights"] .division-tab::after{
    bottom: var(--life-capsule-underline-offset);
    width: clamp(40px, 2.917vw, 56px);
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: #fff;
    opacity: 0;
    transform: translateX(-50%) scaleX(0.5);
}

body[data-page="s-curriculum"] .division-tab:hover::after, body[data-page="ole-highlights"] .division-tab:hover::after, body[data-page="s-curriculum"] .division-tab[aria-expanded="true"]::after, body[data-page="ole-highlights"] .division-tab[aria-expanded="true"]::after, body[data-page="s-curriculum"] .division-tab.is-active::after, body[data-page="ole-highlights"] .division-tab.is-active::after{
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

body[data-page="s-curriculum"] .division-panel, body[data-page="ole-highlights"] .division-panel{
    top: calc(100% + var(--life-capsule-panel-offset));
    left: 0;
    min-width: clamp(260px, 22vw, 420px);
    padding: clamp(14px, 1.042vw, 20px) clamp(20px, 1.563vw, 30px);
    border-radius: 0;
    background: var(--life-purple-panel);
    box-shadow: none;
}

body[data-page="s-curriculum"] .division-panel a, body[data-page="ole-highlights"] .division-panel a{
    color: #fff;
}

body[data-page="s-curriculum"] .division-panel a:hover, body[data-page="ole-highlights"] .division-panel a:hover{
    color: #fff;
    background: transparent;
}

body[data-page="s-curriculum"] .lang-pill, body[data-page="ole-highlights"] .lang-pill{
    background: rgba(255, 255, 255, 0.322);
    color: #fff;
}

body[data-page="s-curriculum"] .lang-pill:hover, body[data-page="ole-highlights"] .lang-pill:hover{
    background: rgba(255, 255, 255, 0.322);
    color: #fff;
}

body[data-page="s-curriculum"] #siteHeader:hover, body[data-page="ole-highlights"] #siteHeader:hover, body[data-page="s-curriculum"] #siteHeader.is-scrolled, body[data-page="ole-highlights"] #siteHeader.is-scrolled{
    background: var(--life-purple);
    box-shadow: none;
}

body[data-page="s-curriculum"] #siteHeader:hover .header-logo-text, body[data-page="ole-highlights"] #siteHeader:hover .header-logo-text, body[data-page="s-curriculum"] #siteHeader.is-scrolled .header-logo-text, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-logo-text{
    color: #fff !important;
}

body[data-page="s-curriculum"] #siteHeader:hover .division-tabs, body[data-page="ole-highlights"] #siteHeader:hover .division-tabs, body[data-page="s-curriculum"] #siteHeader.is-scrolled .division-tabs, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tabs, body[data-page="s-curriculum"] #siteHeader:hover .lang-pill, body[data-page="ole-highlights"] #siteHeader:hover .lang-pill, body[data-page="s-curriculum"] #siteHeader.is-scrolled .lang-pill, body[data-page="ole-highlights"] #siteHeader.is-scrolled .lang-pill{
    background: rgba(255, 255, 255, 0.322);
    border-color: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(10px);
    box-shadow: none;
}

body[data-page="s-curriculum"] #siteHeader:hover .nav-bar, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar, body[data-page="s-curriculum"] #siteHeader.is-scrolled .nav-bar, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar{
    background: rgba(255, 255, 255, 0.322);
    border: 1px solid rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(10px);
    box-shadow: none;
}

body[data-page="s-curriculum"] #siteHeader:hover .nav-bar .header-nav-link, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar .header-nav-link, body[data-page="s-curriculum"] #siteHeader.is-scrolled .nav-bar .header-nav-link, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link, body[data-page="s-curriculum"] #siteHeader:hover .division-tab, body[data-page="ole-highlights"] #siteHeader:hover .division-tab, body[data-page="s-curriculum"] #siteHeader.is-scrolled .division-tab, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tab, body[data-page="s-curriculum"] #siteHeader:hover .lang-pill, body[data-page="ole-highlights"] #siteHeader:hover .lang-pill, body[data-page="s-curriculum"] #siteHeader.is-scrolled .lang-pill, body[data-page="ole-highlights"] #siteHeader.is-scrolled .lang-pill{
    color: #fff;
}

body[data-page="s-curriculum"] #siteHeader:hover .nav-bar .header-nav-link:hover, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar .header-nav-link:hover, body[data-page="s-curriculum"] #siteHeader:hover .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="ole-highlights"] #siteHeader:hover .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="s-curriculum"] #siteHeader.is-scrolled .nav-bar .header-nav-link:hover, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link:hover, body[data-page="s-curriculum"] #siteHeader.is-scrolled .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link[aria-expanded="true"]{
    color: #fff;
}

body[data-page="s-curriculum"] #siteHeader:hover .header-menu-trigger:hover::after, body[data-page="ole-highlights"] #siteHeader:hover .header-menu-trigger:hover::after, body[data-page="s-curriculum"] #siteHeader:hover .header-menu-trigger[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader:hover .header-menu-trigger[aria-expanded="true"]::after, body[data-page="s-curriculum"] #siteHeader:hover .nav-bar>.header-nav-link:hover::after, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar>.header-nav-link:hover::after, body[data-page="s-curriculum"] #siteHeader.is-scrolled .header-menu-trigger:hover::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-menu-trigger:hover::after, body[data-page="s-curriculum"] #siteHeader.is-scrolled .header-menu-trigger[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-menu-trigger[aria-expanded="true"]::after, body[data-page="s-curriculum"] #siteHeader.is-scrolled .nav-bar>.header-nav-link:hover::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar>.header-nav-link:hover::after{
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

body[data-page="s-curriculum"] #siteHeader:hover .division-tab:hover::after, body[data-page="ole-highlights"] #siteHeader:hover .division-tab:hover::after, body[data-page="s-curriculum"] #siteHeader:hover .division-tab[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader:hover .division-tab[aria-expanded="true"]::after, body[data-page="s-curriculum"] #siteHeader.is-scrolled .division-tab:hover::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tab:hover::after, body[data-page="s-curriculum"] #siteHeader.is-scrolled .division-tab[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tab[aria-expanded="true"]::after{
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

body[data-page="s-curriculum"] #siteHeader:hover .header-menu-panel, body[data-page="ole-highlights"] #siteHeader:hover .header-menu-panel, body[data-page="s-curriculum"] #siteHeader.is-scrolled .header-menu-panel, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-menu-panel{
    background: var(--life-purple-panel);
}

body[data-page="s-curriculum"] .page-hero{
    background: var(--life-purple);
}

/* 与 Curriculum 同结构：内容宽 1px 间隔线 + 上下间距 */
body[data-page="s-curriculum"] .page-hero__divider{
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.32);
}

body[data-page="s-curriculum"] .page-breadcrumb{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(14px, 0.938vw, 18px);
}

body[data-page="s-curriculum"] .page-breadcrumb a{
    color: inherit;
    text-decoration: none;
}

body[data-page="s-curriculum"] .page-breadcrumb__sep{
    display: inline;
    width: auto;
    height: auto;
    color: inherit;
    opacity: 0.85;
    line-height: inherit;
    object-fit: unset;
}

/* XD：与 Curriculum 同结构，白底顶部圆角 40px 40px 0 0 */
body[data-page="s-curriculum"] .curriculum-shell{
    width: 100%;
    margin-top: 0;
    background: #ffffff;
    border-radius: clamp(24px, 2.083vw, 40px) clamp(24px, 2.083vw, 40px) 0 0;
    overflow: hidden;
}

body[data-page="s-curriculum"] .curriculum-shell__inner{
    grid-template-columns: clamp(300px, 21.25vw, 408px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(60px, 3.9583vw, 76px);
    padding-top: clamp(32px, 2.604vw, 50px);
    padding-bottom: clamp(72px, 6.25vw, 120px);
    display: grid;
}

body[data-page="s-curriculum"] .curriculum-sidebar{
    position: static;
    overflow: hidden;
    border-radius: 0 clamp(20px, 1.563vw, 30px) 0 0;
    background: var(--life-sidebar-bg);
}

body[data-page="s-curriculum"] .curriculum-sidebar__title{
    box-sizing: border-box;
    display: flex;
    align-items: center;
    min-height: clamp(64px, 4.01vw, 77px);
    background: var(--life-purple);
    color: #fff;
    white-space: nowrap;
    margin: 0;
    padding: 0 clamp(24px, 1.667vw, 32px);
    font-size: clamp(18px, 1.25vw, 24px);
    line-height: clamp(24px, 1.615vw, 31px);
    font-weight: 600;
}

body[data-page="s-curriculum"] .curriculum-sidebar__nav{
    padding: clamp(0px, 0vw, 0px) clamp(14px, 1.042vw, 20px) clamp(14px, 2.042vw, 40px);
}

body[data-page="s-curriculum"] .curriculum-sidebar__nav>a, body[data-page="s-curriculum"] .curriculum-sidebar__toggle{
    position: relative;
    border: 0;
    background: transparent;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    /* 预留左侧三角 gutter，保证有/无 icon 的一级文案同一竖线 */
    padding: clamp(12px, .938vw, 18px) clamp(12px, .833vw, 16px) clamp(12px, .938vw, 18px) clamp(28px, 2vw, 34px);
    font-size: 18px;
    font-weight: 300;
    line-height: 24px;
    text-align: left;
    text-decoration: none;
    display: flex;
    width: 100%;
    cursor: pointer;
}

/* 间隔线只落在文案下方，不延伸到左侧三角 */
body[data-page="s-curriculum"] .curriculum-sidebar__nav>a::after,
body[data-page="s-curriculum"] .curriculum-sidebar__toggle::after{
    content: "";
    position: absolute;
    left: clamp(28px, 2vw, 34px);
    right: clamp(12px, .833vw, 16px);
    bottom: 0;
    height: 1px;
    background: #788eaa59;
    pointer-events: none;
}

body[data-page="s-curriculum"] .curriculum-sidebar__toggle .curriculum-sidebar__label, body[data-page="s-curriculum"] .curriculum-sidebar__nav>a.is-active .curriculum-sidebar__label, body[data-page="s-curriculum"] .curriculum-sidebar__subnav a.is-active .curriculum-sidebar__label{
    font-weight: 600;
}

body[data-page="s-curriculum"] .curriculum-sidebar__label{
    display: inline;
    vertical-align: middle;
    color: var(--life-sidenav-label);
}

body[data-page="s-curriculum"] .curriculum-sidebar__nav>a:hover, body[data-page="s-curriculum"] .curriculum-sidebar__nav>a.is-active, body[data-page="s-curriculum"] .curriculum-sidebar__subnav a:hover, body[data-page="s-curriculum"] .curriculum-sidebar__subnav a.is-active, body[data-page="s-curriculum"] .curriculum-sidebar__nav>a:hover .curriculum-sidebar__label, body[data-page="s-curriculum"] .curriculum-sidebar__nav>a.is-active .curriculum-sidebar__label, body[data-page="s-curriculum"] .curriculum-sidebar__subnav a:hover .curriculum-sidebar__label, body[data-page="s-curriculum"] .curriculum-sidebar__subnav a.is-active .curriculum-sidebar__label{
    color: var(--life-purple);
}

body[data-page="s-curriculum"] .curriculum-sidebar__icon{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid currentColor;
    border-radius: 50%;
    vertical-align: middle;
    opacity: 0;
    transition: opacity 0.2s ease;
}

body[data-page="s-curriculum"] .curriculum-sidebar__icon::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 4px;
    width: 6px;
    height: 1px;
    background: currentColor;
    transform: translateY(-50%);
}

body[data-page="s-curriculum"] .curriculum-sidebar__icon::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 4px;
    width: 4px;
    height: 4px;
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    background: transparent;
    transform: translateY(-50%) rotate(45deg);
}

body[data-page="s-curriculum"] .curriculum-sidebar__nav>a:hover .curriculum-sidebar__icon, body[data-page="s-curriculum"] .curriculum-sidebar__nav>a.is-active .curriculum-sidebar__icon, body[data-page="s-curriculum"] .curriculum-sidebar__subnav a:hover .curriculum-sidebar__icon, body[data-page="s-curriculum"] .curriculum-sidebar__subnav a.is-active .curriculum-sidebar__icon{
    opacity: 1;
}

/* 设计稿：三角挂在一级文案左侧外侧（不挤开文案） */
body[data-page="s-curriculum"] .curriculum-sidebar__chevron{
    position: absolute;
    left: clamp(10px, 0.729vw, 14px);
    top: 50%;
    z-index: 1;
    display: block;
    width: 10px;
    height: 8px;
    margin: 0;
    background: var(--life-purple);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: 50% 50%;
    transition: transform 0.2s ease;
    pointer-events: none;
}

body[data-page="s-curriculum"] .curriculum-sidebar__chevron::before{
    content: none;
    display: none;
}

body[data-page="s-curriculum"] .curriculum-sidebar__group.is-open .curriculum-sidebar__chevron{
    transform: translateY(-50%) rotate(0deg);
}

body[data-page="s-curriculum"] .curriculum-sidebar__subnav{
    display: none;
    /* 相对一级文案再缩进，不是相对三角 */
    padding-left: clamp(40px, 2.917vw, 52px);
}

body[data-page="s-curriculum"] .curriculum-sidebar__group.is-open .curriculum-sidebar__subnav{
    display: block;
}

body[data-page="s-curriculum"] .curriculum-sidebar__subnav a{
    position: relative;
    display: block;
    padding: clamp(10px, 0.729vw, 14px) clamp(12px, 0.833vw, 16px) clamp(10px, 0.729vw, 14px) 0;
    border: 0;
    color: #5a6278;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    line-height: calc(24/18);
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
    width: 100%;
}

body[data-page="s-curriculum"] .curriculum-sidebar__subnav a::after{
    content: "";
    position: absolute;
    left: 0;
    right: clamp(12px, 0.833vw, 16px);
    bottom: 0;
    height: 1px;
    background: rgba(120, 110, 150, 0.2);
    pointer-events: none;
}

body[data-page="s-curriculum"] .curriculum-sidebar__subnav a span:first-child{
    white-space: wrap;
    margin-right: 10px;
}

body[data-page="s-curriculum"] .curriculum-content{
    min-width: 0;
    width: 100%;
    max-width: none;
    padding-bottom: clamp(18px, 1.458vw, 28px);
}

body[data-page="s-curriculum"] .content-article__header{
    padding-bottom: clamp(14px, 1.302vw, 25px);
    margin-bottom: 0;
    border-bottom: none;
}

body[data-page="s-curriculum"] .content-article__title{
    margin: 0;
    color: var(--life-purple);
    /* font-family: "Libre Baskerville", "Songti SC", "STSong", Georgia, serif; */
    font-size: clamp(24px, 1.875vw, 36px);
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
}

body[data-page="s-curriculum"] .content-gallery-block{
    margin-bottom: clamp(28px, 2.604vw, 50px);
}

body[data-page="s-curriculum"] .content-gallery{
    --life-gallery-w: clamp(320px, 67.135vw, 1289px);
    --life-gallery-h: clamp(360px, 36.77vw, 706px);
    --life-gallery-pad-x: clamp(16px, 1.979vw, 38px);
    --life-gallery-pad-y: clamp(18px, 2.005vw, 38.5px);
    --life-gallery-gap: clamp(12px, 1.927vw, 37px);
    --life-gallery-main-w: clamp(240px, 46.458vw, 892px);
    --life-gallery-main-h: clamp(170px, 32.7604vw, 629px);
    --life-gallery-thumb-w: clamp(100px, 14.792vw, 284px);
    --life-gallery-thumb-h: clamp(62px, 9.219vw, 177px);
    --life-gallery-thumb-gap: clamp(8px, 0.625vw, 12px);
    --life-gallery-thumb-border: #413e93;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--life-gallery-gap);
    box-sizing: border-box;
    width: 100%;
    max-width: var(--life-gallery-w);
    height: var(--life-gallery-h);
    padding: var(--life-gallery-pad-y) var(--life-gallery-pad-x);
    border-radius: 10px;
    background: var(--gallery-bg, rgba(236, 233, 251, 0.3));
}

body[data-page="s-curriculum"] .content-gallery__main{
    flex: 0 0 auto;
    width: var(--life-gallery-main-w);
    height: var(--life-gallery-main-h);
    margin: 0;
    overflow: hidden;
}

body[data-page="s-curriculum"] .content-gallery__main img{
    display: block;
    width: var(--life-gallery-main-w);
    height: var(--life-gallery-main-h);
    object-fit: cover;
    border-radius: 10px;
}

body[data-page="s-curriculum"] .content-gallery__controls{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: var(--life-gallery-thumb-w);
    height: var(--life-gallery-main-h);
}

body[data-page="s-curriculum"] .content-gallery__arrow{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(24px, 1.667vw, 32px);
    height: clamp(24px, 1.667vw, 32px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--life-gallery-thumb-border);
    cursor: pointer;
    transition: opacity 0.2s ease;
}

body[data-page="s-curriculum"] .content-gallery__arrow:hover:not(:disabled){
    opacity: 0.75;
}

body[data-page="s-curriculum"] .content-gallery__arrow:disabled{
    opacity: 0.35;
    cursor: default;
}

body[data-page="s-curriculum"] .content-gallery__arrow .bi{
    font-size: clamp(18px, 1.25vw, 24px);
    line-height: 1;
}

body[data-page="s-curriculum"] .content-gallery__arrow .bi:before, body[data-page="s-curriculum"] .content-gallery__arrow .bi:after{
    font-weight: 900 !important;
}

body[data-page="s-curriculum"] .content-gallery__thumbs{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: var(--life-gallery-thumb-gap);
}

body[data-page="s-curriculum"] .content-gallery__thumb{
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: var(--life-gallery-thumb-w);
    height: var(--life-gallery-thumb-h);
    padding: 0;
    border: 5px solid transparent;
    border-radius: 4px;
    /* background: #fff; */
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

body[data-page="s-curriculum"] .content-gallery__thumb.is-active{
    border-color: var(--life-gallery-thumb-border);
}

body[data-page="s-curriculum"] .content-gallery__thumb img{
    display: block;
    width: auto;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
}

body[data-page="s-curriculum"] .content-block{
    margin-top: clamp(28px, 2.604vw, 50px);
    margin-bottom: clamp(28px, 2.604vw, 50px);
}

body[data-page="s-curriculum"] .curriculum-kicker{
    position: relative;
    margin: 0 0 10px;
    padding-left: 14px;
    color: #5a6278;
    font-size: clamp(11px, 0.729vw, 14px);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

body[data-page="s-curriculum"] .curriculum-kicker::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 2px;
    background: var(--life-accent);
}

body[data-page="s-curriculum"] .content-title{
    margin: 0 0 clamp(14px, 1.042vw, 20px);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

body[data-page="s-curriculum"] .content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"]){
    margin: 0 0 clamp(14px, 1.042vw, 20px);
    color: var(--life-text-dark);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    font-weight: 300;
    line-height: calc(24/18);
}

body[data-page="s-curriculum"] .content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"]):last-child{
    margin-bottom: 0;
}

body[data-page="s-curriculum"] #footerMain, body[data-page="ole-highlights"] #footerMain, body[data-page="s-curriculum"] #footerBar, body[data-page="ole-highlights"] #footerBar, body[data-page="s-curriculum"] .curriculum-footer-band, body[data-page="ole-highlights"] .curriculum-footer-band, body[data-page="s-curriculum"] .curriculum-footer-bar, body[data-page="ole-highlights"] .curriculum-footer-bar{
    background: var(--life-purple);
}

body[data-page="s-curriculum"] .footer-band__social-icons img, body[data-page="ole-highlights"] .footer-band__social-icons img, body[data-page="s-curriculum"] .footer-band__social-icons a.footer-social-link--xhs img, body[data-page="ole-highlights"] .footer-band__social-icons a.footer-social-link--xhs img{
    /* 切图为蓝底，着色对齐页脚紫 #512d8c */
    filter: brightness(0) saturate(100%) invert(20%) sepia(67%) saturate(1623%) hue-rotate(239deg) brightness(91%) contrast(91%);
}

body[data-page="s-curriculum"] .menu-toggle, body[data-page="ole-highlights"] .menu-toggle{
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

body[data-page="s-curriculum"] #siteHeader:hover .menu-toggle, body[data-page="ole-highlights"] #siteHeader:hover .menu-toggle, body[data-page="s-curriculum"] #siteHeader.is-scrolled .menu-toggle, body[data-page="ole-highlights"] #siteHeader.is-scrolled .menu-toggle{
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

@media (max-width: 1279px) {
    body[data-page="s-curriculum"] .curriculum-shell__inner{
        grid-template-columns: 1fr;
    }

    /* 与 xl:hidden 移动菜单对齐：侧栏改由抽屉导航承载 */
    body[data-page="s-curriculum"] .curriculum-sidebar{
        display: none;
    }

    /* 移动端章节下拉字号/字重对齐 PC 侧栏（18 / 15，分组 600） */
    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__trigger,
    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__option:not(.is-nested),
    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__group-toggle{
        font-size: 18px;
        line-height: 24px;
    }

    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__trigger{
        font-weight: 400;
    }

    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__option{
        font-weight: 300;
        padding: 12px 14px;
    }

    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__option.is-nested{
        font-size: 15px;
        line-height: calc(24 / 18);
        padding: 10px 14px 10px 28px;
    }

    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__option.is-active{
        font-weight: 600;
    }

    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__group-toggle{
        font-weight: 600;
        padding: 12px 14px;
    }

    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__group-chevron{
        font-size: 14px;
    }

    :is(body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .subpage-section-nav__panel > .subpage-section-nav__group-label{
        font-size: 18px;
        font-weight: 600;
        line-height: 24px;
    }
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .curriculum-shell{
        border-radius: 24px 24px 0 0;
        overflow: visible;
    }

    body[data-page="s-curriculum"] .curriculum-shell__inner{
        gap: 0;
        padding-top: 16px;
        padding-bottom: 56px;
    }

    body[data-page="s-curriculum"] .curriculum-content{
        min-width: 0;
        overflow: visible;
    }

    body[data-page="s-curriculum"] .content-article__header{
        margin-bottom: 20px;
        padding-bottom: 12px;
    }

    body[data-page="s-curriculum"] .content-article__title, body[data-page="s-curriculum"] .content-title{
        white-space: normal;
    }

    body[data-page="s-curriculum"] .content-gallery-block{
        margin-bottom: 24px;
    }

    /* 图集移动端统一走文件末尾 ≤1023 规则（与主站/小学一致） */

    body[data-page="s-curriculum"] .content-block{
        margin-bottom: 24px;
    }

    body[data-page="s-curriculum"] .content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"]){
        font-size: clamp(14px, 3.8vw, 16px);
        line-height: 1.55;
    }
}

body[data-page="s-curriculum"] .curriculum-list{
    margin: 0 0 clamp(14px, 1.042vw, 20px);
    padding-left: clamp(20px, 1.563vw, 28px);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, .938vw, 18px);
    font-weight: 300;
    line-height: calc(24/18);
}

body[data-page="s-curriculum"] .curriculum-list li{
    margin-bottom: 8px;
    font-size: clamp(15px, .938vw, 18px);
    line-height: calc(24/18);
    font-weight: 300;
    line-height: 1.7;
    padding-left: 0.15em;
}

body[data-page="s-curriculum"] .curriculum-list strong{
    font-weight: 700;
}

body[data-page="s-curriculum"] .content-list li::marker{
    font-size: 1em;
}

body[data-page="s-curriculum"] .content-block .content-figure{
    width: 100%;
}

body[data-page="s-curriculum"] .content-block .content-figure img{
    /* width: 100%; */
}

body[data-page="s-curriculum"] figcaption, body[data-page="s-life-planning"] figcaption, body[data-page="s-sd-highlights"] figcaption{
    margin-top: clamp(10px, .625vw, 12px);
    text-align: center;
    font-size: clamp(15px, .938vw, 18px);
    line-height: calc(24/18);
}

body[data-page="s-curriculum"] .content-block .primary-cta--students{
    margin-top: 0;
}

/* content-block: 中文科專用段落樣式 */
body[data-page="s-curriculum"] .content-block{
    margin-top: clamp(28px, 2.604vw, 50px);
    margin-bottom: clamp(28px, 2.604vw, 50px);
}

body[data-page="s-curriculum"] .content-title{
    margin: 0 0 clamp(10px, .6771vw, 13px);
    /* color: var(--life-purple); */
    font-size: clamp(20px, 1.563vw, 28px);
    font-weight: 500;
    line-height: 1.3;
}

body[data-page="s-curriculum"] .content-subtitle--topic{
    margin: clamp(16px, 1.25vw, 24px) 0 clamp(10px, 0.729vw, 14px);
    color: var(--life-text-dark);
    font-size: clamp(14px, 1.042vw, 20px);
    font-weight: 700;
    line-height: 1.3;
    padding-left: 0;
}

body[data-page="s-curriculum"] .content-subtitle--topic::before{
    display: none;
}

body[data-page="s-curriculum"] ul li{
    font-size: clamp(15px, 0.938vw, 18px);
    color: var(--life-text-dark);
}

:is(body[data-page="s-curriculum"],body[data-page="s-life-planning"]) :is(.content-block,.pcl-topic-block,.pcl-achievement-block,.pcl-activity-item) > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]), :is(.content-list,.content-list--numbered,.content-list--lines) > li > p, .content-block td > p{
    margin: 0 0 clamp(14px, 1.042vw, 20px) !important;
    /* color: var(--life-text); */
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    font-weight: 300;
    line-height: 1.7;
}

:is(body[data-page="s-curriculum"],body[data-page="s-life-planning"]) :is(.content-block,.pcl-topic-block,.pcl-achievement-block,.pcl-activity-item) > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]), :is(.content-list,.content-list--numbered,.content-list--lines) > li > p, .content-block td > p strong{
    font-weight: 700;
}

/* 課程表格樣式 */
body[data-page="s-curriculum"] .content-block table{
    width: 100%;
    border-collapse: collapse;
    margin-top: clamp(10px, 0.729vw, 14px);
    margin-bottom: clamp(10px, 0.729vw, 14px);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    font-weight: 300;
    line-height: 1.7;
}

body[data-page="s-curriculum"] .content-block table thead td{
    
    /* font-weight: 500; */
    padding: clamp(24px, 1.5625vw, 30px) clamp(14px, 1.042vw, 20px) clamp(28px, 1.7708vw, 34px);
    border: 1px solid var(--life-line);
    text-align: left;
    color: var(--curriculum-text-dark);
}

body[data-page="s-curriculum"] .content-block table td:nth-of-type(1){
    background: var(--life-sidebar-bg);
    font-weight: 500;
    vertical-align: middle;
}

body[data-page="s-curriculum"] .content-block table tbody td{
    padding: clamp(24px, 1.5625vw, 30px) clamp(14px, 1.042vw, 20px) clamp(28px, 1.7708vw, 34px);
    border: 1px solid var(--life-line);
    vertical-align: top;
    color: var(--curriculum-text-dark);
}

body[data-page="s-curriculum"] .content-block table tbody tr:nth-child(even) td{
    /* background: var(--gallery-bg, rgba(236, 233, 251, 0.3)); */
}

/* 學習目標列表 */
body[data-page="s-curriculum"] .content-list{
    margin: 0;
    padding-left: clamp(14px, 1.0417vw, 20px);
    color: var(--life-text);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    font-weight: 300;
    line-height: 1.7;
}

body[data-page="s-curriculum"] .content-list li{
    margin-bottom: 6px;
    color: var(--life-text-dark);
}

body[data-page="s-curriculum"] .content-list li::marker{
    font-size: 1em;
}

/* 學習活動表格 — 三欄佈局 */
body[data-page="s-curriculum"] .content-block table.pcl-activity-table{
    table-layout: fixed;
}

body[data-page="s-curriculum"] .content-block table.pcl-activity-table thead td{
    width: 20%;
}

body[data-page="s-curriculum"] .content-block table.pcl-activity-table thead td:nth-child(2), body[data-page="s-curriculum"] .content-block table.pcl-activity-table thead td:nth-child(3){
    width: 40%;
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .content-block{
        margin-top: 24px;
        margin-bottom: 24px;
    }

    body[data-page="s-curriculum"] .content-block table{
        font-size: 14px;
        line-height: 1.55;
    }

    body[data-page="s-curriculum"] .content-block table thead td, body[data-page="s-curriculum"] .content-block table tbody td{
        padding: 8px 10px;
        /* 优先空格换行；长单词撑破时再断词，避免叠到邻列 */
        overflow-wrap: break-word;
        word-wrap: break-word;
        min-width: 0;
    }

    body[data-page="s-curriculum"] .content-block table :is(ul,ol,li,p,a,span,strong){
        overflow-wrap: break-word;
        word-wrap: break-word;
        max-width: 100%;
    }

    /* 三列表：用 thead 单元格强制列宽（col/% 在 fixed 下会被内容挤偏） */
    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--3 col:nth-child(1),
    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--3 thead td:nth-child(1){
        width: 22% !important;
    }

    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--3 col:nth-child(2),
    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--3 thead td:nth-child(2){
        width: 39% !important;
    }

    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--3 col:nth-child(3),
    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--3 thead td:nth-child(3){
        width: 39% !important;
    }

    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--3 thead td:first-child,
    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--3 tbody td:first-child{
        white-space: normal;
    }

    body[data-page="s-curriculum"] .content-list,
    body[data-page="s-curriculum"] .pcl-core-unit-list,
    body[data-page="s-curriculum"] .pcl-core-foci-list{
        padding-left: 1.1em;
    }
}

/* 英文科課程表格 — 兩欄佈局（Component/Learning Objectives） */
body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table{
    margin-top: clamp(10px, 0.729vw, 14px);
    margin-bottom: clamp(10px, 0.729vw, 14px);
    table-layout: fixed;
}

body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table td{
    overflow-wrap: break-word;
    word-wrap: break-word;
}

body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table strong{
    font-weight: 700;
    color: var(--life-text-dark);
}

body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table thead td:first-child{
    width: 18%;
}

body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table thead td:last-child{
    /* width: 80%; */
}

body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table tbody td:first-child{
    font-weight: 500;
    /* color: var(--life-purple); */
}

/* 英文科子標題（pathway 標題） */
body[data-page="s-curriculum"] .content-subtitle{
    margin: clamp(14px, 1.042vw, 20px) 0 clamp(8px, 0.625vw, 12px);
    color: var(--life-text-dark);
    font-size: clamp(15px, 1.042vw, 18px);
    font-weight: 700;
    line-height: 1.4;
}

/* 英文科課程列表加粗 */
body[data-page="s-curriculum"] .content-list strong{
    font-weight: 700;
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table thead td:first-child{
        width: 35%;
    }

    body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table thead td:last-child{
        width: 65%;
    }
}

/* Literature in English — Curriculum Framework 表格（兩欄佈局 Genre/Paper(s)） */
body[data-page="s-curriculum"] .content-block table.pcl-framework-table{
    margin-top: clamp(10px, 0.729vw, 14px);
    margin-bottom: clamp(10px, 0.729vw, 14px);
    table-layout: fixed;
}

body[data-page="s-curriculum"] .content-block table.pcl-framework-table thead td:first-child{
    width: 25%;
}

body[data-page="s-curriculum"] .content-block table.pcl-framework-table thead td{
    background: var(--life-sidebar-bg);
}

body[data-page="s-curriculum"] .content-block table.pcl-framework-table thead td:last-child{
    width: 75%;
}

body[data-page="s-curriculum"] .content-block table.pcl-framework-table tbody td:first-child{
    font-weight: 500;
    /* color: var(--life-purple); */
}

body[data-page="s-curriculum"] .content-block table.pcl-framework-table tbody td{
    background: unset;
}

/* Newsletter grid layout */
body[data-page="s-curriculum"] .pcl-newsletter-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 1.9271vw, 37px);
    margin-top: clamp(14px, 1.042vw, 20px);
}

body[data-page="s-curriculum"] .pcl-newsletter-item{
    display: flex;
    flex-direction: column;
    gap: clamp(12px, 1.0417vw, 20px);
    padding: clamp(12px, .8333vw, 26px) clamp(12px, .8333vw, 16px) clamp(12px, .8333vw, 29px);
    background: #F5F7F8;
    border-radius: clamp(12px, .8333vw, 16px) clamp(12px, .8333vw, 16px) clamp(12px, .8333vw, 16px) clamp(12px, .8333vw, 16px);
    width: clamp(33%, 21.0938vw, 405px);
}

body[data-page="s-curriculum"] .pcl-newsletter-thumb{
    position: relative;
    width: 100%;
    aspect-ratio: 7 / 10;
    border-radius: 8px;
    overflow: hidden;
    background: var(--life-sidebar-bg);
    
}

body[data-page="s-curriculum"] .pcl-newsletter-thumb img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body[data-page="s-curriculum"] .pcl-newsletter-label{
    margin: 0;
    color: var(--life-text-dark);
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .pcl-newsletter-grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    body[data-page="s-curriculum"] .pcl-newsletter-item{
        width: 100%;
    }

    body[data-page="s-curriculum"] .pcl-newsletter-label{
        font-size: 14px;
    }
}

/* Mathematics — Curriculum Framework Visual */
body[data-page="s-curriculum"] .pcl-framework-visual{
    margin-top: clamp(14px, 1.042vw, 20px);
    padding: clamp(16px, 1.25vw, 24px);
    border-radius: 12px;
    background: linear-gradient(135deg, #2a1b5e 0%, #3d2369 50%, #432574 100%);
    color: #fff;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
}

body[data-page="s-curriculum"] .pcl-framework-row{
    display: grid;
    grid-template-columns: clamp(70px, 6vw, 100px) 1fr;
    gap: clamp(10px, 0.781vw, 14px);
    align-items: stretch;
    margin-bottom: clamp(10px, 0.781vw, 14px);
}

body[data-page="s-curriculum"] .pcl-framework-row:last-child{
    margin-bottom: 0;
}

body[data-page="s-curriculum"] .pcl-framework-grade{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(6px, 0.417vw, 8px) clamp(8px, 0.625vw, 12px);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.12);
    font-size: clamp(11px, 0.729vw, 13px);
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

body[data-page="s-curriculum"] .pcl-framework-grade--top{
    background: #e8985c;
    color: #fff;
}

body[data-page="s-curriculum"] .pcl-framework-grade--bottom{
    background: rgba(255, 255, 255, 0.18);
}

body[data-page="s-curriculum"] .pcl-framework-branches{
    display: flex;
    gap: clamp(8px, 0.625vw, 12px);
    min-width: 0;
}

body[data-page="s-curriculum"] .pcl-framework-branch{
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(6px, 0.417vw, 8px);
}

body[data-page="s-curriculum"] .pcl-framework-branch--merged{
    flex: 1 1 100%;
}

body[data-page="s-curriculum"] .pcl-framework-branch--full{
    flex: 1 1 100%;
}

body[data-page="s-curriculum"] .pcl-framework-subject{
    padding: clamp(8px, 0.556vw, 10px) clamp(10px, 0.781vw, 14px);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.15);
    font-size: clamp(12px, 0.833vw, 15px);
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    color: #fff;
}

body[data-page="s-curriculum"] .pcl-framework-subject--alt{
    background: rgba(232, 152, 92, 0.85);
}

body[data-page="s-curriculum"] .pcl-framework-courses{
    display: flex;
    flex-direction: column;
    gap: clamp(4px, 0.278vw, 6px);
}

body[data-page="s-curriculum"] .pcl-framework-course{
    padding: clamp(5px, 0.347vw, 7px) clamp(8px, 0.625vw, 12px);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
    font-size: clamp(10px, 0.625vw, 12px);
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    color: rgba(255, 255, 255, 0.9);
}

body[data-page="s-curriculum"] .pcl-framework-course--compulsory{
    background: rgba(232, 152, 92, 0.5);
    color: #fff;
}

body[data-page="s-curriculum"] .pcl-framework-course--extended{
    background: rgba(255, 255, 255, 0.18);
}

body[data-page="s-curriculum"] .pcl-framework-course--further{
    background: rgba(232, 152, 92, 0.4);
}

body[data-page="s-curriculum"] .pcl-framework-course--dual{
    background: rgba(255, 255, 255, 0.15);
}

/* Mathematics — single-column table for G7-G9 */
body[data-page="s-curriculum"] .pcl-curriculum-table--1 thead td, body[data-page="s-curriculum"] .pcl-curriculum-table--1 tbody td{
    width: 100%;
}

body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--1 tbody td, body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--2 tbody td{
    background: #F5F7F8 !important;
    font-weight: 300 !important;
    vertical-align: middle;
}

body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--2 tbody td:first-child{
    width: 25%;
}

/* Mathematics — plain two-column tables (A-Level, Further Math) */
body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--plain thead td{
    background: var(--life-sidebar-bg);
    font-weight: 500;
    text-align: center;
}

body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--plain tbody td{
    text-align: center;
    font-weight: 300 !important;
    background: #F5F7F8;
}

body[data-page="s-curriculum"] .pcl-curriculum-table--2 tbody td:nth-of-type(1){
    vertical-align: middle
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .pcl-framework-visual{
        padding: 12px;
        border-radius: 8px;
    }

    body[data-page="s-curriculum"] .pcl-framework-row{
        grid-template-columns: 60px 1fr;
        gap: 6px;
        margin-bottom: 8px;
    }

    body[data-page="s-curriculum"] .pcl-framework-branches{
        flex-direction: column;
        gap: 6px;
    }

    body[data-page="s-curriculum"] .pcl-framework-grade{
        font-size: 10px;
        padding: 4px 6px;
    }

    body[data-page="s-curriculum"] .pcl-framework-subject{
        font-size: 11px;
        padding: 6px 8px;
    }

    body[data-page="s-curriculum"] .pcl-framework-course{
        font-size: 10px;
        padding: 4px 6px;
    }
}

/* Biology — double table (NSS stream / GCE AL stream) */
body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--3 tbody td, body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--4 tbody td{
    background: #F5F7F8 !important;
    text-align: left;
    vertical-align: middle;
}
body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--3 thead td, body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--4 thead td{
    background: var(--life-sidebar-bg);
    text-align: center;
    font-weight: 500;
}

body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--4 tbody td{
    background: #F5F7F8 !important;
    text-align: center;
}

body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--3 tbody td a, body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--4 tbody td a{
    font-weight: bold;
    text-decoration: underline;
}

body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--3 tbody td:first-child, body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--4 tbody td:first-child{
    text-align: left;
    vertical-align: middle;
    font-weight: 300;
}

body[data-page="s-curriculum"] .content-block table.pcl-curriculum-table--6 tbody td:first-child{
    text-align: center;
}


/* Chemistry — Characteristics of school-based curriculum cards */
body[data-page="s-curriculum"] .pcl-characteristics-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 1.042vw, 20px);
    margin-top: clamp(14px, 1.042vw, 20px);
}

body[data-page="s-curriculum"] .pcl-characteristics-card{
    display: flex;
    flex-direction: column;
}

body[data-page="s-curriculum"] .pcl-characteristics-card__header{
    background: rgba(96, 47, 157,.6);
    color: #fff;
    text-align: center;
    font-size: clamp(15px, 1.042vw, 18px);
    font-weight: 300;
    line-height: 1.4;
    padding: clamp(14px, 1.12vw, 21.5px) clamp(6px, 0.417vw, 8px);
    border-radius: 4px;
}

body[data-page="s-curriculum"] .pcl-characteristics-card__body{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 6px;
    background: #fff;
    border-radius: clamp(8px, 0.556vw, 12px);
    padding: 0;
    /* ensure equal height: stretch p tags to fill body */
}

body[data-page="s-curriculum"] .pcl-characteristics-card__body p{
    margin: 0;
    padding: clamp(18px, 1.406vw, 27px) clamp(6px, 0.417vw, 8px);
    background: #ECE9FB;
    border-radius: 4px;
    text-align: center;
    color: var(--life-purple);
    font-size: clamp(15px, 1.042vw, 18px);
    font-weight: 300;
    line-height: 1.5;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .pcl-characteristics-grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    body[data-page="s-curriculum"] .pcl-characteristics-card__header{
        font-size: 14px;
        padding: 8px 6px;
    }

    body[data-page="s-curriculum"] .pcl-characteristics-card__body p{
        padding: 16px 6px;
        font-size: 12px;
        line-height: 1.45;
    }
}

/* Chemistry — Gallery caption */
body[data-page="s-curriculum"] .pcl-caption{
    text-align: center;
    margin-top: clamp(10px, 0.729vw, 14px);
    color: var(--life-text-dark);
    font-style: italic;
    font-size: clamp(13px, 0.903vw, 16px);
}

/* Physics — Objectives bullet list (shared with Chemistry) */
body[data-page="s-curriculum"] .pcl-objectives-list{
    /* list-style: disc; */
    padding-left: clamp(16px, 1.25vw, 24px);
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(6px, 0.417vw, 10px);
}

body[data-page="s-curriculum"] .pcl-objectives-list li{
    color: var(--life-text-dark);
    /* font-size: clamp(13px, 0.903vw, 16px); */
    line-height: 1.6;
}

/* Physics — Framework table (HKDSE / IGCSE STREAM) */
body[data-page="s-curriculum"] .pcl-framework-table{
    margin-top: clamp(10px, 0.729vw, 14px);
    margin-bottom: clamp(10px, 0.729vw, 14px);
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--life-line);
    border-radius: clamp(8px, 0.556vw, 12px);
    /* overflow: hidden; */
    /* font-size: clamp(13px, 0.903vw, 16px); */
}

body[data-page="s-curriculum"] .pcl-framework-table td{
    padding: clamp(10px, 0.729vw, 14px) clamp(10px, 0.729vw, 14px);
    border-bottom: 1px solid var(--life-line);
    vertical-align: top;
    line-height: 1.6;
}

body[data-page="s-curriculum"] .content-block table.pcl-framework-table tbody td:first-child{}

body[data-page="s-curriculum"] .pcl-framework-table tr:last-child td{
    border-bottom: none;
}

body[data-page="s-curriculum"] .pcl-framework-table .pcl-fw-grade{
    width: clamp(50px, 4.167vw, 60px);
    background: var(--life-sidebar-bg);
    text-align: center;
    color: var(--life-purple);
    vertical-align: middle;
    border-right: 1px solid var(--life-line);
}

body[data-page="s-curriculum"] .pcl-framework-table .pcl-fw-term{
    width: clamp(70px, 5.208vw, 80px);
    background: #F5F7F8;
    text-align: center;
    color: var(--life-text-dark);
    vertical-align: middle;
    border-right: 1px solid var(--life-line);
}

body[data-page="s-curriculum"] .pcl-framework-table .pcl-fw-topic{
    background: #fff;
    text-align: left;
    color: var(--life-text-dark);
    font-weight: 300;
}

body[data-page="s-curriculum"] .pcl-framework-table .pcl-fw-topic strong{
    color: var(--life-purple);
    font-weight: 500;
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .pcl-framework-table td{
        padding: 8px 10px;
        font-size: 13px;
        line-height: 1.5;
    }

    body[data-page="s-curriculum"] .pcl-framework-table .pcl-fw-grade{
        width: 45px;
    }

    body[data-page="s-curriculum"] .pcl-framework-table .pcl-fw-term{
        width: 60px;
    }
}

/* Integrated Science — Core Framework table */
body[data-page="s-curriculum"] .pcl-core-table{
    margin-top: clamp(10px, 0.729vw, 14px);
    margin-bottom: clamp(10px, 0.729vw, 14px);
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--life-line);
    border-radius: clamp(8px, 0.556vw, 12px);
    /* overflow: hidden; */
    font-size: clamp(13px, 0.903vw, 16px);
}

body[data-page="s-curriculum"] .content-block .pcl-core-table thead td{
    text-align: left;
}

body[data-page="s-curriculum"] .pcl-core-unit-list, body[data-page="s-curriculum"] .pcl-core-foci-list{
    margin: 0;
    padding-left: clamp(16px, 1.25vw, 24px);
    display: flex;
    flex-direction: column;
    gap: clamp(4px, 0.312vw, 6px);
}

body[data-page="s-curriculum"] .pcl-core-unit-list li, body[data-page="s-curriculum"] .pcl-core-foci-list li{
    color: var(--life-text-dark);
    font-size: clamp(13px, 0.833vw, 15px);
    line-height: 1.6;
    font-weight: 300;
}

/* Integrated Science — Academic Activities */
body[data-page="s-curriculum"] .pcl-activity-list{
    display: flex;
    flex-direction: column;
    gap: clamp(6px, .5208vw, 10px);
    margin-top: clamp(20px, 1.563vw, 30px);
}

body[data-page="s-curriculum"] .pcl-activity-item{
    display: flex;
    flex-direction: column;
}

body[data-page="s-curriculum"] .content-figure{
    border-radius: clamp(8px, 0.556vw, 12px);
    overflow: hidden;
    width: 100%;
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .pcl-core-table td{
        padding: 8px 10px;
        font-size: 13px;
        line-height: 1.5;
    }
}

/* Liberal Arts — Humanities Framework table */
body[data-page="s-curriculum"] .pcl-humanities-table{
    margin-top: clamp(10px, 0.729vw, 14px);
    margin-bottom: clamp(10px, 0.729vw, 14px);
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--life-line);
    border-radius: clamp(8px, 0.556vw, 12px);
    overflow: hidden;
    font-size: clamp(13px, 0.903vw, 16px);
}

body[data-page="s-curriculum"] .pcl-humanities-table thead td{
    background: var(--life-sidebar-bg);
    text-align: center;
    font-weight: 500;
    padding: clamp(10px, 0.729vw, 14px) clamp(10px, 0.729vw, 14px);
    font-size: clamp(13px, 0.903vw, 16px);
    border-bottom: 1px solid var(--life-line);
    color: var(--life-purple-deep);
}

body[data-page="s-curriculum"] .pcl-humanities-table tbody td{
    padding: clamp(10px, 0.729vw, 14px) clamp(10px, 0.729vw, 14px);
    border-bottom: 1px solid var(--life-line);
    vertical-align: top;
    line-height: 1.6;
}

body[data-page="s-curriculum"] .pcl-humanities-table tbody tr:last-child td{
    border-bottom: none;
}

body[data-page="s-curriculum"] .pcl-humanities-table td.pcl-hm-category{
    background: var(--life-sidebar-bg);
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
    color: var(--life-purple-deep);
}

body[data-page="s-curriculum"] .pcl-humanities-table .pcl-hm-list{
    margin: 0;
    padding-left: clamp(14px, 1.042vw, 18px);
    list-style-type: disc;
}

body[data-page="s-curriculum"] .pcl-humanities-table .pcl-hm-list li{
    margin-bottom: clamp(4px, 0.278vw, 6px);
}

body[data-page="s-curriculum"] .pcl-humanities-table .pcl-hm-list li:last-child{
    margin-bottom: 0;
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .pcl-humanities-table td{
        padding: 8px 10px;
        font-size: 13px;
        line-height: 1.5;
    }

    body[data-page="s-curriculum"] .pcl-humanities-table .pcl-hm-list{
        padding-left: 14px;
    }
}

/* Economics — Venn diagram figure */
body[data-page="s-curriculum"] .content-figure{
    margin: clamp(16px, 1.111vw, 22px) auto;
    max-width: 620px;
    text-align: center;
}

body[data-page="s-curriculum"] .content-figure img{
    display: block;
    width: 100%;
    height: auto;
}

/* Economics — Highlights gallery */
body[data-page="s-curriculum"] .pcl-highlight-gallery{
    display: flex;
    flex-direction: column;
    gap: clamp(12px, 0.833vw, 16px);
    margin-top: clamp(16px, 1.111vw, 22px);
}

body[data-page="s-curriculum"] .pcl-highlight-gallery__main{
    margin: 0;
    border-radius: clamp(8px, 0.556vw, 12px);
    overflow: hidden;
}

body[data-page="s-curriculum"] .pcl-highlight-gallery__main img{
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

body[data-page="s-curriculum"] .pcl-highlight-gallery__main figcaption{
    margin-top: clamp(8px, 0.556vw, 10px);
    text-align: center;
    color: var(--life-text-dark);
    font-size: clamp(13px, 0.903vw, 15px);
    line-height: 1.5;
}

body[data-page="s-curriculum"] .pcl-highlight-gallery__thumbs{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(10px, 0.694vw, 14px);
}

body[data-page="s-curriculum"] .pcl-highlight-gallery__thumbs figure{
    margin: 0;
    border-radius: clamp(6px, 0.417vw, 8px);
    overflow: hidden;
}

body[data-page="s-curriculum"] .pcl-highlight-gallery__thumbs img{
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

body[data-page="s-curriculum"] .content-block .pcl-curriculum-table--2 thead td{
    background: var(--life-sidebar-bg);
    font-weight: 500;
}

@media (max-width: 767px) {
    body[data-page="s-curriculum"] .pcl-highlight-gallery__thumbs{
        gap: 8px;
    }
}

/* Geography — top gallery (main image left + thumbs right) */
body[data-page="s-curriculum"] .pcl-top-gallery{
    display: grid;
    grid-template-columns: 2.5fr 1fr;
    gap: clamp(10px, 0.694vw, 14px);
    margin-bottom: clamp(20px, 1.563vw, 30px);
}

body[data-page="s-curriculum"] .pcl-top-gallery__main{
    margin: 0;
    border-radius: clamp(8px, 0.556vw, 12px);
    overflow: hidden;
}

body[data-page="s-curriculum"] .pcl-top-gallery__main img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 3 / 2;
}

body[data-page="s-curriculum"] .pcl-top-gallery__thumbs{
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 0.556vw, 10px);
}

body[data-page="s-curriculum"] .pcl-top-gallery__thumbs figure{
    margin: 0;
    border-radius: clamp(6px, 0.417vw, 8px);
    overflow: hidden;
    flex: 1;
}

body[data-page="s-curriculum"] .pcl-top-gallery__thumbs img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 3 / 2;
}

/* Geography — course cards */
body[data-page="s-curriculum"] .content-list li>div{
    font-size: clamp(14px, .8854vw, 17px);
}
body[data-page="s-curriculum"] .pcl-curriculum-table--2 tbody td .content-list li{
    margin-bottom: clamp(18px, 1.25vw, 24px);
}

html{
    scroll-behavior: smooth;
}

body[data-page="s-life-planning"], body[data-page="ole-highlights"]{
    --life-purple: #602F9D;
    --life-purple-deep: #3d2369;
    --life-purple-panel: #432574;
    --life-bg: #f5f3f8;
    --life-line: #d5cfe6;
    --life-text: #131313;
    --life-text-dark: #353F4C;
    --life-sidebar-bg: #ebe8f5;
    --life-accent: #e8985c;
    --header-nav-bar-w: clamp(420px, 34vw, 660px);
    --header-tabs-w: clamp(220px, 18.438vw, 354px);
    --header-lang-w: clamp(38px, 3.021vw, 58px);
    --life-header-offset: clamp(110px, 8.75vw, 156px);
    --life-capsule-underline-offset: -1px;
    --life-capsule-panel-offset: 18px;
    --life-capsule-item-radius: 14px;
    --life-sidenav-label: #02284C;
    background: var(--life-bg);
    color: var(--life-text);
}

body[data-page="s-life-planning"] #siteHeader, body[data-page="ole-highlights"] #siteHeader{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--life-purple);
    box-shadow: none;
}

body[data-page="s-life-planning"] main, body[data-page="ole-highlights"] main{
    padding-top: var(--life-header-offset);
    background: var(--life-purple);
}

body[data-page="s-life-planning"] #siteHeader .site-container, body[data-page="ole-highlights"] #siteHeader .site-container{
    padding-top: clamp(18px, 1.563vw, 30px);
    padding-bottom: clamp(18px, 1.458vw, 28px);
}

body[data-page="s-life-planning"] .header-logo-text, body[data-page="ole-highlights"] .header-logo-text{
    color: #fff;
}

body[data-page="s-life-planning"] .nav-bar, body[data-page="ole-highlights"] .nav-bar{
    background: #fff;
}

body[data-page="s-life-planning"] .nav-bar .header-nav-link, body[data-page="ole-highlights"] .nav-bar .header-nav-link{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding-inline: clamp(10px, 0.729vw, 14px);
    border-radius: var(--life-capsule-item-radius);
    color: var(--life-text-dark);
    border: none;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

body[data-page="s-life-planning"] .nav-bar .header-nav-link:hover, body[data-page="ole-highlights"] .nav-bar .header-nav-link:hover, body[data-page="s-life-planning"] .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="ole-highlights"] .nav-bar .header-nav-link[aria-expanded="true"]{
    background: color-mix(in srgb, var(--life-purple) 14%, #fff);
    color: var(--life-text-dark);
}

body[data-page="s-life-planning"] .s-life-planning-nav-bar, body[data-page="ole-highlights"] .s-life-planning-nav-bar{
    justify-content: space-between;
}

body[data-page="s-life-planning"] .header-menu-switcher, body[data-page="ole-highlights"] .header-menu-switcher{
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    height: 100%;
}

body[data-page="s-life-planning"] .header-menu-trigger::after, body[data-page="ole-highlights"] .header-menu-trigger::after, body[data-page="s-life-planning"] .nav-bar>.header-nav-link::after, body[data-page="ole-highlights"] .nav-bar>.header-nav-link::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: var(--life-capsule-underline-offset);
    width: clamp(40px, 2.917vw, 56px);
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: #fff;
    opacity: 0;
    transform: translateX(-50%) scaleX(0.5);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
}

body[data-page="s-life-planning"] .header-menu-panel, body[data-page="ole-highlights"] .header-menu-panel{
    position: absolute;
    top: calc(100% + var(--life-capsule-panel-offset));
    left: 0;
    z-index: 90;
    display: block;
    min-width: clamp(300px, 26vw, 500px);
    padding: clamp(14px, 1.042vw, 20px) clamp(16px, 1.25vw, 24px);
    border-radius: 0;
    background: var(--life-purple-panel);
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

body[data-page="s-life-planning"] .header-menu-panel.is-open, body[data-page="ole-highlights"] .header-menu-panel.is-open{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

body[data-page="s-life-planning"] .header-menu-panel a, body[data-page="ole-highlights"] .header-menu-panel a{
    display: block;
    padding: clamp(10px, 0.781vw, 15px) 0;
    color: #fff;
    font-size: clamp(14px, 1.042vw, 20px);
    font-weight: 300;
    line-height: 1.35;
    text-decoration: none;
}

body[data-page="s-life-planning"] .header-menu-panel a:hover, body[data-page="ole-highlights"] .header-menu-panel a:hover{
    color: #fff;
}

body[data-page="s-life-planning"] .header-utils, body[data-page="ole-highlights"] .header-utils{
    gap: clamp(10px, 0.85vw, 14px);
}

body[data-page="s-life-planning"] .division-tabs, body[data-page="ole-highlights"] .division-tabs{
    padding-inline: clamp(18px, 1.25vw, 24px);
    gap: clamp(12px, 0.833vw, 16px);
}

body[data-page="s-life-planning"] .division-tab, body[data-page="ole-highlights"] .division-tab{
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding-inline: clamp(8px, 0.625vw, 12px);
    border-radius: var(--life-capsule-item-radius);
    text-transform: uppercase;
    transition: background 0.2s ease, color 0.2s ease;
}

body[data-page="s-life-planning"] .division-tab::after, body[data-page="ole-highlights"] .division-tab::after{
    bottom: var(--life-capsule-underline-offset);
    width: clamp(40px, 2.917vw, 56px);
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: #fff;
    opacity: 0;
    transform: translateX(-50%) scaleX(0.5);
}

body[data-page="s-life-planning"] .division-tab:hover::after, body[data-page="ole-highlights"] .division-tab:hover::after, body[data-page="s-life-planning"] .division-tab[aria-expanded="true"]::after, body[data-page="ole-highlights"] .division-tab[aria-expanded="true"]::after, body[data-page="s-life-planning"] .division-tab.is-active::after, body[data-page="ole-highlights"] .division-tab.is-active::after{
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

body[data-page="s-life-planning"] .division-panel, body[data-page="ole-highlights"] .division-panel{
    top: calc(100% + var(--life-capsule-panel-offset));
    left: 0;
    min-width: clamp(260px, 22vw, 420px);
    padding: clamp(14px, 1.042vw, 20px) clamp(20px, 1.563vw, 30px);
    border-radius: 0;
    background: var(--life-purple-panel);
    box-shadow: none;
}

body[data-page="s-life-planning"] .division-panel a, body[data-page="ole-highlights"] .division-panel a{
    color: #fff;
}

body[data-page="s-life-planning"] .division-panel a:hover, body[data-page="ole-highlights"] .division-panel a:hover{
    color: #fff;
    background: transparent;
}

body[data-page="s-life-planning"] .lang-pill, body[data-page="ole-highlights"] .lang-pill{
    background: rgba(255, 255, 255, 0.322);
    color: #fff;
}

body[data-page="s-life-planning"] .lang-pill:hover, body[data-page="ole-highlights"] .lang-pill:hover{
    background: rgba(255, 255, 255, 0.322);
    color: #fff;
}

body[data-page="s-life-planning"] #siteHeader:hover, body[data-page="ole-highlights"] #siteHeader:hover, body[data-page="s-life-planning"] #siteHeader.is-scrolled, body[data-page="ole-highlights"] #siteHeader.is-scrolled{
    background: var(--life-purple);
    box-shadow: none;
}

body[data-page="s-life-planning"] #siteHeader:hover .header-logo-text, body[data-page="ole-highlights"] #siteHeader:hover .header-logo-text, body[data-page="s-life-planning"] #siteHeader.is-scrolled .header-logo-text, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-logo-text{
    color: #fff !important;
}

body[data-page="s-life-planning"] #siteHeader:hover .division-tabs, body[data-page="ole-highlights"] #siteHeader:hover .division-tabs, body[data-page="s-life-planning"] #siteHeader.is-scrolled .division-tabs, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tabs, body[data-page="s-life-planning"] #siteHeader:hover .lang-pill, body[data-page="ole-highlights"] #siteHeader:hover .lang-pill, body[data-page="s-life-planning"] #siteHeader.is-scrolled .lang-pill, body[data-page="ole-highlights"] #siteHeader.is-scrolled .lang-pill{
    background: rgba(255, 255, 255, 0.322);
    border-color: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(10px);
    box-shadow: none;
}

body[data-page="s-life-planning"] #siteHeader:hover .nav-bar, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar, body[data-page="s-life-planning"] #siteHeader.is-scrolled .nav-bar, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar{
    background: rgba(255, 255, 255, 0.322);
    border: 1px solid rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(10px);
    box-shadow: none;
}

body[data-page="s-life-planning"] #siteHeader:hover .nav-bar .header-nav-link, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar .header-nav-link, body[data-page="s-life-planning"] #siteHeader.is-scrolled .nav-bar .header-nav-link, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link, body[data-page="s-life-planning"] #siteHeader:hover .division-tab, body[data-page="ole-highlights"] #siteHeader:hover .division-tab, body[data-page="s-life-planning"] #siteHeader.is-scrolled .division-tab, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tab, body[data-page="s-life-planning"] #siteHeader:hover .lang-pill, body[data-page="ole-highlights"] #siteHeader:hover .lang-pill, body[data-page="s-life-planning"] #siteHeader.is-scrolled .lang-pill, body[data-page="ole-highlights"] #siteHeader.is-scrolled .lang-pill{
    color: #fff;
}

body[data-page="s-life-planning"] #siteHeader:hover .nav-bar .header-nav-link:hover, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar .header-nav-link:hover, body[data-page="s-life-planning"] #siteHeader:hover .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="ole-highlights"] #siteHeader:hover .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="s-life-planning"] #siteHeader.is-scrolled .nav-bar .header-nav-link:hover, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link:hover, body[data-page="s-life-planning"] #siteHeader.is-scrolled .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link[aria-expanded="true"]{
    color: #fff;
}

body[data-page="s-life-planning"] #siteHeader:hover .header-menu-trigger:hover::after, body[data-page="ole-highlights"] #siteHeader:hover .header-menu-trigger:hover::after, body[data-page="s-life-planning"] #siteHeader:hover .header-menu-trigger[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader:hover .header-menu-trigger[aria-expanded="true"]::after, body[data-page="s-life-planning"] #siteHeader:hover .nav-bar>.header-nav-link:hover::after, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar>.header-nav-link:hover::after, body[data-page="s-life-planning"] #siteHeader.is-scrolled .header-menu-trigger:hover::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-menu-trigger:hover::after, body[data-page="s-life-planning"] #siteHeader.is-scrolled .header-menu-trigger[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-menu-trigger[aria-expanded="true"]::after, body[data-page="s-life-planning"] #siteHeader.is-scrolled .nav-bar>.header-nav-link:hover::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar>.header-nav-link:hover::after{
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

body[data-page="s-life-planning"] #siteHeader:hover .division-tab:hover::after, body[data-page="ole-highlights"] #siteHeader:hover .division-tab:hover::after, body[data-page="s-life-planning"] #siteHeader:hover .division-tab[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader:hover .division-tab[aria-expanded="true"]::after, body[data-page="s-life-planning"] #siteHeader.is-scrolled .division-tab:hover::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tab:hover::after, body[data-page="s-life-planning"] #siteHeader.is-scrolled .division-tab[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tab[aria-expanded="true"]::after{
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

body[data-page="s-life-planning"] #siteHeader:hover .header-menu-panel, body[data-page="ole-highlights"] #siteHeader:hover .header-menu-panel, body[data-page="s-life-planning"] #siteHeader.is-scrolled .header-menu-panel, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-menu-panel{
    background: var(--life-purple-panel);
}



body[data-page="s-life-planning"] .purple{
    color: var(--life-purple);
}

body[data-page="s-life-planning"] .underline{
    text-decoration: underline;
}

body[data-page="s-life-planning"] .page-hero{
    background: var(--life-purple);
}

/* 与 Curriculum 同结构：内容宽 1px 间隔线 + 上下间距 */
body[data-page="s-life-planning"] .page-hero__divider{
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.32);
}

body[data-page="s-life-planning"] .page-breadcrumb{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(14px, 0.938vw, 18px);
}

body[data-page="s-life-planning"] .page-breadcrumb a{
    color: inherit;
    text-decoration: none;
}

body[data-page="s-life-planning"] .page-breadcrumb__sep{
    display: inline;
    width: auto;
    height: auto;
    color: inherit;
    opacity: 0.85;
    line-height: inherit;
    object-fit: unset;
}

/* XD：与 Curriculum 同结构，白底顶部圆角 40px 40px 0 0 */
body[data-page="s-life-planning"] .s-life-planning-shell{
    width: 100%;
    margin-top: 0;
    background: #ffffff;
    border-radius: clamp(24px, 2.083vw, 40px) clamp(24px, 2.083vw, 40px) 0 0;
    overflow: hidden;
}

body[data-page="s-life-planning"] .s-life-planning-shell__inner{
    grid-template-columns: clamp(300px, 21.25vw, 408px) minmax(0, 1fr);
    align-items: start;
    /* gap: clamp(36px, 3.333vw, 64px); */
    gap: clamp(60px, 3.9583vw, 76px);
    padding-top: clamp(32px, 2.604vw, 50px);
    padding-bottom: clamp(72px, 6.25vw, 120px);
    display: grid;
}

body[data-page="s-life-planning"] .s-life-planning-sidebar{
    position: static;
    overflow: hidden;
    border-radius: 0 clamp(20px, 1.563vw, 30px) 0 0;
    background: var(--life-sidebar-bg);
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__title{
    background: var(--life-purple);
    color: #fff;
    white-space: nowrap;
    margin: 0;
    padding: clamp(20px, 1.563vw, 0px) clamp(24px, 1.667vw, 32px);
    font-size: clamp(20px, 1.25vw, 24px);
    font-weight: 600;
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__nav{
    padding: clamp(0px, 0vw, 0px) clamp(14px, 1.042vw, 20px) clamp(14px, 2.042vw, 40px);
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__nav>a, body[data-page="s-life-planning"] .s-life-planning-sidebar__toggle{
    /* display: block;
  width: 100%;
  padding: clamp(12px, 0.938vw, 18px) 10px;
  border: 0;
  border-bottom: 1px solid rgba(120, 110, 150, 0.3);
  background: transparent;
  color: #4e5876;
  font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
  font-size: clamp(15px, 0.938vw, 18px);
  line-height: calc(24/18);
  font-weight: 300;
  font-style: normal;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer; */

    border-bottom: 1px solid #788eaa59;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    padding: clamp(12px, .938vw, 18px) clamp(12px, .833vw, 16px);
    font-size: 18px;
    font-weight: 300;
    line-height: 24px;
    text-decoration: none;
    display: flex;
    width: 100%;
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__toggle .s-life-planning-sidebar__label, body[data-page="s-life-planning"] .s-life-planning-sidebar__nav>a.is-active .s-life-planning-sidebar__label, body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav a.is-active .s-life-planning-sidebar__label{
    font-weight: 600;
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__label{
    display: inline;
    vertical-align: middle;
    color: var(--life-sidenav-label);
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__nav>a:hover, body[data-page="s-life-planning"] .s-life-planning-sidebar__nav>a.is-active, body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav a:hover, body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav a.is-active, body[data-page="s-life-planning"] .s-life-planning-sidebar__nav>a:hover .s-life-planning-sidebar__label, body[data-page="s-life-planning"] .s-life-planning-sidebar__nav>a.is-active .s-life-planning-sidebar__label, body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav a:hover .s-life-planning-sidebar__label, body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav a.is-active .s-life-planning-sidebar__label{
    color: var(--life-purple);
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__icon{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid currentColor;
    border-radius: 50%;
    vertical-align: middle;
    opacity: 0;
    transition: opacity 0.2s ease;
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__icon::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 4px;
    width: 6px;
    height: 1px;
    background: currentColor;
    transform: translateY(-50%);
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__icon::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 4px;
    width: 4px;
    height: 4px;
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    background: transparent;
    transform: translateY(-50%) rotate(45deg);
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__nav>a:hover .s-life-planning-sidebar__icon, body[data-page="s-life-planning"] .s-life-planning-sidebar__nav>a.is-active .s-life-planning-sidebar__icon, body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav a:hover .s-life-planning-sidebar__icon, body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav a.is-active .s-life-planning-sidebar__icon{
    opacity: 1;
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__chevron{
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 6px;
    vertical-align: middle;
    transition: transform 0.2s ease;
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__chevron::before{
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__group.is-open .s-life-planning-sidebar__chevron{
    transform: rotate(180deg);
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav{
    display: none;
    padding-left: clamp(16px, 1.25vw, 24px);
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__group.is-open .s-life-planning-sidebar__subnav{
    display: block;
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav a{
    display: block;
    padding: clamp(10px, 0.729vw, 14px) clamp(12px, 0.833vw, 16px);
    border-bottom: 1px solid rgba(120, 110, 150, 0.2);
    color: #5a6278;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    line-height: calc(24/18);
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
    width: 100%;
}

body[data-page="s-life-planning"] .s-life-planning-sidebar__subnav a span:first-child{
    white-space: wrap;
}

body[data-page="s-life-planning"] .s-life-planning-content{
    min-width: 0;
    width: 100%;
    max-width: none;
    padding-bottom: clamp(18px, 1.458vw, 28px);
}

body[data-page="s-life-planning"] .content-article__header{
    padding-bottom: clamp(14px, 1.302vw, 25px);
    margin-bottom: 0;
    border-bottom: none;
}

body[data-page="s-life-planning"] .content-article__title{
    margin: 0;
    color: var(--life-purple);
    /* font-family: "Libre Baskerville", "Songti SC", "STSong", Georgia, serif; */
    font-size: clamp(24px, 1.875vw, 36px);
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
}

body[data-page="s-life-planning"] .content-gallery-block{
    margin-bottom: clamp(28px, 2.604vw, 50px);
}

body[data-page="s-life-planning"] .content-gallery{
    --life-gallery-w: clamp(320px, 67.135vw, 1289px);
    --life-gallery-h: clamp(360px, 36.77vw, 706px);
    --life-gallery-pad-x: clamp(16px, 1.979vw, 38px);
    --life-gallery-pad-y: clamp(18px, 2.005vw, 38.5px);
    --life-gallery-gap: clamp(12px, 1.927vw, 37px);
    --life-gallery-main-w: clamp(240px, 46.458vw, 892px);
    --life-gallery-main-h: clamp(170px, 32.7604vw, 629px);
    --life-gallery-thumb-w: clamp(100px, 14.792vw, 284px);
    --life-gallery-thumb-h: clamp(62px, 9.219vw, 177px);
    --life-gallery-thumb-gap: clamp(8px, 0.625vw, 12px);
    --life-gallery-thumb-border: #413e93;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--life-gallery-gap);
    box-sizing: border-box;
    width: 100%;
    max-width: var(--life-gallery-w);
    height: var(--life-gallery-h);
    padding: var(--life-gallery-pad-y) var(--life-gallery-pad-x);
    border-radius: 10px;
    background: var(--gallery-bg, rgba(236, 233, 251, 0.3));
}

body[data-page="s-life-planning"] .content-gallery__main{
    flex: 0 0 auto;
    width: var(--life-gallery-main-w);
    height:var(--life-gallery-main-h);
    height: 100%;
    margin: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

body[data-page="s-life-planning"] .content-gallery__main img{
    display: block;
    width: var(--life-gallery-main-w);
    height: calc( var(--life-gallery-main-h) - 2.0833vw );
    height: 90%;
    object-fit: cover;
    flex: 1;
    border-radius: 10px;
}

body[data-page="s-life-planning"] .content-gallery__controls{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: var(--life-gallery-thumb-w);
    height: var(--life-gallery-main-h);
}

body[data-page="s-life-planning"] .content-gallery__arrow{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(24px, 1.667vw, 32px);
    height: clamp(24px, 1.667vw, 32px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--life-gallery-thumb-border);
    cursor: pointer;
    transition: opacity 0.2s ease;
}

body[data-page="s-life-planning"] .content-gallery__arrow:hover:not(:disabled){
    opacity: 0.75;
}

body[data-page="s-life-planning"] .content-gallery__arrow:disabled{
    opacity: 0.35;
    cursor: default;
}

body[data-page="s-life-planning"] .content-gallery__arrow .bi{
    font-size: clamp(18px, 1.25vw, 24px);
    line-height: 1;
}

body[data-page="s-life-planning"] .content-gallery__arrow .bi:before, body[data-page="s-life-planning"] .content-gallery__arrow .bi:after{
    font-weight: 900 !important;
}

body[data-page="s-life-planning"] .content-gallery__thumbs{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: var(--life-gallery-thumb-gap);
}

body[data-page="s-life-planning"] .content-gallery__thumb{
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: var(--life-gallery-thumb-w);
    height: var(--life-gallery-thumb-h);
    padding: 0;
    border: 5px solid transparent;
    border-radius: 4px;
    /* background-color: #dacfea; */
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

body[data-page="s-life-planning"] .content-gallery__thumb.is-active{
    border-color: var(--life-gallery-thumb-border);
}

body[data-page="s-life-planning"] .content-gallery__thumb img{
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
}

body[data-page="s-life-planning"] .content-block{
    margin-top: clamp(28px, 2.604vw, 50px);
    margin-bottom: clamp(28px, 2.604vw, 50px);
}

body[data-page="s-life-planning"] .s-life-planning-kicker{
    position: relative;
    margin: 0 0 10px;
    padding-left: 14px;
    color: #5a6278;
    font-size: clamp(11px, 0.729vw, 14px);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

body[data-page="s-life-planning"] .s-life-planning-kicker::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 2px;
    background: var(--life-accent);
}

body[data-page="s-life-planning"] .content-title{
    margin: 0 0 clamp(14px, 1.042vw, 20px);
    color: var(--life-text-dark);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

body[data-page="s-life-planning"] :is(.content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"]), .content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"])){
    margin: 0 0 clamp(14px, 1.042vw, 20px);
    color: var(--life-text);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    font-weight: 300;
    line-height: calc(24/18);
}

body[data-page="s-life-planning"] :is(.content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"]), .content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"])):last-child{
    margin-bottom: 0;
}

body[data-page="s-life-planning"] #footerMain, body[data-page="ole-highlights"] #footerMain, body[data-page="s-life-planning"] #footerBar, body[data-page="ole-highlights"] #footerBar, body[data-page="s-life-planning"] .s-life-planning-footer-band, body[data-page="ole-highlights"] .s-life-planning-footer-band, body[data-page="s-life-planning"] .s-life-planning-footer-bar, body[data-page="ole-highlights"] .s-life-planning-footer-bar{
    background: var(--life-purple);
}

body[data-page="s-life-planning"] .footer-band__social-icons img, body[data-page="ole-highlights"] .footer-band__social-icons img, body[data-page="s-life-planning"] .footer-band__social-icons a.footer-social-link--xhs img, body[data-page="ole-highlights"] .footer-band__social-icons a.footer-social-link--xhs img{
    /* 切图为蓝底，着色对齐页脚紫 #512d8c */
    filter: brightness(0) saturate(100%) invert(20%) sepia(67%) saturate(1623%) hue-rotate(239deg) brightness(91%) contrast(91%);
}

body[data-page="s-life-planning"] .menu-toggle, body[data-page="ole-highlights"] .menu-toggle{
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

body[data-page="s-life-planning"] #siteHeader:hover .menu-toggle, body[data-page="ole-highlights"] #siteHeader:hover .menu-toggle, body[data-page="s-life-planning"] #siteHeader.is-scrolled .menu-toggle, body[data-page="ole-highlights"] #siteHeader.is-scrolled .menu-toggle{
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

@media (max-width: 1279px) {
    body[data-page="s-life-planning"] .s-life-planning-shell__inner{
        grid-template-columns: 1fr;
    }

    /* 与 xl:hidden 移动菜单对齐：侧栏改由抽屉导航承载 */
    body[data-page="s-life-planning"] .s-life-planning-sidebar{
        display: none;
    }
}

@media (max-width: 767px) {
    body[data-page="s-life-planning"] .s-life-planning-shell{
        border-radius: 24px 24px 0 0;
        overflow: visible;
    }

    body[data-page="s-life-planning"] .s-life-planning-shell__inner{
        gap: 0;
        padding-top: 16px;
        padding-bottom: 56px;
    }

    body[data-page="s-life-planning"] .s-life-planning-content{
        min-width: 0;
        overflow: visible;
    }

    body[data-page="s-life-planning"] .content-article__header{
        margin-bottom: 20px;
        padding-bottom: 12px;
    }

    body[data-page="s-life-planning"] .content-article__title, body[data-page="s-life-planning"] .content-title{
        white-space: normal;
    }

    body[data-page="s-life-planning"] .content-gallery-block{
        margin-bottom: 24px;
    }

    /* 图集移动端统一走文件末尾 ≤1023 规则（与主站/小学一致），此处不再单独藏箭头 */

    body[data-page="s-life-planning"] .content-block{
        margin-bottom: 24px;
    }

    body[data-page="s-life-planning"] :is(.content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"]), .content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"])){
        font-size: clamp(14px, 3.8vw, 16px);
        line-height: 1.55;
    }
}

body[data-page="s-life-planning"] .content-list{
    margin: 0 0 clamp(14px, 1.042vw, 20px);
    padding-left: clamp(20px, 1.563vw, 28px);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, .938vw, 18px);
    font-weight: 300;
    line-height: calc(24/18);
}

body[data-page="s-life-planning"] .content-list li{
    margin-bottom: 8px;
    font-size: clamp(15px, .938vw, 18px);
    line-height: calc(24/18);
    font-weight: 300;
    line-height: 1.7;
    padding-left: 0.15em;
}

body[data-page="s-life-planning"] .content-list strong{
    font-weight: 700;
}

body[data-page="s-life-planning"] .s-life-planning-bullets li::marker{
    font-size: .82em;
}

body[data-page="s-life-planning"] .content-block .content-figure{
    max-width: clamp(760px, 41.25vw, 792px);
}

body[data-page="s-curriculum"] figcaption, body[data-page="s-life-planning"] figcaption, body[data-page="s-sd-highlights"] figcaption{
    margin-top: clamp(10px, .625vw, 12px);
    text-align: center;
    font-size: clamp(15px, .938vw, 18px);
    line-height: calc(24/18);
}

body[data-page="s-life-planning"] .content-block .primary-cta--students{
    padding-left: clamp(20px, 1.563vw, 28px);
    margin-top: clamp(8px, .8333vw, 16px);
}

html{
    scroll-behavior: smooth;
}

body[data-page="s-sd-highlights"], body[data-page="ole-highlights"]{
    --life-purple: #602F9D;
    --life-purple-deep: #3d2369;
    --life-purple-panel: #432574;
    --life-bg: #f5f3f8;
    --life-line: #d5cfe6;
    --life-text: #353F4C;
    --life-text-dark: #131313;
    --life-sidebar-bg: #ebe8f5;
    --life-accent: #e8985c;
    --header-nav-bar-w: clamp(420px, 34vw, 660px);
    --header-tabs-w: clamp(220px, 18.438vw, 354px);
    --header-lang-w: clamp(38px, 3.021vw, 58px);
    --life-header-offset: clamp(110px, 8.75vw, 156px);
    --life-capsule-underline-offset: -1px;
    --life-capsule-panel-offset: 18px;
    --life-capsule-item-radius: 14px;
    background: var(--life-bg);
    color: var(--life-text);
}

body[data-page="s-sd-highlights"] #siteHeader, body[data-page="ole-highlights"] #siteHeader{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--life-purple);
    box-shadow: none;
}

body[data-page="s-sd-highlights"] main, body[data-page="ole-highlights"] main{
    padding-top: var(--life-header-offset);
    background: var(--life-purple);
}

body[data-page="s-sd-highlights"] #siteHeader .site-container, body[data-page="ole-highlights"] #siteHeader .site-container{
    padding-top: clamp(18px, 1.563vw, 30px);
    padding-bottom: clamp(18px, 1.458vw, 28px);
}

body[data-page="s-sd-highlights"] .header-logo-text, body[data-page="ole-highlights"] .header-logo-text{
    color: #fff;
}

body[data-page="s-sd-highlights"] .nav-bar, body[data-page="ole-highlights"] .nav-bar{
    background: #fff;
}

body[data-page="s-sd-highlights"] .nav-bar .header-nav-link, body[data-page="ole-highlights"] .nav-bar .header-nav-link{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding-inline: clamp(10px, 0.729vw, 14px);
    border-radius: var(--life-capsule-item-radius);
    color: var(--life-text-dark);
    border: none;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

body[data-page="s-sd-highlights"] .nav-bar .header-nav-link:hover, body[data-page="ole-highlights"] .nav-bar .header-nav-link:hover, body[data-page="s-sd-highlights"] .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="ole-highlights"] .nav-bar .header-nav-link[aria-expanded="true"]{
    background: color-mix(in srgb, var(--life-purple) 14%, #fff);
    color: var(--life-text-dark);
}

body[data-page="s-sd-highlights"] .SD-Highlights-nav-bar, body[data-page="ole-highlights"] .SD-Highlights-nav-bar{
    justify-content: space-between;
}

body[data-page="s-sd-highlights"] .header-menu-switcher, body[data-page="ole-highlights"] .header-menu-switcher{
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    height: 100%;
}

body[data-page="s-sd-highlights"] .header-menu-trigger::after, body[data-page="ole-highlights"] .header-menu-trigger::after, body[data-page="s-sd-highlights"] .nav-bar>.header-nav-link::after, body[data-page="ole-highlights"] .nav-bar>.header-nav-link::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: var(--life-capsule-underline-offset);
    width: clamp(40px, 2.917vw, 56px);
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: #fff;
    opacity: 0;
    transform: translateX(-50%) scaleX(0.5);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
}

body[data-page="s-sd-highlights"] .header-menu-panel, body[data-page="ole-highlights"] .header-menu-panel{
    position: absolute;
    top: calc(100% + var(--life-capsule-panel-offset));
    left: 0;
    z-index: 90;
    display: block;
    min-width: clamp(300px, 26vw, 500px);
    padding: clamp(14px, 1.042vw, 20px) clamp(16px, 1.25vw, 24px);
    border-radius: 0;
    background: var(--life-purple-panel);
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

body[data-page="s-sd-highlights"] .header-menu-panel.is-open, body[data-page="ole-highlights"] .header-menu-panel.is-open{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

body[data-page="s-sd-highlights"] .header-menu-panel a, body[data-page="ole-highlights"] .header-menu-panel a{
    display: block;
    padding: clamp(10px, 0.781vw, 15px) 0;
    color: #fff;
    font-size: clamp(14px, 1.042vw, 20px);
    font-weight: 300;
    line-height: 1.35;
    text-decoration: none;
}

body[data-page="s-sd-highlights"] .header-menu-panel a:hover, body[data-page="ole-highlights"] .header-menu-panel a:hover{
    color: #fff;
}

body[data-page="s-sd-highlights"] .header-utils, body[data-page="ole-highlights"] .header-utils{
    gap: clamp(10px, 0.85vw, 14px);
}

body[data-page="s-sd-highlights"] .division-tabs, body[data-page="ole-highlights"] .division-tabs{
    padding-inline: clamp(18px, 1.25vw, 24px);
    gap: clamp(12px, 0.833vw, 16px);
}

body[data-page="s-sd-highlights"] .division-tab, body[data-page="ole-highlights"] .division-tab{
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding-inline: clamp(8px, 0.625vw, 12px);
    border-radius: var(--life-capsule-item-radius);
    text-transform: uppercase;
    transition: background 0.2s ease, color 0.2s ease;
}

body[data-page="s-sd-highlights"] .division-tab::after, body[data-page="ole-highlights"] .division-tab::after{
    bottom: var(--life-capsule-underline-offset);
    width: clamp(40px, 2.917vw, 56px);
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: #fff;
    opacity: 0;
    transform: translateX(-50%) scaleX(0.5);
}

body[data-page="s-sd-highlights"] .division-tab:hover::after, body[data-page="ole-highlights"] .division-tab:hover::after, body[data-page="s-sd-highlights"] .division-tab[aria-expanded="true"]::after, body[data-page="ole-highlights"] .division-tab[aria-expanded="true"]::after, body[data-page="s-sd-highlights"] .division-tab.is-active::after, body[data-page="ole-highlights"] .division-tab.is-active::after{
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

body[data-page="s-sd-highlights"] .division-panel, body[data-page="ole-highlights"] .division-panel{
    top: calc(100% + var(--life-capsule-panel-offset));
    left: 0;
    min-width: clamp(260px, 22vw, 420px);
    padding: clamp(14px, 1.042vw, 20px) clamp(20px, 1.563vw, 30px);
    border-radius: 0;
    background: var(--life-purple-panel);
    box-shadow: none;
}

body[data-page="s-sd-highlights"] .division-panel a, body[data-page="ole-highlights"] .division-panel a{
    color: #fff;
}

body[data-page="s-sd-highlights"] .division-panel a:hover, body[data-page="ole-highlights"] .division-panel a:hover{
    color: #fff;
    background: transparent;
}

body[data-page="s-sd-highlights"] .lang-pill, body[data-page="ole-highlights"] .lang-pill{
    background: rgba(255, 255, 255, 0.322);
    color: #fff;
}

body[data-page="s-sd-highlights"] .lang-pill:hover, body[data-page="ole-highlights"] .lang-pill:hover{
    background: rgba(255, 255, 255, 0.322);
    color: #fff;
}

body[data-page="s-sd-highlights"] #siteHeader:hover, body[data-page="ole-highlights"] #siteHeader:hover, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled, body[data-page="ole-highlights"] #siteHeader.is-scrolled{
    background: var(--life-purple);
    box-shadow: none;
}

body[data-page="s-sd-highlights"] #siteHeader:hover .header-logo-text, body[data-page="ole-highlights"] #siteHeader:hover .header-logo-text, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .header-logo-text, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-logo-text{
    color: #fff !important;
}

body[data-page="s-sd-highlights"] #siteHeader:hover .division-tabs, body[data-page="ole-highlights"] #siteHeader:hover .division-tabs, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .division-tabs, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tabs, body[data-page="s-sd-highlights"] #siteHeader:hover .lang-pill, body[data-page="ole-highlights"] #siteHeader:hover .lang-pill, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .lang-pill, body[data-page="ole-highlights"] #siteHeader.is-scrolled .lang-pill{
    background: rgba(255, 255, 255, 0.322);
    border-color: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(10px);
    box-shadow: none;
}

body[data-page="s-sd-highlights"] #siteHeader:hover .nav-bar, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .nav-bar, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar{
    background: rgba(255, 255, 255, 0.322);
    border: 1px solid rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(10px);
    box-shadow: none;
}

body[data-page="s-sd-highlights"] #siteHeader:hover .nav-bar .header-nav-link, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar .header-nav-link, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link, body[data-page="s-sd-highlights"] #siteHeader:hover .division-tab, body[data-page="ole-highlights"] #siteHeader:hover .division-tab, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .division-tab, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tab, body[data-page="s-sd-highlights"] #siteHeader:hover .lang-pill, body[data-page="ole-highlights"] #siteHeader:hover .lang-pill, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .lang-pill, body[data-page="ole-highlights"] #siteHeader.is-scrolled .lang-pill{
    color: #fff;
}

body[data-page="s-sd-highlights"] #siteHeader:hover .nav-bar .header-nav-link:hover, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar .header-nav-link:hover, body[data-page="s-sd-highlights"] #siteHeader:hover .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="ole-highlights"] #siteHeader:hover .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link:hover, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link:hover, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link[aria-expanded="true"], body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar .header-nav-link[aria-expanded="true"]{
    color: #fff;
}

body[data-page="s-sd-highlights"] #siteHeader:hover .header-menu-trigger:hover::after, body[data-page="ole-highlights"] #siteHeader:hover .header-menu-trigger:hover::after, body[data-page="s-sd-highlights"] #siteHeader:hover .header-menu-trigger[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader:hover .header-menu-trigger[aria-expanded="true"]::after, body[data-page="s-sd-highlights"] #siteHeader:hover .nav-bar>.header-nav-link:hover::after, body[data-page="ole-highlights"] #siteHeader:hover .nav-bar>.header-nav-link:hover::after, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .header-menu-trigger:hover::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-menu-trigger:hover::after, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .header-menu-trigger[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-menu-trigger[aria-expanded="true"]::after, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .nav-bar>.header-nav-link:hover::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .nav-bar>.header-nav-link:hover::after{
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

body[data-page="s-sd-highlights"] #siteHeader:hover .division-tab:hover::after, body[data-page="ole-highlights"] #siteHeader:hover .division-tab:hover::after, body[data-page="s-sd-highlights"] #siteHeader:hover .division-tab[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader:hover .division-tab[aria-expanded="true"]::after, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .division-tab:hover::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tab:hover::after, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .division-tab[aria-expanded="true"]::after, body[data-page="ole-highlights"] #siteHeader.is-scrolled .division-tab[aria-expanded="true"]::after{
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

body[data-page="s-sd-highlights"] #siteHeader:hover .header-menu-panel, body[data-page="ole-highlights"] #siteHeader:hover .header-menu-panel, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .header-menu-panel, body[data-page="ole-highlights"] #siteHeader.is-scrolled .header-menu-panel{
    background: var(--life-purple-panel);
}

body[data-page="s-sd-highlights"] .page-hero{
    background: var(--life-purple);
}

/* 与 Curriculum 同结构：内容宽 1px 间隔线 + 上下间距 */
body[data-page="s-sd-highlights"] .page-hero__divider{
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.32);
}

body[data-page="s-sd-highlights"] .page-breadcrumb{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(14px, 0.938vw, 18px);
}

body[data-page="s-sd-highlights"] .page-breadcrumb a{
    color: inherit;
    text-decoration: none;
}

body[data-page="s-sd-highlights"] .page-breadcrumb__sep{
    display: inline;
    width: auto;
    height: auto;
    color: inherit;
    opacity: 0.85;
    line-height: inherit;
    object-fit: unset;
}

/* XD：与 Curriculum 同结构，白底顶部圆角 40px 40px 0 0 */
body[data-page="s-sd-highlights"] .SD-Highlights-shell{
    width: 100%;
    margin-top: 0;
    background: #ffffff;
    border-radius: clamp(24px, 2.083vw, 40px) clamp(24px, 2.083vw, 40px) 0 0;
    overflow: hidden;
}

body[data-page="s-sd-highlights"] .SD-Highlights-shell__inner{
    grid-template-columns: clamp(300px, 21.25vw, 408px) minmax(0, 1fr);
    align-items: start;
    /* gap: clamp(36px, 3.333vw, 64px); */
    gap: clamp(60px, 3.9583vw, 76px);
    padding-top: clamp(32px, 2.604vw, 50px);
    padding-bottom: clamp(72px, 6.25vw, 120px);
    display: grid;
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar{
    position: static;
    overflow: hidden;
    border-radius: 0 clamp(20px, 1.563vw, 30px) 0 0;
    background: var(--life-sidebar-bg);
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__title{
    background: var(--life-purple);
    color: #fff;
    white-space: nowrap;
    margin: 0;
    padding: clamp(20px, 1.563vw, 0px) clamp(24px, 1.667vw, 32px);
    font-size: clamp(20px, 1.25vw, 24px);
    font-weight: 600;
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__nav{
    padding: clamp(0px, 0vw, 0px) clamp(14px, 1.042vw, 20px) clamp(14px, 2.042vw, 40px);
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__nav>a, body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__toggle{
    /* display: block;
  width: 100%;
  padding: clamp(12px, 0.938vw, 18px) 10px;
  border: 0;
  border-bottom: 1px solid rgba(120, 110, 150, 0.3);
  background: transparent;
  color: #4e5876;
  font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
  font-size: clamp(15px, 0.938vw, 18px);
  line-height: calc(24/18);
  font-weight: 300;
  font-style: normal;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer; */

    border-bottom: 1px solid #788eaa59;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    padding: clamp(12px, .938vw, 18px) clamp(12px, .833vw, 16px);
    font-size: 18px;
    font-weight: 300;
    line-height: 24px;
    text-decoration: none;
    display: flex;
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__label{
    display: inline;
    vertical-align: middle;
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__nav>a:hover, body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__nav>a.is-active, body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__subnav a:hover{
    color: var(--life-purple);
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__icon{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid currentColor;
    border-radius: 50%;
    vertical-align: middle;
    opacity: 0;
    transition: opacity 0.2s ease;
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__icon::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 4px;
    width: 6px;
    height: 1px;
    background: currentColor;
    transform: translateY(-50%);
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__icon::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 4px;
    width: 4px;
    height: 4px;
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    background: transparent;
    transform: translateY(-50%) rotate(45deg);
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__nav>a:hover .SD-Highlights-sidebar__icon, body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__nav>a.is-active .SD-Highlights-sidebar__icon, body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__subnav a:hover .SD-Highlights-sidebar__icon{
    opacity: 1;
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__chevron{
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 6px;
    vertical-align: middle;
    transition: transform 0.2s ease;
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__chevron::before{
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__group.is-open .SD-Highlights-sidebar__chevron{
    transform: rotate(180deg);
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__subnav{
    display: none;
    padding-left: clamp(16px, 1.25vw, 24px);
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__group.is-open .SD-Highlights-sidebar__subnav{
    display: block;
}

body[data-page="s-sd-highlights"] .SD-Highlights-sidebar__subnav a{
    display: block;
    padding: clamp(10px, 0.729vw, 14px) clamp(12px, 0.833vw, 16px);
    border-bottom: 1px solid rgba(120, 110, 150, 0.2);
    color: #5a6278;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    line-height: calc(24/18);
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
    white-space: nowrap;
}

body[data-page="s-sd-highlights"] .SD-Highlights-content{
    min-width: 0;
    width: 100%;
    max-width: none;
    padding-bottom: clamp(18px, 1.458vw, 28px);
}

body[data-page="s-sd-highlights"] .content-article__header{
    padding-bottom: clamp(14px, 1.302vw, 25px);
    margin-bottom: 0;
    border-bottom: none;
}

body[data-page="s-sd-highlights"] .content-article__title{
    margin: 0;
    color: var(--life-purple);
    /* font-family: "Libre Baskerville", "Songti SC", "STSong", Georgia, serif; */
    font-size: clamp(24px, 1.875vw, 36px);
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
}

body[data-page="s-sd-highlights"] .content-gallery-block{
    margin-bottom: clamp(28px, 2.604vw, 50px);
}

body[data-page="s-sd-highlights"] .content-gallery{
    --life-gallery-w: clamp(320px, 67.135vw, 1289px);
    --life-gallery-h: clamp(360px, 36.77vw, 706px);
    --life-gallery-pad-x: clamp(16px, 1.979vw, 38px);
    --life-gallery-pad-y: clamp(18px, 2.005vw, 38.5px);
    --life-gallery-gap: clamp(12px, 1.927vw, 37px);
    --life-gallery-main-w: clamp(240px, 46.458vw, 892px);
    --life-gallery-main-h: clamp(170px, 32.7604vw, 629px);
    --life-gallery-thumb-w: clamp(100px, 14.792vw, 284px);
    --life-gallery-thumb-h: clamp(62px, 9.219vw, 177px);
    --life-gallery-thumb-gap: clamp(8px, 0.625vw, 12px);
    --life-gallery-thumb-border: #413e93;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--life-gallery-gap);
    box-sizing: border-box;
    width: 100%;
    max-width: var(--life-gallery-w);
    height: var(--life-gallery-h);
    padding: var(--life-gallery-pad-y) var(--life-gallery-pad-x);
    border-radius: 10px;
    background: var(--gallery-bg, rgba(236, 233, 251, 0.3));
}

body[data-page="s-sd-highlights"] .content-gallery__main{
    flex: 0 0 auto;
    width: var(--life-gallery-main-w);
    height: var(--life-gallery-main-h);
    margin: 0;
    overflow: hidden;
}

body[data-page="s-sd-highlights"] .content-gallery__main img{
    display: block;
    width: var(--life-gallery-main-w);
    height: var(--life-gallery-main-h);
    object-fit: cover;
    border-radius: 10px;
}

body[data-page="s-sd-highlights"] .content-gallery__controls{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: var(--life-gallery-thumb-w);
    height: var(--life-gallery-main-h);
}

body[data-page="s-sd-highlights"] .content-gallery__arrow{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(24px, 1.667vw, 32px);
    height: clamp(24px, 1.667vw, 32px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--life-gallery-thumb-border);
    cursor: pointer;
    transition: opacity 0.2s ease;
}

body[data-page="s-sd-highlights"] .content-gallery__arrow:hover:not(:disabled){
    opacity: 0.75;
}

body[data-page="s-sd-highlights"] .content-gallery__arrow:disabled{
    opacity: 0.35;
    cursor: default;
}

body[data-page="s-sd-highlights"] .content-gallery__arrow .bi{
    font-size: clamp(18px, 1.25vw, 24px);
    line-height: 1;
}

body[data-page="s-sd-highlights"] .content-gallery__arrow .bi:before, body[data-page="s-sd-highlights"] .content-gallery__arrow .bi:after{
    font-weight: 900 !important;
}

body[data-page="s-sd-highlights"] .content-gallery__thumbs{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: var(--life-gallery-thumb-gap);
}

body[data-page="s-sd-highlights"] .content-gallery__thumb{
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: var(--life-gallery-thumb-w);
    height: var(--life-gallery-thumb-h);
    padding: 0;
    border: 5px solid transparent;
    border-radius: 4px;
    /* background: #fff; */
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

body[data-page="s-sd-highlights"] .content-gallery__thumb.is-active{
    border-color: var(--life-gallery-thumb-border);
}

body[data-page="s-sd-highlights"] .content-gallery__thumb img{
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
}

body[data-page="s-sd-highlights"] .content-block{
    margin-top: clamp(28px, 2.604vw, 50px);
    margin-bottom: clamp(28px, 2.604vw, 50px);
}

body[data-page="s-sd-highlights"] .SD-Highlights-kicker{
    position: relative;
    margin: 0 0 10px;
    padding-left: 14px;
    color: #5a6278;
    font-size: clamp(11px, 0.729vw, 14px);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

body[data-page="s-sd-highlights"] .SD-Highlights-kicker::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 2px;
    background: var(--life-accent);
}

body[data-page="s-sd-highlights"] .content-title{
    margin: 0 0 clamp(14px, 1.042vw, 20px);
    color: var(--life-text-dark);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

body[data-page="s-sd-highlights"] .content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"]){
    margin: 0 0 clamp(14px, 1.042vw, 20px);
    color: var(--life-text);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    font-weight: 300;
    line-height: calc(24/18);
}

body[data-page="s-sd-highlights"] .content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"]):last-child{
    margin-bottom: 0;
}

body[data-page="s-sd-highlights"] #footerMain, body[data-page="ole-highlights"] #footerMain, body[data-page="s-sd-highlights"] #footerBar, body[data-page="ole-highlights"] #footerBar, body[data-page="s-sd-highlights"] .SD-Highlights-footer-band, body[data-page="ole-highlights"] .SD-Highlights-footer-band, body[data-page="s-sd-highlights"] .SD-Highlights-footer-bar, body[data-page="ole-highlights"] .SD-Highlights-footer-bar{
    background: var(--life-purple);
}

body[data-page="s-sd-highlights"] .footer-band__social-icons img, body[data-page="ole-highlights"] .footer-band__social-icons img, body[data-page="s-sd-highlights"] .footer-band__social-icons a.footer-social-link--xhs img, body[data-page="ole-highlights"] .footer-band__social-icons a.footer-social-link--xhs img{
    /* 切图为蓝底，着色对齐页脚紫 #512d8c */
    filter: brightness(0) saturate(100%) invert(20%) sepia(67%) saturate(1623%) hue-rotate(239deg) brightness(91%) contrast(91%);
}

body[data-page="s-sd-highlights"] .menu-toggle, body[data-page="ole-highlights"] .menu-toggle{
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

body[data-page="s-sd-highlights"] #siteHeader:hover .menu-toggle, body[data-page="ole-highlights"] #siteHeader:hover .menu-toggle, body[data-page="s-sd-highlights"] #siteHeader.is-scrolled .menu-toggle, body[data-page="ole-highlights"] #siteHeader.is-scrolled .menu-toggle{
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

@media (max-width: 1279px) {
    body[data-page="s-sd-highlights"] .SD-Highlights-shell__inner{
        grid-template-columns: 1fr;
    }

    /* 与 xl:hidden 移动菜单对齐：侧栏改由抽屉导航承载 */
    body[data-page="s-sd-highlights"] .SD-Highlights-sidebar{
        display: none;
    }
}

@media (max-width: 767px) {
    body[data-page="s-sd-highlights"] .SD-Highlights-shell{
        border-radius: 24px 24px 0 0;
        overflow: visible;
    }

    body[data-page="s-sd-highlights"] .SD-Highlights-shell__inner{
        gap: 0;
        padding-top: 16px;
        padding-bottom: 56px;
    }

    body[data-page="s-sd-highlights"] .SD-Highlights-content{
        min-width: 0;
        overflow: visible;
    }

    body[data-page="s-sd-highlights"] .content-article__header{
        margin-bottom: 20px;
        padding-bottom: 12px;
    }

    body[data-page="s-sd-highlights"] .content-article__title, body[data-page="s-sd-highlights"] .content-title{
        white-space: normal;
    }

    body[data-page="s-sd-highlights"] .content-gallery-block{
        margin-bottom: 24px;
    }

    /* 图集移动端统一走文件末尾 ≤1023 规则（与主站/小学一致） */

    body[data-page="s-sd-highlights"] .content-block{
        margin-bottom: 24px;
    }

    body[data-page="s-sd-highlights"] .content-block > p:not([class*="title"]):not([class*="subtitle"]):not([class*="heading"]):not([class*="label"]):not([class*="role"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="num"]){
        font-size: clamp(14px, 3.8vw, 16px);
        line-height: 1.55;
    }
}

body[data-page="s-sd-highlights"] .SD-Highlights-list{
    margin: 0 0 clamp(14px, 1.042vw, 20px);
    padding-left: clamp(20px, 1.563vw, 28px);
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, .938vw, 18px);
    font-weight: 300;
    line-height: calc(24/18);
}

body[data-page="s-sd-highlights"] .SD-Highlights-list li{
    margin-bottom: 8px;
    font-size: clamp(15px, .938vw, 18px);
    line-height: calc(24/18);
    font-weight: 300;
    line-height: 1.7;
    padding-left: 0.15em;
}

body[data-page="s-sd-highlights"] .SD-Highlights-list strong{
    font-weight: 700;
}

body[data-page="s-sd-highlights"] .SD-Highlights-bullets li::marker{
    font-size: .82em;
}

body[data-page="s-sd-highlights"] .content-block .content-figure{
    max-width: clamp(760px, 41.25vw, 792px);
}

body[data-page="s-curriculum"] figcaption, body[data-page="s-life-planning"] figcaption, body[data-page="s-sd-highlights"] figcaption{
    margin-top: clamp(10px, .625vw, 12px);
    text-align: center;
    font-size: clamp(15px, .938vw, 18px);
    line-height: calc(24/18);
}

/* ========== content-gallery isolation: neutralize bare app.css rules ==========
   统一 class 为 .content-gallery 后，app.css 里 Campus/Excellence 等裸选择器会污染中学皮肤。
   桌面 ≥1024 重申中学尺寸；≤1023 与主站/小学同一套「主图上 + 横排缩略图 + 旋转箭头」。 */
:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery{
    margin: 0;
    min-height: 0;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main,
:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main:has(.content-gallery__caption){
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__thumb{
    aspect-ratio: auto;
    background: transparent;
    padding: 0;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__thumb.is-active{
    background: transparent;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__caption{
    text-transform: none;
}

@media (min-width: 1024px) {
:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery{
    display: flex;
    flex-direction: row;
    max-height: none;
    width: 100%;
    max-width: var(--life-gallery-w);
    height: var(--life-gallery-h);
    align-items: center;
    justify-content: center;
    gap: var(--life-gallery-gap);
    padding: var(--life-gallery-pad-y) var(--life-gallery-pad-x);
    border-radius: 10px;
    background: var(--gallery-bg, rgba(236, 233, 251, 0.3));
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main,
:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main:has(.content-gallery__caption){
    flex: 0 0 auto;
    width: var(--life-gallery-main-w);
    max-width: var(--life-gallery-main-w);
    height: var(--life-gallery-main-h);
    margin: 0;
    align-items: stretch;
    justify-content: flex-start;
}

:is(body[data-page="s-curriculum"],body[data-page="s-sd-highlights"]) .content-gallery__main,
:is(body[data-page="s-curriculum"],body[data-page="s-sd-highlights"]) .content-gallery__main:has(.content-gallery__caption){
    overflow: hidden;
    display: block;
}

body[data-page="s-life-planning"] .content-gallery__main,
body[data-page="s-life-planning"] .content-gallery__main:has(.content-gallery__caption){
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: var(--life-gallery-main-h);
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main > img,
:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main:has(.content-gallery__caption) > img{
    display: block;
    width: var(--life-gallery-main-w);
    max-width: 100%;
    max-height: none;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    background: transparent;
    flex: none;
}

:is(body[data-page="s-curriculum"],body[data-page="s-sd-highlights"]) .content-gallery__main > img,
:is(body[data-page="s-curriculum"],body[data-page="s-sd-highlights"]) .content-gallery__main:has(.content-gallery__caption) > img{
    height: var(--life-gallery-main-h);
}

body[data-page="s-life-planning"] .content-gallery__main > img,
body[data-page="s-life-planning"] .content-gallery__main:has(.content-gallery__caption) > img{
    height: calc(var(--life-gallery-main-h) - 2.0833vw);
    flex: 1 1 auto;
    min-height: 0;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__caption{
    margin: clamp(10px, 0.625vw, 12px) 0 0;
    color: inherit;
    font: inherit;
    font-size: clamp(15px, 0.938vw, 18px);
    line-height: calc(24 / 18);
    text-align: center;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__controls{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    align-self: auto;
    width: var(--life-gallery-thumb-w);
    min-height: 0;
    height: var(--life-gallery-main-h);
    padding: 0;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__thumbs{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: var(--life-gallery-thumb-gap);
    width: auto;
    min-height: 0;
    padding: 0;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__thumb{
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    flex: 0 0 auto;
    width: var(--life-gallery-thumb-w);
    max-width: none;
    height: var(--life-gallery-thumb-h);
    border: 5px solid transparent;
    border-radius: 4px;
    overflow: hidden;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__thumb.is-active{
    border-color: var(--life-gallery-thumb-border);
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__thumb img{
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
}

:is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow{
    color: var(--life-gallery-thumb-border);
    background: transparent;
    border: 0;
    border-radius: 0;
}
}

/* 侧栏已藏（≤1279）但仍是桌面左右栏（≥1024）：去掉 67vw 上限，主图撑满正文 */
@media (min-width: 1024px) and (max-width: 1279px) {
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery-shell,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery-block{
    width: 100%;
    max-width: none;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery{
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 0;
    justify-content: flex-start;
    align-items: stretch;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main:has(.content-gallery__caption){
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    height: auto;
  }

  body[data-page="s-life-planning"] .content-gallery__main,
  body[data-page="s-life-planning"] .content-gallery__main:has(.content-gallery__caption){
    height: auto;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main > img,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main:has(.content-gallery__caption) > img{
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 892 / 629;
    object-fit: cover;
    flex: none;
  }

  body[data-page="s-life-planning"] .content-gallery__main > img,
  body[data-page="s-life-planning"] .content-gallery__main:has(.content-gallery__caption) > img{
    height: auto;
    flex: none;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__controls{
    flex: 0 0 auto;
    width: var(--life-gallery-thumb-w);
    height: auto;
    align-self: stretch;
    justify-content: space-between;
  }
}

/* ≤1023：与主站 / 小学同一套移动端图集（主图上、左右箭头、中间横滑缩略图） */
@media (max-width: 1023px) {
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery-shell,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery-block{
    width: 100%;
    max-width: none;
    margin-bottom: clamp(20px, 3vw, 28px);
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 0;
    gap: clamp(12px, 3vw, 20px);
    padding: clamp(16px, 3vw, 24px);
    overflow: visible;
    background: var(--gallery-bg, rgba(236, 233, 251, 0.3));
    border-radius: 10px;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main:has(.content-gallery__caption){
    display: flex;
    flex-direction: column;
    flex: none;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    overflow: visible;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main > img,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__main:has(.content-gallery__caption) > img{
    flex: none;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 892 / 629;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__caption{
    margin-top: clamp(10px, 2vw, 14px);
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__controls{
    display: flex;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    align-self: stretch;
    width: 100%;
    min-height: 0;
    height: auto;
    gap: 12px;
    padding: 0;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__thumbs{
    display: flex;
    flex: 1 1 auto;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: safe center;
    gap: clamp(8px, 2vw, 12px);
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__thumb{
    flex: 0 0 auto;
    width: clamp(72px, 20vw, 140px);
    max-width: none;
    height: auto;
    aspect-ratio: 284 / 177;
    border-width: 4px;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__thumb img{
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow{
    display: inline-flex;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow--prev{
    order: -1;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow--next{
    order: 1;
    margin-top: 0;
  }

  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow--prev,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow--next{
    transform: none;
  }

  /* 桌面是 ↑↓；移动端只转 icon 一次 → 《》，勿同时转 button 造成 -180° */
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow--prev svg,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow--next svg,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow--prev .bi,
  :is(body[data-site="secondary"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"]) .content-gallery__arrow--next .bi{
    transform: rotate(-90deg);
  }
}


/* 2K：中学 s-* token 去掉 clamp 上限（body 作用域覆盖 :root） */
@media (min-width: 1921px) {
  :is(body[data-site="secondary"],body[data-page^="s-"],body[data-page="s-curriculum"],body[data-page="s-life-planning"],body[data-page="s-sd-highlights"],body[data-page^="secondary-"]) {
    --header-lang-w: 3.021vw;
    --header-nav-bar-w: 34vw;
    --header-tabs-w: 18.438vw;
    --life-gallery-gap: 1.927vw;
    --life-gallery-h: 36.77vw;
    --life-gallery-main-h: 32.7604vw;
    --life-gallery-main-w: 46.458vw;
    --life-gallery-pad-x: 1.979vw;
    --life-gallery-pad-y: 2.005vw;
    --life-gallery-thumb-gap: 0.625vw;
    --life-gallery-thumb-h: 9.219vw;
    --life-gallery-thumb-w: 14.792vw;
    --life-gallery-w: 67.135vw;
    --life-header-offset: 8.75vw;
  }
}
