/* 全站首图共用高度；导航实际高度由 shared-nav.js 同步。
   body 使用 zoom 的旧页面按比例还原，保证不同页面的实际显示高度一致。 */
body.inner-page-layout {
    --inner-scale: var(--desktop-scale, 1);
    --inner-nav-height: clamp(84px, 5.4vw, 138px);
    --inner-hero-height: calc(440px / var(--inner-scale));
    --inner-hero-inset: calc(32px / var(--inner-scale));
    --inner-hero-space: calc(16px / var(--inner-scale));
    --inner-title-size: calc(clamp(32px, 3.4vw, 46px) / var(--inner-scale));
    --inner-lead-size: calc(16px / var(--inner-scale));
    --inner-text-gap: calc(16px / var(--inner-scale));
}

/* 上边距 = 导航 + 下边距，余下空间由 flex 均分。
   覆盖旧版 base.css 的固定高度和 !important 内边距。 */
html body.inner-page-layout :is(.hero, .page-banner, .section-intro, .about-masthead, .partnership-masthead, .in-hero, .hero-about, .official-hero, .events-hero, .j-hero, .jd-hero, .course-hero, .detail-hero, .article-hero, .campaign-hero, .privacy-banner, .wiki-article-masthead, .vision-masthead, .insights-masthead, .wiki-masthead, .wsit-banner, .wx-hero, .wiki-category-hero, .event-masthead) {
    box-sizing: border-box;
    position: relative;
    isolation: isolate;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center !important;
    height: var(--inner-hero-height) !important;
    min-height: var(--inner-hero-height) !important;
    max-height: none !important;
    padding-block: calc(var(--inner-nav-height) / var(--inner-scale) + var(--inner-hero-space)) var(--inner-hero-space) !important;
    padding-inline: var(--inner-hero-inset) !important;
    margin-top: 0;
    text-align: center;
}
html body.inner-page-layout :is(.hero, .page-banner, .section-intro, .about-masthead, .partnership-masthead, .in-hero, .hero-about, .official-hero, .events-hero, .j-hero, .jd-hero, .course-hero, .detail-hero, .article-hero, .campaign-hero, .privacy-banner, .wiki-article-masthead, .vision-masthead, .insights-masthead, .wiki-masthead, .wsit-banner, .wx-hero, .wiki-category-hero, .event-masthead) > :is(.container, .hero-content, .page-banner-inner, .section-container, .about-container,
    .partnership-shell, .jd-hero-content, .wiki-container) {
    width: min(100%, calc(1240px / var(--inner-scale)));
    max-width: none;
    height: auto !important;
    min-height: 0;
    flex: none;
    padding: 0;
    margin-inline: auto;
    text-align: center;
}
html body.inner-page-layout :is(.hero, .page-banner, .section-intro, .about-masthead, .partnership-masthead, .in-hero, .hero-about, .official-hero, .events-hero, .j-hero, .jd-hero, .course-hero, .detail-hero, .article-hero, .campaign-hero, .privacy-banner, .wiki-article-masthead, .vision-masthead, .insights-masthead, .wiki-masthead, .wsit-banner, .wx-hero, .wiki-category-hero, .event-masthead) h1 {
    max-width: calc(1000px / var(--inner-scale));
    font-size: var(--inner-title-size);
    line-height: 1.3;
    margin-block: 0 var(--inner-text-gap) !important;
    margin-inline: auto;
    text-wrap: balance;
    overflow-wrap: break-word;
}
html body.inner-page-layout :is(.hero, .page-banner, .section-intro, .about-masthead, .partnership-masthead, .in-hero, .hero-about, .official-hero, .events-hero, .j-hero, .jd-hero, .course-hero, .detail-hero, .article-hero, .campaign-hero, .privacy-banner, .wiki-article-masthead, .vision-masthead, .insights-masthead, .wiki-masthead, .wsit-banner, .wx-hero, .wiki-category-hero, .event-masthead) h1:last-child { margin-bottom: 0 !important; }
html body.inner-page-layout :is(.hero, .page-banner, .section-intro, .about-masthead, .partnership-masthead, .in-hero, .hero-about, .official-hero, .events-hero, .j-hero, .jd-hero, .course-hero, .detail-hero, .article-hero, .campaign-hero, .privacy-banner, .wiki-article-masthead, .vision-masthead, .insights-masthead, .wiki-masthead, .wsit-banner, .wx-hero, .wiki-category-hero, .event-masthead) :is(h1 ~ p, .page-banner-description, .section-description, .about-masthead-intro,
    .partnership-masthead-copy, .in-hero-intro, .vision-masthead-intro, .insights-masthead-lead,
    .insights-masthead-copy, .wiki-masthead-intro, .wx-hero-intro, .wiki-category-lead,
    .privacy-description, .course-abstract, .hero-about-content .intro,
    .hero-about-content .subtitle-en, .wsit-banner-copy > p) {
    max-width: calc(880px / var(--inner-scale));
    font-size: var(--inner-lead-size);
    line-height: 1.75;
    margin-inline: auto;
    text-wrap: pretty;
}
html body.inner-page-layout :is(.hero, .page-banner, .section-intro, .about-masthead, .partnership-masthead, .in-hero, .hero-about, .official-hero, .events-hero, .j-hero, .jd-hero, .course-hero, .detail-hero, .article-hero, .campaign-hero, .privacy-banner, .wiki-article-masthead, .vision-masthead, .insights-masthead, .wiki-masthead, .wsit-banner, .wx-hero, .wiki-category-hero, .event-masthead) :is(.page-banner-description, .section-description, .about-masthead-intro,
    .partnership-masthead-copy, .in-hero-intro, .vision-masthead-intro,
    .insights-masthead-lead, .wiki-masthead-intro, .privacy-description, .wsit-banner-copy > p) {
    margin-block: 0;
}
html body.inner-page-layout :is(.hero, .page-banner, .section-intro, .about-masthead, .partnership-masthead, .in-hero, .hero-about, .official-hero, .events-hero, .j-hero, .jd-hero, .course-hero, .detail-hero, .article-hero, .campaign-hero, .privacy-banner, .wiki-article-masthead, .vision-masthead, .insights-masthead, .wiki-masthead, .wsit-banner, .wx-hero, .wiki-category-hero, .event-masthead) :is(.section-eyebrow, .about-eyebrow, .partnership-kicker, .in-eyebrow,
    .vision-eyebrow, .insights-eyebrow, .wiki-kicker, .wx-eyebrow, .privacy-eyebrow,
    .wsit-eyebrow, .event-kicker) {
    justify-content: center;
    margin: 0 auto 12px;
}
html body.inner-page-layout :is(.hero, .page-banner, .section-intro, .about-masthead, .partnership-masthead, .in-hero, .hero-about, .official-hero, .events-hero, .j-hero, .jd-hero, .course-hero, .detail-hero, .article-hero, .campaign-hero, .privacy-banner, .wiki-article-masthead, .vision-masthead, .insights-masthead, .wiki-masthead, .wsit-banner, .wx-hero, .wiki-category-hero, .event-masthead) :is(.hero-content, .page-banner-inner, .section-container, .about-container,
    .partnership-masthead-grid > div, .hero-about-content, .container, .jd-hero-content,
    .wiki-masthead-copy, .wx-hero-copy, .wiki-category-hero-copy, .wsit-banner-copy) > :last-child {
    margin-bottom: 0 !important;
}
html body.inner-page-layout :is(.event-banner-summary, .partnership-masthead-grid > div,
    .hero-about-content, .course-hero-content, .committee-hero-copy, .wiki-masthead-copy, .wx-hero-copy,
    .wiki-category-hero-copy, .wsit-banner-copy) {
    width: 100%;
    max-width: calc(880px / var(--inner-scale));
    margin-inline: auto;
    text-align: center;
}
html body.inner-page-layout .hero-about-content { padding-top: 0; }
html body.inner-page-layout .committee-hero-layout { display: block; }
html body.inner-page-layout .committee-hero-emblem { display: none; }
html body.inner-page-layout :is(.partnership-masthead-tags, .hero-actions, .wsit-actions) { justify-content: center; }
html body.inner-page-layout .page-banner-caption { right: 24px; bottom: 12px; }

/* 通栏图片铺满首屏，遮罩以中心文字为重点。 */
html body.inner-page-layout :is(.page-banner .page-banner-image, .partnership-visual) {
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}
html body.inner-page-layout .page-banner::after,
html body.inner-page-layout .partnership-masthead::before {
    background: linear-gradient(180deg, #071e2bd9, #071e2b70 35%, #071e2b70),
        linear-gradient(90deg, #071e2b66, #071e2ba6 50%, #071e2b66);
}
html body.inner-page-layout .about-masthead::before {
    background-size: cover;
    background-position: center;
}

/* 百科分类及营养睡眠页使用大图背景，保留原有搜索、快捷入口和分类信息。 */
html body.inner-page-layout :is(.wsit-banner, .wx-hero, .wiki-category-hero) { overflow: hidden; }
html body.inner-page-layout :is(.wsit-banner-grid, .wx-hero-grid, .wiki-category-hero-grid) {
    position: static;
    display: block;
    flex: none;
    padding: 0;
}
html body.inner-page-layout :is(.wsit-figure, .wx-hero-photo, .wiki-category-hero .wx-topic-photo) {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
}
html body.inner-page-layout :is(.wsit-photo, .wsit-photo img, .wx-hero-photo img, .wx-topic-photo img) {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    border-radius: 0;
    object-fit: cover;
}
html body.inner-page-layout :is(.wsit-figure, .wx-hero-photo, .wx-topic-photo)::before,
html body.inner-page-layout :is(.wsit-figure, .wx-hero-photo, .wx-topic-photo) figcaption { display: none; }
html body.inner-page-layout :is(.wsit-banner, .wx-hero, .wiki-category-hero)::after {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
    background: linear-gradient(180deg, #071e2bdb, #071e2bb3 40%, #071e2bb3);
    pointer-events: none;
}
html body.inner-page-layout :is(.wsit-banner, .wx-hero, .wiki-category-hero)::before { display: none; }
html body.inner-page-layout :is(.wiki-search-form, .wx-hero .wx-search-form) {
    width: min(100%, 640px);
    margin-inline: auto;
}
html body.inner-page-layout .wiki-search-label { margin: 12px 0 6px; }
html body.inner-page-layout .wiki-search-form { padding: 4px; }
html body.inner-page-layout .wiki-search-form input { padding-block: 6px; }
html body.inner-page-layout .wiki-search-form button { min-height: 40px; padding-block: 8px; }
html body.inner-page-layout .wiki-suggestions { margin-top: 6px; min-height: 24px; }
html body.inner-page-layout :is(.wiki-suggestions, .wx-suggestions, .wx-breadcrumb, .wiki-breadcrumbs) { justify-content: center; }
html body.inner-page-layout :is(.wx-breadcrumb, .wiki-breadcrumbs) { margin-bottom: 20px; }
html body.inner-page-layout :is(.wx-hero, .wiki-category-hero) > .wiki-container {
    position: static;
    display: block;
    flex: none;
    height: auto !important;
}
html body.inner-page-layout :is(.wx-hero .wx-breadcrumb, .wiki-category-hero .wiki-breadcrumbs) {
    position: absolute;
    top: calc(var(--inner-nav-height) / var(--inner-scale) + 8px);
    left: var(--inner-hero-inset);
    right: var(--inner-hero-inset);
    margin: 0;
}
html body.inner-page-layout :is(.wx-hero-footer, .wiki-category-hero-bottom) {
    position: absolute;
    bottom: 6px;
    left: var(--inner-hero-inset);
    right: var(--inner-hero-inset);
    justify-content: center;
    gap: 20px;
    padding-block: 6px 0;
    margin-top: 0;
}
html body.inner-page-layout .wx-hero-footer strong { font-size: 20px; line-height: 1; }
html body.inner-page-layout .wiki-category-hero-index { display: none; }
html body.inner-page-layout .wx-hero-intro { margin-bottom: 12px; }
html body.inner-page-layout .wx-hero-search .wx-search-form { margin-top: 12px; }
html body.inner-page-layout .wx-hero .wx-suggestions { margin-top: 8px; }
html body.inner-page-layout .wsit-banner > .container { display: block; flex: none; }
html body.inner-page-layout.wiki-experience .wiki-category-hero-grid { padding-bottom: 0; }
html body.inner-page-layout.wiki-experience :is(.wx-hero, .wiki-category-hero) h1 { font-size: var(--inner-title-size); }

/* 百科总览恢复左侧介绍与搜索、右侧圆角图片；沿用统一高度和导航占位。 */
html body.inner-page-layout.wiki-overview .wiki-masthead,
html body.inner-page-layout.wiki-overview .wiki-masthead-copy { text-align: left; }
html body.inner-page-layout.wiki-overview .wiki-masthead-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: center;
    gap: 40px;
    flex: none;
    text-align: left;
}
html body.inner-page-layout.wiki-overview .wiki-masthead-copy { max-width: none; margin: 0; }
html body.inner-page-layout.wiki-overview .wiki-masthead :is(h1, p, .wiki-search-form) { margin-inline: 0; }
html body.inner-page-layout.wiki-overview .wiki-masthead :is(.wiki-kicker, .wiki-suggestions) { justify-content: flex-start; }
html body.inner-page-layout.wiki-overview .wiki-masthead-figure { height: 280px; min-height: 0; margin: 0; }
html body.inner-page-layout.wiki-overview .wiki-masthead-photo { height: 100%; max-height: none; aspect-ratio: auto; }
html body.inner-page-layout.wiki-overview .wiki-masthead h1 { font-size: var(--inner-title-size); }
html:lang(en) body.inner-page-layout.wiki-overview .wiki-masthead {
    --inner-title-size: 36px;
    --inner-lead-size: 14px;
    --inner-text-gap: 12px;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    html body.inner-page-layout.wiki-overview .wiki-masthead-grid { gap: 28px; }
    html body.inner-page-layout.wiki-overview .wiki-masthead-figure { height: 240px; }
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-masthead { --inner-title-size: 32px; }
}
@media (max-width: 991.98px) {
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-masthead { --inner-title-size: 28px; }
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-masthead-intro { line-height: 1.6; }
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-kicker { margin-bottom: 8px; }
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-search-label { margin: 8px 0 4px; font-size: 12px; line-height: 1.5; }
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-search-form :is(input, button) { font-size: 14px; line-height: 1.4; padding-block: 6px; }
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-search-form button { min-height: 36px; }
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-suggestions { margin-top: 4px; min-height: 20px; }
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-suggestions a { font-size: 11px; line-height: 1.5; padding-block: 2px; }
}
@media (max-width: 767.98px) {
    html body.inner-page-layout.wiki-overview .wiki-masthead-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
    html body.inner-page-layout.wiki-overview .wiki-masthead-figure { height: 120px; }
    html body.inner-page-layout.wiki-overview .wiki-photo-caption { bottom: 8px; padding-block: 8px; }
    html:lang(en) body.inner-page-layout.wiki-overview .wiki-masthead { --inner-title-size: 26px; }
}

/* 三个研究页沿用深蓝左右图文；外框与其它首图保持同一高度。 */
html body.inner-page-layout :is(.vision-masthead, .insights-masthead, .in-hero) { text-align: left; }
html body.inner-page-layout :is(.vision-masthead > .vision-container,
    .insights-masthead > .insights-container, .in-hero > .in-container) {
    display: flex;
    flex-direction: column;
    width: min(100%, calc(1240px / var(--inner-scale)));
    max-width: none;
    min-height: 0;
    flex: 1;
    padding: 0;
    margin-inline: auto;
}
html body.inner-page-layout :is(.vision-masthead-grid, .insights-masthead-grid, .in-hero-grid) {
    display: grid;
    flex: 1;
    min-height: 0;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    align-items: center;
    gap: 48px;
    padding-bottom: 0;
}
html body.inner-page-layout :is(.vision-masthead, .insights-masthead, .in-hero) :is(h1, p) { margin-inline: 0; }
html body.inner-page-layout :is(.vision-eyebrow, .insights-eyebrow, .in-hero .in-eyebrow) { justify-content: flex-start; }
html body.inner-page-layout .in-hero-intro { margin-top: 0 !important; }
html body.inner-page-layout .insights-masthead-copy { margin-block: 10px 0; }
html body.inner-page-layout :is(.vision-masthead-figure, .insights-figure, .in-hero-figure) {
    height: min(calc(100% - 8px), 280px);
    min-height: 0;
    margin: 0;
}
html body.inner-page-layout :is(.vision-masthead-photo, .insights-photo,
    .insights-photo img, .in-hero-photo, .in-hero-photo img) {
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    object-fit: cover;
}
html body.inner-page-layout .event-main { padding-top: 0; }

/* 导航加载前的回退值，实际占位使用导航测量结果。 */
@media (min-width: 2560px) {
    body.inner-page-layout { --inner-nav-height: 5.4vw; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    body.inner-page-layout {
        --inner-nav-height: 168px;
        --inner-hero-height: 480px;
        --inner-title-size: 36px;
    }
    html body.inner-page-layout :is(.vision-masthead-grid, .insights-masthead-grid, .in-hero-grid) { gap: 28px; }
}
@media (max-width: 767.98px) {
    body.inner-page-layout {
        --inner-nav-height: 56px;
        --inner-hero-height: 480px;
        --inner-hero-inset: 20px;
        --inner-hero-space: 16px;
        --inner-title-size: 28px;
        --inner-lead-size: 15px;
        --inner-text-gap: 14px;
    }
    html body.inner-page-layout :is(.vision-masthead, .insights-masthead, .in-hero) { --inner-lead-size: 14px; }
    html body.inner-page-layout :is(.vision-masthead-grid, .insights-masthead-grid, .in-hero-grid) {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto 128px;
        align-content: center;
        gap: 16px;
    }
    html body.inner-page-layout :is(.vision-masthead-figure, .insights-figure, .in-hero-figure) { height: 128px; }
    html body.inner-page-layout :is(.wx-hero-footer, .wiki-category-hero-bottom) { flex-wrap: wrap; gap: 8px; }
    html body.inner-page-layout .wx-hero-footer > span { display: none; }
    html body.inner-page-layout .page-banner-caption { right: 20px; bottom: 10px; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    html body.inner-page-layout :is(.vision-masthead, .insights-masthead, .in-hero) {
        --inner-title-size: 32px;
        --inner-lead-size: 14px;
    }
}
@media (max-width: 359.98px) {
    body.inner-page-layout { --inner-hero-height: 560px; }
    html body.inner-page-layout :is(.vision-masthead-grid, .insights-masthead-grid, .in-hero-grid) { grid-template-rows: auto 128px; }
    html body.inner-page-layout :is(.vision-masthead-figure, .insights-figure, .in-hero-figure) { height: 128px; }
}
