.junco-template-theme:has(.content-page) {
    background: var(--theme-soft);
}
/* 正文页跟随导航正常排布，不沿用首屏图覆盖导航的负边距。 */
.junco-template-theme:has(main > .content-page) > .lumo-header {
    margin-bottom: 0;
}
.content-page {
    box-sizing: border-box;
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
    padding: 32px 0 80px;
    color: var(--ink, #242424);
    overflow-wrap: anywhere;
}
.content-page--story {
    position: relative;
    left: 50%;
    width: min(1120px, calc(100vw - var(--theme-page-pad, 80px) * 2));
    max-width: none;
    margin-inline: 0;
    transform: translateX(-50%);
}
.brand-story { display: flow-root; }
/* 主图展示宽高统一缩小 25%，后台保存的尺寸和比例保持原值。 */
.brand-story__image { float: left; width: var(--story-image-width, min(41.25%, 540px)); max-width: calc(75% - 24px); margin: 0 32px 24px 0; }
.brand-story__image img { display: block; width: 100%; height: var(--story-image-height, auto); aspect-ratio: var(--story-image-ratio, auto); object-fit: cover; }
.content-page__policy { max-width: 860px; margin: 0 auto; }
.content-page__markdown { min-width: 0; line-height: 1.8; }
.content-page__markdown > :first-child { margin-top: 0; }
.content-page__markdown > :last-child { margin-bottom: 0; }
.content-page__markdown h1, .content-page__markdown h2, .content-page__markdown h3 { line-height: 1.3; margin: 1.6em 0 .6em; }
.content-page__markdown p, .content-page__markdown ul, .content-page__markdown ol { margin: 0 0 1em; }
.content-page__markdown ul { list-style: disc; padding-left: 1.5em; }
.content-page__markdown ol { list-style: decimal; padding-left: 1.5em; }
.content-page__markdown img { max-width: 100%; height: auto; }
.content-page__markdown a { color: #246654; text-decoration: underline; text-underline-offset: 3px; }
.content-page__markdown blockquote { margin: 1em 0; padding-left: 1em; border-left: 3px solid #adbdb5; }
.content-page__markdown pre { overflow-x: auto; padding: 16px; background: #f4f5f4; }
.content-page__markdown table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.content-page__markdown th, .content-page__markdown td { padding: 8px 12px; border: 1px solid #d8ded9; }
@media (max-width: 1100px) {
    .content-page.content-page--story { width: calc(100vw - 20px); }
}
@media (max-width: 760px) {
    .content-page { width: calc(100% - 32px); padding: 32px 0 48px; }
    .brand-story__image { float: none; width: var(--story-image-width, 75%); max-width: 75%; margin: 0 0 24px; }
}

.content-page-source-shell { width: 100%; min-width: 0; }
.content-page-source-frame { display: block; width: 100%; min-height: 320px; border: 0; }
