/* C14: shared article framework, limited to governed article pages. */
.dsc-article { --aist-reading-width:760px; }
.aist-article-hero { position:relative; isolation:isolate; overflow:hidden; padding-block:40px 44px; background:#e9eff4; border-bottom:1px solid #d5dde2; }
.aist-article-hero__copy { position:relative; z-index:1; max-width:780px; }
.aist-article-hero h1 { font-size:clamp(34px,3.1vw,44px); line-height:1.13; max-width:32ch; margin:14px 0 0; }
.aist-article-hero__copy > p:last-child:not(.dsc-eyebrow) { max-width:720px; font-size:17px; line-height:1.65; margin-top:20px; }
.aist-article-hero__art { position:absolute; inset:0 0 0 auto; width:min(58vw,860px); z-index:0; opacity:.32; pointer-events:none; filter:grayscale(1) contrast(1.18) brightness(1.08); mix-blend-mode:multiply; mask-image:linear-gradient(to right,transparent 0%,#000 36%,#000 100%); }
.aist-article-hero__art picture { display:block; width:100%; height:100%; }
.aist-article-hero__art img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:right center; }
.dsc-article > .dsc-article__meta { max-width:var(--aist-reading-width); padding-inline:0; padding-block:22px; font-size:14px; }
.dsc-article .dsc-component--answer-summary { background:#f3f0eb; padding-block:36px; }
.dsc-article .dsc-answer-summary { max-width:var(--aist-reading-width); margin-inline:auto; border-left:2px solid #b6a07b; padding-left:24px; }
.dsc-article .dsc-answer-summary__answer { font-size:18px; line-height:1.7; }
.dsc-article .dsc-answer-summary__answer p { margin:0; }
.dsc-article .dsc-answer-summary__takeaways { gap:10px; margin-top:20px; font-size:16px; }
.dsc-article .dsc-answer-summary__takeaways li::before { background:#b6a07b; }
.dsc-article > .dsc-article-nav { max-width:var(--aist-reading-width); padding-inline:0; grid-template-columns:1fr; gap:14px; }
.dsc-article-nav ol { font-size:14px; }
.dsc-article__stream .dsc-prose { width:100%; max-width:var(--aist-reading-width); font-size:17px; line-height:1.8; }
.dsc-article__stream .dsc-component--prose-block { padding-block:24px; }
.dsc-article__stream .dsc-prose h2 { margin-bottom:18px; font-size:27px; line-height:1.3; }
.dsc-article__stream .dsc-prose h3 { font-size:21px; line-height:1.4; }
.aist-article-references { background:#f7f9fb; border-top:1px solid #d5dde2; padding-block:36px; }
.aist-article-references .aist-article-reading { max-width:var(--aist-reading-width); margin-inline:auto; }
.aist-article-references h2 { font-size:26px; margin-bottom:20px; }
.aist-article-references li { font-size:15px; line-height:1.75; margin-bottom:12px; overflow-wrap:anywhere; }
.aist-article-references a { overflow-wrap:anywhere; }
.dsc-article-author { padding-block:40px; }
.dsc-article-author .dsc-article-author__inner { max-width:var(--aist-reading-width); grid-template-columns:112px minmax(0,1fr); gap:26px; padding:28px; background:#e9eff4; border:1px solid #d5dde2; border-radius:10px; align-items:start; }
.dsc-article-author__portrait { margin-top:5px; }
.dsc-article-author h2 { font-size:24px; line-height:1.3; margin-bottom:6px; }
.dsc-article-author__role { font-size:14px; font-weight:700; margin:0 0 14px; }
.dsc-article-author__profile { font-size:15px; line-height:1.75; }
.dsc-article-author__profile p { margin:0 0 12px; }
@media(min-width:821px) and (max-width:1100px) { .aist-article-hero__art { width:47vw; opacity:.2; mask-image:linear-gradient(to right,transparent 0%,transparent 28%,#000 74%); } }
@media(max-width:820px) {
 .aist-article-hero { padding-block:32px 36px; }
 .aist-article-hero__art { display:none; }
 .aist-article-hero h1 { font-size:clamp(30px,8vw,36px); }
 .dsc-article > .dsc-article__meta,.dsc-article > .dsc-article-nav { width:calc(100% - 40px); }
 .dsc-article__stream .dsc-prose { font-size:16px; }
 .dsc-article .dsc-answer-summary { padding-left:18px; }
 .dsc-article .dsc-answer-summary__answer { font-size:17px; }
 .dsc-article-author .dsc-article-author__inner { width:calc(100% - 40px); padding:22px; gap:20px; grid-template-columns:80px minmax(0,1fr); }
 .aist-article-references .aist-article-reading { width:calc(100% - 40px); }
}
@media(max-width:560px) { .dsc-article-author .dsc-article-author__inner { grid-template-columns:1fr; } .dsc-article-author__portrait { width:88px; } .dsc-article-nav ol { grid-template-columns:1fr; } .dsc-article__meta span + span::before { content:none; } }
