/* Cover heading and reference-led sticky contents navigation. */
.article-header{position:relative;isolation:isolate;overflow:hidden;min-height:24rem;display:flex;align-items:flex-end;background:var(--navy);color:#fff;padding:2rem 0 3.5rem}
.article-header__cover{position:absolute;inset:0;z-index:-2}
.article-header__cover img{width:100%;height:100%;object-fit:cover;object-position:center}
.article-header:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,25,54,.92),rgba(8,25,54,.55)),linear-gradient(0deg,rgba(8,25,54,.65),transparent)}
.article-header h1{color:#fff;font-size:clamp(2.25rem,4.5vw,4rem);max-width:26ch}
.article-header .article-breadcrumb,.article-header .article-breadcrumb a{color:#e0e8f3}
.article-header .article-header__category a{color:#cce2c1}
.article-main__grid{grid-template-columns:17rem minmax(0,48rem);gap:clamp(2rem,5vw,5rem);align-items:start}
.article-toc-sidebar{position:sticky;top:9rem;align-self:start}
.article-toc-sidebar[hidden]{display:none}
.article-toc{padding:1.5rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface)}
.article-toc h2{margin:0 0 1rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.article-toc ul{margin:0;padding:0;list-style:none;max-height:calc(100dvh - 15rem);overflow-y:auto}
.article-toc li+li{margin-top:.25rem}
.article-toc a{display:block;padding:.625rem .75rem;border-left:2px solid transparent;color:var(--text-muted);font-size:.8125rem;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.article-toc .is-subheading a{padding-left:1.5rem;font-size:.75rem}
.article-toc a:hover,.article-toc a[aria-current]{border-color:var(--primary);background:#e6edf8;color:var(--primary)}
.article-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.8125rem}
.article-main__grid.has-no-toc{grid-template-columns:minmax(0,48rem)}
[data-article-content] :is(h2,h3){scroll-margin-top:10rem}
body.admin-bar .article-toc-sidebar{top:11rem}
@media(max-width:900px){.article-main__grid{grid-template-columns:1fr;gap:2rem}.article-toc-sidebar,body.admin-bar .article-toc-sidebar{position:static}.article-toc ul{max-height:18rem}.article-header{min-height:20rem}}
@media(max-width:640px){.article-header{padding:1.5rem 0 2.5rem}.article-header h1{font-size:clamp(2rem,8vw,2.75rem)}.article-toc{padding:1.25rem}}
@media print{.article-toc-sidebar{display:none}.article-main__grid{display:block}}
