/* 正文基础（section.rich-doc 无样式仅作容器） */

:is(.rich-doc, .mce-content-body) p,
:is(.rich-doc, .mce-content-body) li,
:is(.rich-doc, .mce-content-body) a,
/* :is(.rich-doc, .mce-content-body) span, */
:is(.rich-doc, .mce-content-body) td {
    margin: 0;
    color: #353f4c;
    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);
}

:is(.rich-doc, .mce-content-body) strong,
:is(.rich-doc, .mce-content-body) b {
    font-weight: 700;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) p,
    :is(.rich-doc, .mce-content-body) li,
    :is(.rich-doc, .mce-content-body) a,
    /* :is(.rich-doc, .mce-content-body) span, */
    :is(.rich-doc, .mce-content-body) td {
        /* font-size: clamp(14px, 3.8vw, 16px); */
        line-height: 1.55;
    }
}

/* 副标题+正文 */

:is(.rich-doc, .mce-content-body) .nt-subtitle-body__heading {
    margin: 0 0 clamp(10px, 0.6771vw, 13px);
    color: #131313;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(20px, 1.563vw, 28px);
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-subtitle-body__heading {
        white-space: normal;
    }
}

:is(.rich-doc, .mce-content-body) .nt-subtitle-body > p strong,
:is(.rich-doc, .mce-content-body) .nt-subtitle-body > p b {
    color: inherit;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
}

/* 主网站副标题+内文 */

:is(.rich-doc, .mce-content-body) .nt-main-subtitle-body__heading {
    margin: 0 0 clamp(12px, 1.042vw, 20px);
    color: #002046;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(22px, 1.458vw, 28px);
    font-weight: 700;
    line-height: clamp(28px, 1.875vw, 36px);
}
:is(.rich-doc, .mce-content-body) .nt-main-subtitle-body__heading a{
    font-size: clamp(22px, 1.458vw, 28px);
    font-weight: 700;
}

:is(.rich-doc, .mce-content-body) .nt-main-subtitle-body > p {
    margin: 0;
    color: #353f4c;
    font-size: clamp(18px, 1.146vw, 22px);
    font-weight: 300;
    line-height: clamp(26px, 1.667vw, 32px);
}

:is(.rich-doc, .mce-content-body) .nt-main-subtitle-body > p strong,
:is(.rich-doc, .mce-content-body) .nt-main-subtitle-body > p b {
    color: #353f4c;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-main-subtitle-body > p {
        font-size: clamp(16px, 4vw, 18px);
        line-height: 1.55;
    }

    :is(.rich-doc, .mce-content-body) .nt-main-subtitle-body > p strong,
    :is(.rich-doc, .mce-content-body) .nt-main-subtitle-body > p b {
        line-height: inherit;
    }
}

/* 主網站三級標題+內文 */

:is(.rich-doc, .mce-content-body) .nt-main-tertiary-body {
    margin-top: clamp(16px, 1.25vw, 24px);
}

:is(.rich-doc, .mce-content-body) .nt-main-tertiary-body__heading {
    margin: 0 0 clamp(8px, 0.625vw, 12px);
    color: #353f4c;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: 700;
    line-height: 1.4;
}

:is(.rich-doc, .mce-content-body) .nt-main-tertiary-body > p {
    margin: 0;
    color: #353f4c;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(18px, 1.146vw, 22px);
    font-weight: 300;
    line-height: 1.55;
}

/* 中学表格1 */

:is(.rich-doc, .mce-content-body) .nt-secondary-table-1 {
    width: 100%;
    border-collapse: collapse;
    margin-top: clamp(10px, 0.729vw, 14px);
    margin-bottom: clamp(10px, 0.729vw, 14px);
    table-layout: fixed;
}

:is(.rich-doc, .mce-content-body) .nt-secondary-table-1 td {
    overflow-wrap: break-word;
    word-wrap: break-word;
    padding: clamp(24px, 1.5625vw, 30px) clamp(14px, 1.042vw, 20px) clamp(28px, 1.7708vw, 34px);
    border: 1px solid #d5cfe6;
    vertical-align: top;
}

:is(.rich-doc, .mce-content-body) .nt-secondary-table-1 thead td {
    background: #ebe8f5;
    font-weight: 500;
    text-align: left;
}

:is(.rich-doc, .mce-content-body) .nt-secondary-table-1 tbody td {
    background: #F5F7F8;
    vertical-align: middle;
}

:is(.rich-doc, .mce-content-body) .nt-secondary-table-1 tbody td:first-child {
    width: 25%;
    font-weight: 500;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-secondary-table-1 td {
        padding: 8px 10px;
        min-width: 0;
    }

    :is(.rich-doc, .mce-content-body) .nt-secondary-table-1 thead td:first-child {
        width: 35%;
    }

    :is(.rich-doc, .mce-content-body) .nt-secondary-table-1 thead td:last-child {
        width: 65%;
    }
}

/* 中学表格2 */

:is(.rich-doc, .mce-content-body) .nt-secondary-table-2 {
    width: 100%;
    border-collapse: collapse;
    margin-top: clamp(10px, 0.729vw, 14px);
    margin-bottom: clamp(10px, 0.729vw, 14px);
    table-layout: fixed;
}

:is(.rich-doc, .mce-content-body) .nt-secondary-table-2 td {
    overflow-wrap: break-word;
    word-wrap: break-word;
    padding: clamp(24px, 1.5625vw, 30px) clamp(14px, 1.042vw, 20px) clamp(28px, 1.7708vw, 34px);
    border: 1px solid #d5cfe6;
    text-align: left;
}

:is(.rich-doc, .mce-content-body) .nt-secondary-table-2 td:nth-of-type(1) {
    width: 18%;
    background: #ebe8f5;
    font-weight: 500;
    vertical-align: middle;
}

:is(.rich-doc, .mce-content-body) .nt-secondary-table-2 tbody td {
    vertical-align: top;
}

:is(.rich-doc, .mce-content-body) .nt-secondary-table-2 tbody td:nth-of-type(1) {
    font-weight: 500;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-secondary-table-2 td {
        padding: 8px 10px;
        min-width: 0;
    }

    :is(.rich-doc, .mce-content-body) .nt-secondary-table-2 thead td:nth-of-type(1) {
        width: 35%;
    }

    :is(.rich-doc, .mce-content-body) .nt-secondary-table-2 thead td:nth-of-type(2) {
        width: 65%;
    }
}

/* 标题加内文 */

:is(.rich-doc, .mce-content-body) .nt-title-body__heading {
    margin: 0 0 clamp(10px, 0.6771vw, 13px);
    color: #131313;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(20px, 1.563vw, 28px);
    font-weight: 500;
    line-height: 1.3;
}

/* 标题+无需列表 */

:is(.rich-doc, .mce-content-body) .nt-title-plain-list__heading {
    margin: clamp(16px, 1.25vw, 24px) 0 clamp(10px, 0.729vw, 14px);
    padding-left: 0;
    color: #353f4c;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(14px, 1.042vw, 20px);
    font-weight: 700;
    line-height: 1.3;
}

:is(.rich-doc, .mce-content-body) .nt-title-plain-list__list {
    margin: 0;
    padding-left: clamp(14px, 1.0417vw, 20px);
    list-style: none;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-title-plain-list__list {
        padding-left: 1.1em;
    }
}

/* 局部文字加粗 */

:is(.rich-doc, .mce-content-body) .nt-partial-bold-list {
    margin: 0;
    padding-left: clamp(14px, 1.0417vw, 20px);
    list-style: none;
}

:is(.rich-doc, .mce-content-body) .nt-partial-bold-list strong,
:is(.rich-doc, .mce-content-body) .nt-partial-bold-list b {
    color: inherit;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-partial-bold-list {
        padding-left: 1.1em;
    }
}

/* 圆点无序列表 */

:is(.rich-doc, .mce-content-body) .nt-circle-list {
    margin: 0;
    padding-left: 1.35em;
    list-style: circle;
    list-style-position: outside;
}

:is(.rich-doc, .mce-content-body) .nt-circle-list li {
    padding-left: 0.15em;
}

:is(.rich-doc, .mce-content-body) .nt-circle-list li::marker {
    color: #1e3e8a;
    font-size: 0.82em;
}

/* 小学表格 */

:is(.rich-doc, .mce-content-body) .nt-primary-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: clamp(16px, 1.25vw, 24px);
    table-layout: fixed;
    border: 1px solid #cfd8e3;
}

:is(.rich-doc, .mce-content-body) .nt-primary-table td {
    overflow-wrap: break-word;
    word-wrap: break-word;
    padding: clamp(14px, 1.042vw, 20px);
    border-right: 1px solid #cfd8e3;
    border-bottom: 1px solid #cfd8e3;
    background: #fff;
    text-align: left;
    vertical-align: top;
}

:is(.rich-doc, .mce-content-body) .nt-primary-table tr td:last-child {
    border-right: 0;
}

:is(.rich-doc, .mce-content-body) .nt-primary-table tbody tr:last-child td {
    border-bottom: 0;
}

:is(.rich-doc, .mce-content-body) .nt-primary-table thead td {
    background: #f1f5f9;
    font-weight: 500;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-primary-table,
    :is(.rich-doc, .mce-content-body) .nt-primary-table tbody,
    :is(.rich-doc, .mce-content-body) .nt-primary-table tr,
    :is(.rich-doc, .mce-content-body) .nt-primary-table td {
        display: block;
        width: 100%;
    }

    :is(.rich-doc, .mce-content-body) .nt-primary-table td {
        border-right: 0;
    }

    :is(.rich-doc, .mce-content-body) .nt-primary-table tr td:last-child {
        border-bottom: 1px solid #cfd8e3;
    }

    :is(.rich-doc, .mce-content-body) .nt-primary-table tbody tr:last-child td:last-child {
        border-bottom: 0;
    }
}

/* 无序列表多层级 */

:is(.rich-doc, .mce-content-body) .nt-nested-list {
    margin: 0;
    padding-left: 1.35em;
    list-style: circle;
    list-style-position: outside;
}

:is(.rich-doc, .mce-content-body) .nt-nested-list > li {
    padding-left: 0.15em;
}

:is(.rich-doc, .mce-content-body) .nt-nested-list > li::marker {
    color: #1e3e8a;
    font-size: 0.82em;
}

:is(.rich-doc, .mce-content-body) .nt-nested-list > li + li {
    margin-top: 18px;
}

:is(.rich-doc, .mce-content-body) .nt-nested-list__title {
    color: #131313;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(15px, 0.938vw, 18px);
    font-weight: 500;
    line-height: 1.5;
}

:is(.rich-doc, .mce-content-body) .nt-nested-list__dash {
    margin: 4px 0 0;
    padding-left: 1.75em;
    list-style: none;
}

:is(.rich-doc, .mce-content-body) .nt-nested-list__dash > li {
    position: relative;
}

:is(.rich-doc, .mce-content-body) .nt-nested-list__dash > li::before {
    content: "—";
    position: absolute;
    left: -1.05em;
    top: 0;
    color: currentColor;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-nested-list__title {
        font-size: clamp(14px, 3.8vw, 16px);
        line-height: 1.55;
    }
}

/* P标签段落 */

:is(.rich-doc, .mce-content-body) .nt-p-group__block {
    margin-top: clamp(20px, 1.563vw, 30px);
}

:is(.rich-doc, .mce-content-body) .nt-p-group__block:first-child {
    margin-top: 0;
}

:is(.rich-doc, .mce-content-body) .nt-p-group__block p + p {
    margin-top: 8px;
}

/* 标题+下划线 */

:is(.rich-doc, .mce-content-body) .nt-title-divider__heading {
    margin: 0 0 24px;
    color: #131313;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: calc(31 / 24);
}

:is(.rich-doc, .mce-content-body) .nt-title-divider__line {
    display: block;
    width: 100%;
    height: 1px;
    margin: 0 0 clamp(16px, 1.25vw, 24px);
    padding: 0;
    border: 0;
    background: #9dc1ea;
}

/* 有头表格-主网站 */

:is(.rich-doc, .mce-content-body) .nt-header-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border: 1px solid rgba(53, 63, 76, 0.16);
    /* border-radius: 10px; */
    overflow: hidden;
}

/* :is(.rich-doc, .mce-content-body) .nt-header-table__col-label,
:is(.rich-doc, .mce-content-body) .nt-header-table__col-count {
    width: 50%;
}

:is(.rich-doc, .mce-content-body) .nt-header-table thead th:first-child,
:is(.rich-doc, .mce-content-body) .nt-header-table tbody th[scope="row"] {
    border-right: 1px solid rgba(53, 63, 76, 0.16);
} */

:is(.rich-doc, .mce-content-body) .nt-header-table th,
:is(.rich-doc, .mce-content-body) .nt-header-table td {
    margin: 0;
    padding: clamp(12px, 1.146vw, 22px) clamp(16px, 1.563vw, 30px);
    border: none;
    border-bottom: 1px solid rgba(53, 63, 76, 0.16);
    border-right: 1px solid rgba(53, 63, 76, 0.16);
    color: #353f4c;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(18px, 1.146vw, 22px);
    line-height: 1.45;
    text-align: left;
    vertical-align: middle;
    background: #fff;
    font-weight: 300;
}

/* :is(.rich-doc, .mce-content-body) .nt-header-table tbody tr:last-child th,
:is(.rich-doc, .mce-content-body) .nt-header-table tbody tr:last-child td {
    border-bottom: none;
}

:is(.rich-doc, .mce-content-body) .nt-header-table thead th {
    font-weight: 700;
}

:is(.rich-doc, .mce-content-body) .nt-header-table tbody th[scope="row"] {
    font-weight: 300;
} */

:is(.rich-doc, .mce-content-body) .nt-header-table tbody tr:nth-child(odd) th,
:is(.rich-doc, .mce-content-body) .nt-header-table tbody tr:nth-child(odd) td {
    background: #f0eeef;
}

:is(.rich-doc, .mce-content-body) .nt-header-table tbody tr:nth-child(even) th,
:is(.rich-doc, .mce-content-body) .nt-header-table tbody tr:nth-child(even) td {
    background: #e6e5e5;
}

/* 无头列表-主网站 */

:is(.rich-doc, .mce-content-body) .nt-headless-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid rgba(53, 63, 76, 0.16);
}

:is(.rich-doc, .mce-content-body) .nt-headless-table th,
:is(.rich-doc, .mce-content-body) .nt-headless-table td {
    margin: 0;
    padding: clamp(14px, 1.25vw, 24px) clamp(18px, 1.667vw, 32px);
    border: 1px solid rgba(53, 63, 76, 0.16);
    color: #353f4c;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(16px, 1.146vw, 22px);
    line-height: 1.5;
    text-align: left;
    vertical-align: top;
    background: #fff;
    font-weight: 300;
}

:is(.rich-doc, .mce-content-body) .nt-headless-table th {
    font-weight: 700;
}

:is(.rich-doc, .mce-content-body) .nt-headless-table:not(:has([colspan])):not(:has(tr > :nth-child(3))) th {
    width: 34%;
}

/* :is(.rich-doc, .mce-content-body) .nt-headless-table th {
    width: clamp(140px, 16.667vw, 320px);
    border-right: 1px solid rgba(53, 63, 76, 0.16);
    font-weight: 700;
} */
/* 
:is(.rich-doc, .mce-content-body) .nt-headless-table td {
    font-weight: 500;
} */

/* :is(.rich-doc, .mce-content-body) .nt-headless-table tbody tr:first-child th {
    border-top-left-radius: 10px;
}

:is(.rich-doc, .mce-content-body) .nt-headless-table tbody tr:first-child td {
    border-top-right-radius: 10px;
} */

:is(.rich-doc, .mce-content-body) .nt-headless-table tbody tr:nth-child(odd) th,
:is(.rich-doc, .mce-content-body) .nt-headless-table tbody tr:nth-child(odd) td {
    background: #f0eeef;
}

:is(.rich-doc, .mce-content-body) .nt-headless-table__link {
    color: #1e3e8a;
    font-size: inherit;
    font-weight: 500;
    line-height: inherit;
    text-decoration: underline;
    overflow-wrap: anywhere;
}

:is(.rich-doc, .mce-content-body) .nt-headless-table__link:hover {
    opacity: 0.8;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-headless-table {
        width: 100%;
        table-layout: fixed;
    }

    :is(.rich-doc, .mce-content-body) .nt-headless-table th,
    :is(.rich-doc, .mce-content-body) .nt-headless-table td {
        display: table-cell;
        padding: 10px 12px;
        font-size: 13px;
        line-height: 1.35;
        vertical-align: top;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    /* 仅两列键值表（校园 InnoLab）收窄左列；带 colspan / 三列的姐妹学校表不要套 36/64，也不要砍竖线 */
    :is(.rich-doc, .mce-content-body) .nt-headless-table:not(:has([colspan])):not(:has(tr > :nth-child(3))) th {
        width: 36%;
    }

    :is(.rich-doc, .mce-content-body) .nt-headless-table:not(:has([colspan])):not(:has(tr > :nth-child(3))) td {
        width: 64%;
    }
}

/* 移动端表格与 admissions 静态页采用相同模型：容器滚动，表格固定完整列宽。 */
@media (max-width: 767px) {
    /* 三列及以上：滚动收敛到 JS 动态生成的 .nt-table-scroll 包裹层，不影响表格外的内容。 */
    .nt-table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;
    }

    /* .nt-table-scroll::-webkit-scrollbar {
        display: none;
    } */

    :is(.rich-doc, .mce-content-body) .nt-table-scroll :is(.nt-secondary-table-1, .nt-secondary-table-2, .nt-primary-table, .nt-header-table, .nt-headless-table) {
        width: 100%;
        min-width: 900px;
        table-layout: fixed;
    }

    /* 带图片的两列表格：需要滚动以保持图片正确比例 */
    :is(.rich-doc, .mce-content-body) :is(.nt-secondary-table-1, .nt-secondary-table-2, .nt-header-table, .nt-headless-table):not(:has(tr > :nth-child(3))):has(img) {
        width: 100%;
        min-width: 750px;
        table-layout: fixed;
    }

    /* 纯文本两列表格：不滚动，宽度按模板职责分配 */
    :is(.rich-doc, .mce-content-body) :is(.nt-secondary-table-1, .nt-secondary-table-2, .nt-header-table, .nt-headless-table):not(:has(tr > :nth-child(3))):not(:has(img)) {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }

    /* 纯文本两列表格的列宽分配 */
    
    /* 年级/课程内容：模板的 colgroup 已定义 20/80，移动端继续保留。 */
    :is(.rich-doc, .mce-content-body) .nt-secondary-table-1:not(:has(tr > :nth-child(3))):not(:has(img)) col:first-child {
        width: 20%;
    }

    :is(.rich-doc, .mce-content-body) .nt-secondary-table-1:not(:has(tr > :nth-child(3))):not(:has(img)) col:last-child {
        width: 80%;
    }

    /* 组件/学习目标：左侧是短标签，右侧承载主要正文。 */
    :is(.rich-doc, .mce-content-body) .nt-secondary-table-2:not(:has(tr > :nth-child(3))):not(:has(img)) :is(th, td):first-child {
        width: 30%;
    }

    :is(.rich-doc, .mce-content-body) .nt-secondary-table-2:not(:has(tr > :nth-child(3))):not(:has(img)) :is(th, td):last-child {
        width: 70%;
    }

    /* 主网站键值表：标签列收窄，长文本列获得更多换行空间。 */
    :is(.rich-doc, .mce-content-body) .nt-headless-table:not(:has([colspan])):not(:has(tr > :nth-child(3))):not(:has(img)) :is(th, td):first-child {
        width: 36%;
    }

    :is(.rich-doc, .mce-content-body) .nt-headless-table:not(:has([colspan])):not(:has(tr > :nth-child(3))):not(:has(img)) :is(th, td):last-child {
        width: 64%;
    }

    /* 有头表格的两列均为同级字段，保持均分。 */
    :is(.rich-doc, .mce-content-body) .nt-header-table:not(:has(tr > :nth-child(3))):not(:has(img)) :is(th, td) {
        width: 50%;
    }

    /* 带图片的两列表格：允许列自然展开以容纳图片 */
    :is(.rich-doc, .mce-content-body) :is(.nt-secondary-table-1, .nt-secondary-table-2, .nt-header-table, .nt-headless-table):not(:has(tr > :nth-child(3))):has(img) :is(th, td) {
        width: auto;
        min-width: 200px;
    }

    :is(.rich-doc, .mce-content-body) .nt-secondary-table-1 td,
    :is(.rich-doc, .mce-content-body) .nt-secondary-table-2 td,
    :is(.rich-doc, .mce-content-body) .nt-primary-table td,
    :is(.rich-doc, .mce-content-body) .nt-header-table th,
    :is(.rich-doc, .mce-content-body) .nt-header-table td,
    :is(.rich-doc, .mce-content-body) .nt-headless-table th,
    :is(.rich-doc, .mce-content-body) .nt-headless-table td {
        min-width: 0;
        padding: 14px 16px;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
    }

    /* 单元格内图片等比缩放：TinyMCE 会写死 width/height 属性，
       单元格被压窄后 height 属性会锁死高度导致拉伸变形。
       max-width 限宽不越格，height:auto 解锁写死高度，两者配合恢复等比；
       小图（图标/徽章）自然尺寸小于单元格时不会被放大。 */
    :is(.rich-doc, .mce-content-body) :is(.nt-secondary-table-1, .nt-secondary-table-2, .nt-primary-table, .nt-header-table, .nt-headless-table) :is(th, td) img {
        max-width: 100%;
        width: auto;
        height: auto;
        object-fit: contain;
    }
}

/* 主网站标题+内文 */

:is(.rich-doc, .mce-content-body) .nt-main-title-body__heading {
    margin: 0 0 clamp(16px, 1.458vw, 28px);
    color: #1e3e8a;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(32px, 2.813vw, 54px);
    font-weight: 500;
    line-height: 1.15;
}

:is(.rich-doc, .mce-content-body) .nt-main-title-body > p {
    margin: 0;
    color: #353f4c;
    font-size: clamp(18px, 1.146vw, 22px);
    font-weight: 300;
    line-height: 1.55;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-main-title-body > p {
        font-size: clamp(16px, 4vw, 18px);
        line-height: 1.55;
    }
}

/* 下载链接 */

:is(.rich-doc, .mce-content-body) .nt-download-link {
    margin: 0;
}

:is(.rich-doc, .mce-content-body) .nt-download-link__anchor {
    display: inline-flex;
    align-items: center;
    gap: 0.45em;
    color: #02b5dd;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(18px, 1.146vw, 22px);
    font-weight: 500;
    line-height: 1.4;
    text-decoration: underline;
}

:is(.rich-doc, .mce-content-body) .nt-download-link__anchor:hover {
    opacity: 0.8;
}

:is(.rich-doc, .mce-content-body) .nt-download-link__icon {
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    display: block;
    object-fit: contain;
}

:is(.rich-doc, .mce-content-body) .nt-download-link__anchor span {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-decoration: inherit;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-download-link__anchor {
        font-size: clamp(16px, 4vw, 18px);
        line-height: 1.4;
    }
}

/* 圆点无需列表 */

:is(.rich-doc, .mce-content-body) .nt-circle-plain {
    margin: 0;
    padding-left: 1.25em;
    list-style: disc;
    list-style-position: outside;
}

:is(.rich-doc, .mce-content-body) .nt-circle-plain > li {
    margin: 0;
    color: #353f4c;
    font-size: clamp(18px, 1.146vw, 22px);
    font-weight: 300;
    line-height: clamp(26px, 1.667vw, 32px);
}

:is(.rich-doc, .mce-content-body) .nt-circle-plain > li + li {
    margin-top: 0.35em;
}

:is(.rich-doc, .mce-content-body) .nt-circle-plain > li::marker {
    color: #1e3e8a;
}

:is(.rich-doc, .mce-content-body) .nt-circle-plain > li strong,
:is(.rich-doc, .mce-content-body) .nt-circle-plain > li b {
    color: #353f4c;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
}

@media (max-width: 767px) {
    :is(.rich-doc, .mce-content-body) .nt-circle-plain > li {
        font-size: clamp(16px, 4vw, 18px);
        line-height: 1.55;
    }

    :is(.rich-doc, .mce-content-body) .nt-circle-plain > li strong,
    :is(.rich-doc, .mce-content-body) .nt-circle-plain > li b {
        line-height: inherit;
    }
}

/* 竖向流程步骤 */

:is(.rich-doc, .mce-content-body) .nt-ensemble-flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    max-width: 896px;
    margin: 12px 0 24px;
}

:is(.rich-doc, .mce-content-body) .nt-ensemble-flow__step {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(100%, 896px);
    min-height: 67px;
    padding: 12px 24px;
    color: #0159ac;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 24px;
    letter-spacing: 0;
    text-align: center;
    background: #e0edf980;
    border-radius: 4px;
}

:is(.rich-doc, .mce-content-body) .nt-ensemble-flow__arrow {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 12px;
    height: 8px;
}

:is(.rich-doc, .mce-content-body) .nt-ensemble-flow__arrow svg {
    display: block;
    width: 12px;
    height: 8px;
}

:is(.rich-doc, .mce-content-body) .nt-ensemble-flow > p {
    width: 100%;
    margin: 0;
    padding: 0;
    min-height: 0;
    color: #353f4c;
    text-align: left;
    background: none;
}

/* 前台内容区：svg 会被过滤，箭头直接用 CSS 三角形绘制 */
.curriculum-content .nt-ensemble-flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    max-width: 896px;
    margin: 12px auto 24px;
}

.curriculum-content .nt-ensemble-flow__step {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(100%, 896px);
    min-height: 67px;
    padding: 12px 24px;
    color: #0159ac;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 24px;
    text-align: center;
    background: #e0edf980;
    border-radius: 4px;
}

.curriculum-content .nt-ensemble-flow__arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 12px;
    height: 8px;
    margin: 0;
    flex-shrink: 0;
    line-height: 0;
    background: #0159ac;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.curriculum-content .nt-ensemble-flow__arrow svg {
    display: none;
}

:is(.rich-doc, .mce-content-body) .nt-characteristics-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 1.042vw, 20px);
    margin-top: clamp(14px, 1.042vw, 20px);
}

:is(.rich-doc, .mce-content-body) .nt-characteristics-card {
    display: flex;
    flex-direction: column;
}

:is(.rich-doc, .mce-content-body) .nt-characteristics-card__header {
    background: rgba(96, 47, 157, 0.6);
    color: #fff;
    text-align: center;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    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;
}

:is(.rich-doc, .mce-content-body) .nt-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;
}

:is(.rich-doc, .mce-content-body) .nt-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: #602f9d;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    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) {
    :is(.rich-doc, .mce-content-body) .nt-characteristics-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    :is(.rich-doc, .mce-content-body) .nt-characteristics-card__header {
        font-size: 14px;
        padding: 8px 6px;
    }

    :is(.rich-doc, .mce-content-body) .nt-characteristics-card__body p {
        padding: 16px 6px;
        font-size: 12px;
        line-height: 1.45;
    }
}


/* 雙圖 css */
.ge-duo{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2.083vw, 40px);
  }
  .ge-duo figure{
    margin: 0;
  }
  .ge-duo img{
    display: block;
    width: min(100%, var(--ge-duo-img-w));
    max-width: 100%;
    height: auto;
    aspect-ratio: 874 / 1147;
    border-radius: 16px;
    object-fit: cover;
    object-position: center;
  }
  @media (max-width: 991px) {
    .ge-duo{
      grid-template-columns: 1fr;
    }
  }

/* 左連結右圖 CTA */
:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-link-image {
    margin: clamp(8px, 0.833vw, 16px) 0 0;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-link-image__anchor {
    display: inline-flex;
    align-items: center;
    gap: clamp(10px, 0.833vw, 16px);
    white-space: nowrap;
    color: #02284c;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(14px, 0.833vw, 16px);
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-link-image__anchor:hover {
    opacity: 0.8;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-link-image__asset,
:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-link-image__anchor img {
    display: block;
    flex: 0 0 56px;
    width: 56px;
    height: 28px;
    max-width: 56px;
    object-fit: contain;
}

/* ========================================
   新增图文模板样式
   ======================================== */

/* 左图右文模板 */
:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 2.083vw, 40px);
    align-items: start;
    margin: clamp(20px, 1.667vw, 32px) 0;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__figure {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__body {
    grid-column: 2;
    grid-row: 1;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__figure img,
:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__figure figcaption img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: clamp(12px, 0.833vw, 16px);
    object-fit: cover;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__figure figcaption {
    margin-top: clamp(8px, 0.625vw, 12px);
    color: #687383;
    font-size: clamp(13px, 0.833vw, 16px);
    font-weight: 300;
    line-height: 1.4;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__body h3 {
    margin: 0 0 clamp(12px, 0.833vw, 16px);
    color: #002046;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(20px, 1.25vw, 24px);
    font-weight: 700;
    line-height: 1.3;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__body p {
    margin: 0 0 clamp(12px, 0.833vw, 16px);
    color: #353f4c;
    font-size: clamp(15px, 0.938vw, 18px);
    font-weight: 300;
    line-height: 1.6;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__body p:last-child {
    margin-bottom: 0;
}

/* 左文右图模板 */
:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 2.083vw, 40px);
    align-items: start;
    margin: clamp(20px, 1.667vw, 32px) 0;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__body {
    grid-column: 1;
    grid-row: 1;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__figure {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__figure img,
:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__figure figcaption img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: clamp(12px, 0.833vw, 16px);
    object-fit: cover;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__figure figcaption {
    margin-top: clamp(8px, 0.625vw, 12px);
    color: #687383;
    font-size: clamp(13px, 0.833vw, 16px);
    font-weight: 300;
    line-height: 1.4;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__body h3 {
    margin: 0 0 clamp(12px, 0.833vw, 16px);
    color: #002046;
    font-family: "DM Sans", "PingFang HK", "Microsoft YaHei", sans-serif;
    font-size: clamp(20px, 1.25vw, 24px);
    font-weight: 700;
    line-height: 1.3;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__body p {
    margin: 0 0 clamp(12px, 0.833vw, 16px);
    color: #353f4c;
    font-size: clamp(15px, 0.938vw, 18px);
    font-weight: 300;
    line-height: 1.6;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__body p:last-child {
    margin-bottom: 0;
}

/* 一行两图模板 */
:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-two-images {
    display: flex;
    justify-content: space-between;
    gap: clamp(20px, 2.083vw, 40px);
    margin: clamp(20px, 1.667vw, 32px) 0;
    width: 100%;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-two-images__figure {
    margin: 0;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-two-images__figure img,
:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-two-images__figure figcaption img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: clamp(12px, 0.833vw, 16px);
    object-fit: contain;
}

:is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-two-images__figure figcaption {
    margin-top: clamp(8px, 0.625vw, 12px);
    color: #687383;
    font-size: clamp(13px, 0.833vw, 16px);
    font-weight: 300;
    line-height: 1.4;
    text-align: center;
}

/* 移动端响应式 */
@media (max-width: 991px) {
    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text,
    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image {
        grid-template-columns: 1fr;
        gap: clamp(16px, 4vw, 20px);
    }

    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__figure,
    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__body,
    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__body,
    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__figure {
        grid-column: 1;
    }

    /* 移动端统一为图片在上，文字在下 */
    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__figure,
    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__figure {
        grid-row: 1;
    }

    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-image-text__body,
    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-text-image__body {
        grid-row: 2;
    }

    :is(.rich-doc, .mce-content-body, .content-article, .content-block) .nt-two-images {
        flex-direction: column;
        gap: clamp(16px, 4vw, 20px);
    }
}