.article-page { --reading-ink:#202221; --reading-muted:#666c69; color:var(--reading-ink); }
.article-page>header { max-width:1120px; padding:64px 28px 42px; }
.article-page h1 { max-width:1000px; font-size:48px; line-height:1.14; font-weight:600; letter-spacing:0; text-wrap:balance; overflow-wrap:break-word; }
.article-page .article-excerpt { max-width:900px; color:#505853; font-size:21px; line-height:1.65; margin:24px 0; }
.article-page .article-byline { border-top:1px solid #d9ddda; padding-top:19px; align-items:center; gap:10px 18px; line-height:1.5; }
.article-page .article-cover { width:100%; max-width:1120px; height:auto; margin:0 auto; }
.article-page .article-layout { max-width:1120px; grid-template-columns:minmax(0,720px) minmax(0,248px); gap:64px; padding:0 28px; margin:54px auto 70px; }
.article-page .article-body { min-width:0; color:var(--reading-ink); font-family:Georgia,"Times New Roman",serif; font-size:21px; line-height:1.8; letter-spacing:0; overflow-wrap:break-word; }
.article-page .article-body>p { margin:0 0 .7em; text-align:justify; hyphens:auto; }
.article-page .article-body>p+p { text-indent:1.5em; }
.article-page .article-body>p:first-child { font-size:23px; line-height:1.7; margin-bottom:1.2em; text-indent:0; }
.article-page .article-body h2,.article-page .article-body h3 { font-family:Montserrat,Arial,sans-serif; letter-spacing:0; text-align:left; text-indent:0; text-wrap:balance; scroll-margin-top:100px; }
.article-page .article-body h2 { font-size:28px; line-height:1.35; margin:42px 0 18px; font-weight:600; }
.article-page .article-body h3 { font-size:23px; line-height:1.4; margin:32px 0 14px; font-weight:600; }
.article-page .article-body ul,.article-page .article-body ol { padding-left:1.25em; margin:20px 0; }
.article-page .article-body li { margin:10px 0; text-indent:0; text-align:left; }
.article-page .article-body .context67-public { font-family:Arial,sans-serif; font-size:16px; line-height:1.65; text-indent:0; }
.article-page .article-layout aside { min-width:0; top:100px; gap:26px; }
.article-page .article-layout aside>div { background:transparent; border-top:3px solid var(--red); padding:20px 0 0; }
.article-page .article-layout aside p { color:var(--reading-muted); font-size:15px; line-height:1.7; }
.article-page .article-toc { padding:20px 0 0; border-top:1px solid #d9ddda; }
.article-page .article-toc h2 { font:600 14px/1.4 Montserrat,Arial,sans-serif; margin:0 0 14px; }
.article-page .article-toc ol { list-style:decimal-leading-zero; padding-left:24px; margin:0; }
.article-page .article-toc li { padding:0 0 12px 6px; color:var(--reading-muted); font-size:13px; line-height:1.5; }
.article-page .article-toc a { color:var(--reading-ink); text-decoration:none; overflow-wrap:anywhere; }
.article-page .article-toc a:hover,.article-page .article-toc a:focus-visible { color:var(--red); text-decoration:underline; text-underline-offset:3px; }
.article-page .article-sources { max-width:1120px; padding:28px; margin:0 auto 70px; }
.article-page .article-sources h2 { font-size:22px; }
.article-page .article-sources li { font-size:14px; line-height:1.6; }
@media(max-width:1000px) {
 .article-page .article-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
 .article-page .article-layout aside { position:static; display:contents; }
 .article-page .article-toc { grid-row:1; }
 .article-page h1 { font-size:42px; }
}
@media(max-width:760px) {
 .article-page>header { padding:40px 20px 30px; }
 .article-page h1 { font-size:32px; line-height:1.2; }
 .article-page .article-excerpt { font-size:18px; line-height:1.65; }
 .article-page .article-byline { font-size:13px; gap:8px 14px; }
 .article-page .article-layout { grid-template-columns:minmax(0,1fr); gap:38px; margin:34px auto 44px; padding:0 20px; }
 .article-page .article-body { font-size:19px; line-height:1.8; }
 .article-page .article-body>p { text-align:start; }
 .article-page .article-body>p:first-child { font-size:20px; }
 .article-page .article-body>p+p { text-indent:1.15em; }
 .article-page .article-body h2 { font-size:25px; margin-top:34px; }
 .article-page .article-body h3 { font-size:21px; }
 .article-page .article-sources { padding:24px 20px; margin-bottom:44px; }
}
