/* 2026-09-02 可访问性补强：文章页键盘焦点态（此前全文 0 条 focus 规则） */
.ztc-article-single a:focus-visible,
.ztc-article-single button:focus-visible,
.ztc-article-single summary:focus-visible,
.insight-article-body a:focus-visible,
.article-news-body a:focus-visible {
    outline: 3px solid rgba(0, 142, 211, .55);
    outline-offset: 3px;
    border-radius: 2px;
}
/* 洞察文章详情：长文阅读优先，品牌动效收敛到进度与导航。 */
.ztc-article-single {
    --article-navy: var(--ztc-surface-inverse-deep, #141b2b);
    --article-blue: var(--ztc-action, #0067b4);
    --article-cyan: var(--ztc-brand-cyan, #61ccf0);
    --article-ink: #252d3d;
    --article-muted: var(--ztc-text-muted, #58595b);
    --article-line: #dfe7ee;
    --article-banner-blue: var(--ztc-banner-authority);
    --article-card-blue:
        radial-gradient(circle at 88% 14%, rgba(97, 204, 240, .18), transparent 34%),
        linear-gradient(125deg, #0a3a66 0%, #0067b4 100%);
    color: var(--article-ink);
    background: #fff;
}

.article-wrap {
    width: min(1180px, calc(100% - 64px));
    margin-inline: auto;
}

.article-progress {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    pointer-events: none;
}

.article-progress span {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: var(--article-cyan);
    will-change: transform;
}

.article-hero {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 174px 0 94px;
    color: #fff;
    background:
        radial-gradient(circle at 82% 28%, rgba(61, 174, 225, .18), transparent 30%),
        var(--article-banner-blue);
}

.article-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .28;
    pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, .13) 1px, transparent 1px);
    background-size: 28px 28px;
    mask-image: linear-gradient(90deg, #000, transparent 80%);
}

.article-hero-orbit {
    position: absolute;
    right: -7%;
    top: -38%;
    width: min(66vw, 850px);
    aspect-ratio: 1;
    border: 1px solid rgba(105, 202, 237, .15);
    border-radius: 50%;
    box-shadow: 0 0 0 80px rgba(105, 202, 237, .028), 0 0 0 160px rgba(105, 202, 237, .02);
}

.article-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 1050px;
}

.article-kicker,
.article-related p {
    margin: 0 0 20px;
    color: var(--article-cyan);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.article-kicker::before,
.article-related p::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 2px;
    margin-right: 10px;
    vertical-align: .25em;
    background: currentColor;
}

.article-hero h1 {
    max-width: 16em;
    margin: 0 0 26px;
    color: #fff;
    font: 700 clamp(46px, 5.2vw, 66px)/1.16 var(--ztc-serif, serif);
    letter-spacing: -.035em;
    text-wrap: balance;
}

.article-title-phrase { display: inline-block; }

.article-deck {
    max-width: 48em;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size:18px;
    line-height: 1.9;
}

.article-byline {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 34px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .16);
}

.article-byline > * {
    padding: 0 20px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    line-height: 1.5;
}

.article-byline > *:first-child {
    padding-left: 0;
    color: #fff;
    font-weight: 700;
}

.article-byline > * + * { border-left: 1px solid rgba(255, 255, 255, .16); }

.article-reading {
    padding: 96px 0 126px;
}

.article-reading-grid {
    display: grid;
    grid-template-columns: minmax(0, 790px) minmax(260px, 280px);
    justify-content: center;
    gap: 48px;
    align-items: start;
}

.article-reading-grid.is-single-column {
    grid-template-columns: minmax(0, 820px);
    justify-content: center;
}

.article-side {
    display: grid;
    gap: 32px;
}

.article-rail-stack {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: 122px;
    display: grid;
    gap: 28px;
    align-self: start;
}

.article-body-column {
    grid-column: 1;
    grid-row: 1;
}

.article-context-rail {
    display: grid;
    gap: 24px;
}

.article-toc {
    padding-top: 22px;
    border-top: 3px solid var(--article-blue);
}

.article-toc > p,
.article-toc summary {
    margin: 0 0 14px;
    color: var(--article-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
}

.article-toc ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.article-toc summary { min-height:44px; cursor:pointer; }

.article-toc a {
    min-height: 44px;
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 8px;
    padding: 11px 0;
    color: #53657a;
    border-bottom: 1px solid var(--article-line);
    font-size: 12px;
    line-height: 1.55;
    text-decoration: none;
    transition: color .2s;
}

.article-toc a span {
    color: #647489;
    font-family: var(--ztc-serif, serif);
}

.article-toc a:hover,
.article-toc a.is-active { color: var(--article-blue); }
.article-toc a.is-active span { color: var(--article-blue); }

.article-parent-card {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 4px 14px;
    padding: 16px;
    color: inherit;
    border: 1px solid var(--article-line);
    border-radius: 14px;
    background: #f6f8fa;
    text-decoration: none;
    transition: border-color .2s, box-shadow .2s;
}

.article-parent-card:hover {
    border-color: rgba(0, 142, 211, .38);
    box-shadow: 0 14px 30px rgba(28, 60, 86, .08);
}

.article-parent-card > span {
    grid-row: 1 / span 3;
    display: grid;
    place-items: center;
    min-height: 104px;
    background: #eaf0f5;
    border-radius: 9px;
}

.article-parent-card img {
    width: 100%;
    max-height: 94px;
    object-fit: contain;
}

.article-parent-card small {
    color: var(--article-muted);
    font-size:var(--ztc-fs-micro);
}

.article-parent-card strong {
    color: #263348;
    font: 700 13px/1.5 var(--ztc-serif, serif);
}

.article-parent-card i {
    color: var(--article-blue);
    font-size: 11px;
    font-style: normal;
}

.insight-article-body {
    color: #3a4759;
    font-size:16px;
    line-height: 2.02;
}

.insight-article-body > *:first-child { margin-top: 0; }

.insight-article-body .article-lead {
    margin: 0 0 46px;
    padding-bottom: 40px;
    color: #202b3d;
    border-bottom: 1px solid var(--article-line);
    font: 700 22px/1.8 var(--ztc-serif, serif);
}

.insight-article-body h2 {
    margin: 74px 0 24px;
    padding-top: 2px;
    scroll-margin-top: 150px;
    color: #162a42;
    font: 700 34px/1.35 var(--ztc-serif, serif);
    letter-spacing: -.015em;
    text-wrap: balance;
}

.insight-article-body h2::before {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin-bottom: 20px;
    background: var(--article-blue);
}

.insight-article-body h3 {
    margin: 42px 0 15px;
    color: #26364b;
    font: 700 22px/1.5 var(--ztc-serif, serif);
}

.insight-article-body p {
    margin: 0 0 1.35em;
    text-wrap: pretty;
}

.insight-article-body strong { color: #223248; }

.insight-article-body a {
    color: var(--article-blue);
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
}

.insight-article-body ul,
.insight-article-body ol {
    margin: 0 0 1.6em;
    padding-left: 1.35em;
}

.insight-article-body li { margin: .48em 0; padding-left: .25em; }
.insight-article-body li::marker { color: var(--article-blue); font-weight: 700; }

.insight-article-body blockquote {
    margin: 40px 0;
    padding: 26px 30px;
    color: #28445f;
    border: 0;
    border-left: 4px solid var(--article-blue);
    background: linear-gradient(120deg, #f2f8fc 0%, #f8fbfd 100%);
    font: 600 18px/1.9 var(--ztc-serif, serif);
}

.insight-article-body blockquote > *:last-child { margin-bottom: 0; }

.insight-article-body figure,
.insight-article-body .article-media {
    width: min(100%, 860px);
    margin: 44px auto;
}

.insight-article-body img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
    border-radius: 14px;
    background: #f4f7f9;
    box-shadow: 0 16px 42px rgba(29, 66, 98, .1);
}

.insight-article-body figcaption {
    margin-top: 12px;
    color: var(--article-muted);
    font-size: 12px;
    line-height: 1.7;
    text-align: center;
}

.insight-article-body .article-archive-note {
    margin: 0 0 38px;
    padding: 16px 20px;
    color: #3e5871;
    border: 1px solid #d9e8f2;
    border-radius: 12px;
    background: #f5f9fc;
    font-size: 13px;
    line-height: 1.75;
}

.insight-article-body.is-media-story {
    width: min(100%, 900px);
    justify-self: center;
}

.insight-article-body.is-media-story figure { margin-block: 28px; }
.insight-article-body.is-media-story img { width: 100%; border-radius: 18px; }

.insight-article-body .article-callout {
    margin: 38px 0;
    padding: 28px 30px;
    color: #21415f;
    border-left: 4px solid var(--article-blue);
    background: #f1f7fb;
    font-size: 16px;
    line-height: 1.9;
}

.insight-article-body .article-callout p:last-child { margin-bottom: 0; }

.insight-article-body .article-three-forces {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 38px 0 48px;
    padding: 1px;
    background: var(--article-line);
}

.insight-article-body .article-three-forces article {
    padding: 26px 24px;
    background: #fff;
}

.insight-article-body .article-three-forces small {
    display: block;
    margin-bottom: 12px;
    color: var(--article-blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
}

.insight-article-body .article-three-forces h3 {
    margin: 0 0 10px;
    font-size:20px;
}

.insight-article-body .article-three-forces p {
    margin: 0;
    color: #69788c;
    font-size: 13px;
    line-height: 1.75;
}

.insight-article-body .article-framework {
    margin: 42px 0 52px;
    padding: 34px;
    color: #fff;
    background: var(--article-card-blue);
    border-radius: 18px;
}

.insight-article-body .article-framework > p {
    margin: 0 0 24px;
    color: rgba(255, 255, 255, .65);
    font-size: 13px;
}

.insight-article-body .article-framework ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: framework;
}

.insight-article-body .article-framework li {
    counter-increment: framework;
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 14px;
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: 14px;
    line-height: 1.7;
}

.insight-article-body .article-framework li::before {
    content: counter(framework, decimal-leading-zero);
    color: var(--article-cyan);
    font-family: var(--ztc-serif, serif);
}

.insight-article-body .article-framework strong { color: #fff; }

.insight-article-body .article-actions {
    margin: 38px 0;
    padding: 30px;
    border: 1px solid var(--article-line);
    border-radius: 16px;
    background: #fff;
}

.insight-article-body .article-actions h3 { margin: 0 0 14px; }
.insight-article-body .article-actions ul { margin: 0; padding: 0; list-style: none; }
.insight-article-body .article-actions li { position: relative; padding: 10px 0 10px 22px; border-top: 1px solid #edf1f4; }
.insight-article-body .article-actions li::before { content: ""; position: absolute; left: 0; top: 1.35em; width: 7px; height: 7px; border-radius: 50%; background: var(--article-blue); }

.insight-article-body .article-source-note {
    margin-top: 70px;
    padding-top: 24px;
    color: var(--article-muted);
    border-top: 1px solid var(--article-line);
    font-size: 12px;
    line-height: 1.8;
}

.insight-article-body .article-related-links {
    margin-top: 64px;
    padding: 26px 28px;
    border: 1px solid var(--article-line);
    border-radius: 16px;
    background: linear-gradient(135deg, #f5f9fc 0%, #fff 100%);
}

.insight-article-body .article-related-links > p {
    margin: 0 0 12px;
    color: var(--article-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
}

.insight-article-body .article-related-links ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.insight-article-body .article-related-links li { margin: 0; padding: 0; }
.insight-article-body .article-related-links a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 15px;
    border: 1px solid #d7e6ef;
    border-radius: 999px;
    background: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.article-related {
    padding: 80px 0;
    color: #fff;
    background: var(--article-banner-blue);
}

.article-related-inner {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 60px;
}

.article-related p { margin-bottom: 14px; }

.article-related h2 {
    margin: 0 0 10px;
    color: #fff;
    font: 700 36px/1.25 var(--ztc-serif, serif);
}

.article-related span {
    color: rgba(255, 255, 255, .64);
    font-size: 14px;
    line-height: 1.7;
}

.ztc-article-single .ztc-btn-solid-pill {
    flex: none;
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
    color: #0b3155;
    border: 1px solid #fff;
    border-radius: 999px;
    background: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}

.ztc-article-single .ztc-btn-solid-pill:hover {
    color: #fff;
    border-color: var(--article-blue);
    background: var(--article-blue);
}

/* Newsroom：沿用阅读底座，但把新闻从研究报告式的大 Hero 中释放出来。 */
.article-hero-copy { min-width: 0; }

.is-news-article .article-hero {
    min-height: 500px;
    padding: 156px 0 78px;
    background:
        radial-gradient(circle at 84% 20%, rgba(105, 202, 237, .2), transparent 27%),
        var(--article-banner-blue);
}

.is-news-article .article-hero::before {
    opacity: .22;
    background-size: 32px 32px;
    mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .72) 58%, transparent 100%);
}

.is-news-article .article-hero-orbit {
    right: -3%;
    top: -78%;
    width: min(54vw, 700px);
    border-color: rgba(105, 202, 237, .19);
    box-shadow: 0 0 0 64px rgba(105, 202, 237, .026), 0 0 0 128px rgba(105, 202, 237, .018);
}

.is-news-article .article-hero-inner { max-width: none; }

.article-news-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
    gap: 64px;
    align-items: center;
}

.is-news-article .article-hero h1 {
    max-width: 19em;
    margin-bottom: 22px;
    font-size: clamp(40px, 4.1vw, 54px);
    line-height: 1.24;
    letter-spacing: -.025em;
}

.is-news-article .article-deck {
    max-width: 44em;
    font-size: 16px;
    line-height: 1.85;
}

.is-news-article .article-byline { margin-top: 28px; padding-top: 18px; }

.article-news-feature {
    position: relative;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 18px;
    background: rgba(255, 255, 255, .06);
    box-shadow: 0 24px 64px rgba(0, 0, 0, .28);
}

.article-news-feature::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);
}

.article-news-feature img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.is-news-article .article-reading { padding: 82px 0 104px; }
.is-news-article .article-reading-grid {
    grid-template-columns: minmax(0, 790px) minmax(260px, 300px);
    justify-content: center;
    gap: 56px;
}
.article-news-body { color: #354458; line-height: 1.95; }
.article-news-body h2 { margin-top: 62px; font-size: 31px; }
.article-news-body h3 { margin-top: 36px; font-size:20px; }

.article-news-return {
    padding: 72px 0;
    background: var(--article-banner-blue);
}

.article-news-return h2 { font-size: 34px; }

.article-news-rail {
    display: grid;
    gap: 24px;
}

.article-news-rail-case,
.article-news-index {
    display: grid;
    gap: 9px;
    padding: 24px;
    color: #26364b;
    border: 1px solid #d9e7ef;
    border-radius: 16px;
    background: linear-gradient(135deg, #f2f8fc 0%, #fff 100%);
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.article-news-rail-case:hover,
.article-news-index:hover {
    box-shadow: var(--ztc-shadow-hover);
    transform: translateY(-2px);
}

.article-news-rail-case small,
.article-news-index span {
    color: var(--article-blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
}

.article-news-rail-case strong,
.article-news-index strong {
    color: #26364b;
    font: 700 18px/1.5 var(--ztc-serif, serif);
    text-wrap: pretty;
}

.article-news-rail-case > span:last-child {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--article-blue);
    font-size: 12px;
}

/* 2026-09-04（29 号文方案 A）：侧栏「所属趋势专题」小卡——主蓝左边线区分于客户实践卡 */
.article-topic-card {
    border-left: 3px solid var(--article-blue);
}

.article-news-index {
    grid-template-columns: minmax(0, 1fr) 20px;
    align-items: center;
    color: #fff;
    border: 1px solid rgba(97, 204, 240, .2);
    background: var(--article-card-blue);
}

.article-news-index span,
.article-news-index strong { grid-column: 1; color: inherit; }
.article-news-index svg { grid-column: 2; grid-row: 1 / span 2; }
.article-news-index:hover { color: #fff; }

.article-news-recent {
    padding-top: 20px;
    border-top: 3px solid var(--article-blue);
}

.article-news-recent > p {
    margin: 0 0 6px;
    color: var(--article-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}

.article-news-recent ol { margin: 0; padding: 0; list-style: none; }
.article-news-recent li + li { border-top: 1px solid var(--article-line); }
.article-news-recent a { display: grid; gap: 8px; padding: 18px 0; text-decoration: none; }
.article-news-recent strong {
    color: #26364b;
    font: 700 15px/1.65 var(--ztc-serif, serif);
    text-wrap: pretty;
    transition: color .2s ease;
}
.article-news-recent time { color: var(--article-muted); font-size: 11px; }
.article-news-recent a:hover strong { color: var(--article-blue); }

@media (max-width: 1100px) {
    .article-reading-grid,
    .is-news-article .article-reading-grid {
        display: flex;
        flex-direction: column;
        gap: 48px;
    }
    .article-rail-stack { display: contents; }
    .article-side { order: 1; width: 100%; }
    .article-body-column { order: 2; width: 100%; }
    .article-context-rail { order: 3; width: 100%; }
}

@media (max-width: 900px) {
    .article-reading-grid { grid-template-columns: 1fr; gap: 48px; }
    .is-news-article .article-reading-grid { grid-template-columns: minmax(0, 1fr); }
    .article-side { position: static; grid-template-columns: 1fr 1fr; }
    .article-toc { grid-column: 1 / -1; }
    .article-parent-card { max-width: 360px; }
    .article-news-hero-grid { grid-template-columns: 1fr; gap: 36px; }
    .article-news-feature { width: min(560px, 100%); }
    .article-context-rail { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .article-news-recent { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    .article-wrap { width: calc(100% - 40px); }
    .article-hero { min-height: 0; padding: 132px 0 70px; }
    .article-hero h1 { font-size: clamp(38px, 11vw, 48px); }
    .article-deck { font-size:16px; }
    .article-byline { display: grid; gap: 8px; }
    .article-byline > * { padding: 0; }
    .article-byline > * + * { border-left: 0; }
    .article-reading { padding: 72px 0 94px; }
    .article-side { grid-template-columns: 1fr; }
    .article-toc { overflow-x: auto; padding-bottom: 4px; }
    .article-toc ol { display: flex; width: max-content; max-width: none; gap: 8px; }
    .article-toc a { min-width: 170px; padding: 12px; border: 1px solid var(--article-line); border-radius: 12px; }
    .article-parent-card { max-width: none; }
    .insight-article-body { font-size: 16px; line-height: 1.95; }
    .insight-article-body .article-lead { font-size:20px; }
    .insight-article-body h2 { margin-top: 62px; font-size:var(--ztc-fs-h2); scroll-margin-top: 92px; }
    .insight-article-body h3 { font-size: 20px; }
    .insight-article-body .article-three-forces { grid-template-columns: 1fr; }
    .insight-article-body .article-framework { padding: 26px 22px; border-radius: 14px; }
    .insight-article-body .article-callout,
    .insight-article-body .article-actions { padding: 24px 22px; }
    .article-related { padding: 68px 0; }
    .article-related-inner { align-items: flex-start; flex-direction: column; gap: 32px; }
    .article-related h2 { font-size: 30px; }
    .ztc-article-single .ztc-btn-solid-pill { width: 100%; }
    .is-news-article .article-hero { padding: 126px 0 58px; }
    .is-news-article .article-hero h1 { font-size: clamp(32px, 9.6vw, 40px); line-height: 1.3; }
    .is-news-article .article-hero-orbit { right: -42%; top: -30%; width: 120vw; }
    .is-news-article .article-reading { padding: 64px 0 82px; }
    .article-news-body h2 { margin-top: 54px; font-size:var(--ztc-fs-h2); }
    .article-news-feature { border-radius: 14px; }
    .article-news-return h2 { font-size:var(--ztc-fs-h2); }
    .article-context-rail { grid-template-columns: 1fr; }
    .article-news-recent { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .article-progress { display: none; }
    .ztc-article-single * { scroll-behavior: auto !important; }
}

/* WO-24: the approved reading composition, scoped to the Insights article family. */
.is-insight-article { --article-ink:var(--ztc-text); }
.is-insight-article .article-wrap { width:min(1056px,calc(100% - 64px)); }
.article-entry-breadcrumb { display:flex; align-items:center; gap:10px; padding-top:28px; color:#556a82; font-size:13px; }
.article-entry-breadcrumb a { min-height:44px; display:inline-flex; align-items:center; }
.article-entry-breadcrumb a:hover { color:var(--article-blue); }
.is-insight-article .article-hero { min-height:0; padding:30px 0 0; background:var(--ztc-white); color:var(--ztc-navy-deep); }
.is-insight-article .article-hero::before,.is-insight-article .article-hero-orbit { display:none; }
.is-insight-article .article-hero-inner { padding-bottom:36px; border-bottom:1px solid var(--article-line); max-width:none; }
.is-insight-article .article-kicker { color:var(--ztc-action); font-size:12px; font-weight:600; margin-bottom:18px; letter-spacing:.08em; }
.is-insight-article .article-hero h1 { color:var(--ztc-navy-deep); font:600 42px/1.5 var(--ztc-serif); letter-spacing:-.025em; margin:0; max-width:920px; text-wrap:pretty; }
.article-series-label { display:block; font:600 15px/1.8 var(--ztc-sans); color:var(--ztc-action); margin-bottom:18px; letter-spacing:.01em; }
.article-subject-title { display:block; }
.is-insight-article .article-hero-copy:has(.article-series-label) .article-kicker { display:none; }
.is-insight-article .article-title-phrase { display:inline; }
.is-insight-article .article-byline { margin-top:24px; padding:0; border:0; gap:12px 20px; }
.is-insight-article .article-byline>* { padding:0; color:#556a82; font:400 13px/1.8 var(--ztc-sans); border:0; }
.is-insight-article .article-reading { padding:40px 0 64px; }
.is-insight-article .article-reading-grid { grid-template-columns:minmax(0,760px) 220px; gap:64px; }
.is-insight-article .article-rail-stack { top:calc(var(--ztc-shell-sticky-top) + 16px); gap:26px; }
.is-insight-article .article-toc { border-top:2px solid var(--ztc-brand-primary); padding-top:16px; }
.is-insight-article .article-toc summary { margin:0 0 8px; color:var(--ztc-navy-deep); font:600 13px/1.7 var(--ztc-sans); }
.is-insight-article .article-toc ol { max-height:55vh; overflow-y:auto; }
.is-insight-article .article-toc a { grid-template-columns:24px minmax(0,1fr); min-height:44px; padding:10px 0; border-bottom:1px solid var(--article-line); font-size:13px; line-height:1.7; }
.is-insight-article .article-toc a span { color:#6b7c8e; }
.is-insight-article .insight-article-body { min-width:0; overflow-wrap:anywhere; color:var(--ztc-text); font-size:17px; line-height:1.9; }
.is-insight-article .insight-article-body p { margin-bottom:22px; }
.is-insight-article .insight-article-body h2 { margin:56px 0 22px; padding:0; font:600 28px/1.55 var(--ztc-serif); color:var(--ztc-navy-deep); scroll-margin-top:calc(var(--ztc-shell-sticky-top) + 22px); text-wrap:pretty; }
.is-insight-article .insight-article-body h2::before { display:none; }
.is-insight-article .insight-article-body h3 { margin:32px 0 14px; font:600 20px/1.6 var(--ztc-sans); color:var(--ztc-navy-deep); }
.is-insight-article .insight-article-body strong { font-weight:600; }
.is-insight-article .insight-article-body figure { margin:32px auto; }
.is-insight-article .insight-article-body img { border-radius:4px; box-shadow:none; background:transparent; }
.is-insight-article .insight-article-body figcaption { font-size:13px; line-height:1.8; }
.article-table-scroll { margin:24px 0 32px; border:1px solid var(--article-line); border-radius:6px; overflow-x:auto; overscroll-behavior-x:contain; max-width:100%; }
.is-insight-article .insight-article-body .article-table-caption { margin-top:-16px; color:#556a82; font:400 13px/1.8 var(--ztc-sans); text-align:center; }
.article-table-scroll table { width:100%; min-width:480px; border-collapse:collapse; color:var(--ztc-text); font:400 15px/1.8 var(--ztc-sans); }
.article-table-scroll:has(tr>:nth-child(3)) table { min-width:640px; }
.article-table-scroll :is(th,td) { padding:16px 18px; text-align:left; vertical-align:top; border:0; border-bottom:1px solid var(--article-line); }
.article-table-scroll th { color:var(--ztc-navy-deep); background:#f4f9fd; font-weight:600; }
.article-table-scroll tr>:first-child { width:24%; border-right:1px solid var(--article-line); }
.article-table-scroll tbody tr:last-child>* { border-bottom:0; }
.article-series-context { padding-top:24px; border-top:1px solid var(--article-line); }
.article-series-context>small { display:block; color:#556a82; font-size:12px; }
.article-series-context>strong { display:block; margin-top:12px; font:600 18px/1.6 var(--ztc-serif); color:var(--ztc-navy-deep); }
.article-series-context figure,.is-insight-article .article-parent-card figure { margin:18px 0 0; }
.article-series-context img,.is-insight-article .article-parent-card figure img { max-height:200px; width:100%; height:auto; object-fit:contain; object-position:left; }
.article-series-context>a { display:flex; align-items:center; gap:8px; min-height:44px; margin-top:12px; font-size:13px; color:var(--ztc-action); }
.is-insight-article .article-parent-card { grid-template-columns:minmax(0,1fr); gap:12px; padding:20px 0; border:0; border-top:1px solid var(--article-line); border-radius:0; background:var(--ztc-white); box-shadow:none; }
.is-insight-article .article-parent-card > .article-parent-cover { grid-row:auto; min-height:0; display:block; background:transparent; }
.is-insight-article .article-parent-card .article-parent-cover img { width:100%; height:160px; max-height:none; object-fit:contain; object-position:left center; }
.is-insight-article .article-parent-card strong { font-size:17px; line-height:1.65; }
.is-insight-article .article-parent-card i { display:inline-flex; align-items:center; gap:6px; min-height:32px; font-size:13px; }
.is-insight-article .article-parent-card:focus-visible { outline:2px solid var(--ztc-action); outline-offset:6px; }
.is-insight-article .article-parent-card:hover { transform:none; }
.is-insight-article .article-topic-card { border:0; border-top:1px solid var(--article-line); padding:22px 0 0; background:transparent; border-radius:0; }
.is-insight-article .article-topic-card strong { font-size:17px; }
.article-reading-return { margin-top:36px; padding-top:24px; border-top:1px solid var(--article-line); }
.article-reading-return a { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:14px; color:var(--ztc-action); }
.article-image-button { display:block; width:100%; min-height:44px; padding:0; border:0; background:transparent; cursor:zoom-in; }
.article-image-button img { margin:auto; }
.article-image-dialog { width:min(1200px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:16px; border:1px solid var(--ztc-border); border-radius:10px; background:var(--ztc-white); color:var(--ztc-navy-deep); }
.article-image-dialog::backdrop { background:rgba(10,43,76,.65); }
.article-image-dialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.article-image-dialog header>div { display:flex; gap:10px; }
.article-image-dialog :is(button,a) { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--ztc-border); border-radius:6px; color:var(--ztc-action); background:var(--ztc-white); font:600 13px var(--ztc-sans); cursor:pointer; }
.article-image-dialog button[aria-pressed=true] { background:#f0f7fb; }
.article-image-viewport { max-height:calc(100dvh - 128px); overflow:auto; overscroll-behavior:contain; }
.article-image-viewport img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100dvh - 128px); object-fit:contain; margin:auto; }
.article-image-viewport.is-original img { max-width:none; max-height:none; margin:0 auto; }
@media(max-width:1100px) {
 .is-insight-article .article-wrap { max-width:760px; }
 .is-insight-article .article-reading-grid { gap:30px; }
 .is-insight-article .article-side { display:contents; }
 .is-insight-article .article-toc { order:1; width:100%; }
 .is-insight-article .article-body-column { order:2; }
 .is-insight-article :is(.article-series-context,.article-parent-card) { order:3; width:100%; max-width:none; }
 .is-insight-article .article-context-rail { order:4; }
 .is-insight-article .article-toc ol { max-height:50vh; }
 .article-series-context img { max-height:190px; width:auto; }
}
@media(max-width:640px) {
 .is-insight-article .article-wrap { width:calc(100% - 40px); }
 .article-entry-breadcrumb { padding-top:14px; font-size:12px; }
 .is-insight-article .article-hero { padding-top:18px; }
 .is-insight-article .article-hero-inner { padding-bottom:28px; }
 .is-insight-article .article-hero h1 { font-size:29px; line-height:1.55; }
 .article-series-label { font-size:14px; margin-bottom:14px; }
 .is-insight-article .article-byline { display:flex; margin-top:20px; gap:8px 16px; }
 .is-insight-article .article-byline>* { font-size:12px; }
 .is-insight-article .article-reading { padding:24px 0 40px; }
 .is-insight-article .article-toc { overflow:visible; padding-bottom:0; }
 .is-insight-article .article-toc ol { display:block; width:auto; }
 .is-insight-article .article-toc a { min-width:0; border:0; border-bottom:1px solid var(--article-line); border-radius:0; padding:10px 0; }
 .is-insight-article .insight-article-body { font-size:17px; line-height:1.9; }
 .is-insight-article .insight-article-body h2 { font-size:25px; margin-top:40px; }
 .is-insight-article .insight-article-body h3 { font-size:20px; }
 .article-table-scroll table { font-size:14px; }
 .article-table-scroll :is(th,td) { padding:14px 16px; }
}
