/* Centered-pair composition. The sidebar stretches; only the TOC is sticky. */
.article-page { padding-block: var(--reading-space-2xl) 0; }
.article-page__head, .article-reading, .article-related { padding-inline: var(--gutter); }
.article-reading { margin-bottom: var(--reading-space-2xl); }
.article-page__intro { display: flex; flex-direction: column; align-items: center; gap: var(--reading-space-md); text-align: center; margin-bottom: var(--reading-space-xl); }
.article-page__intro .reading-title { width: min(100%, 23ch); }
.article-page__intro .reading-lead { width: min(100%, 60ch); margin: 0; }
.article-page__intro .reading-meta { justify-content: center; }
.article-page__cover { width: 100%; margin: 0 auto var(--reading-space-2xl); }
.article-page__cover img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--reading-radius); }
.article-reading { display: grid; grid-template-columns: var(--reading-toc-width) minmax(0, var(--reading-measure)); gap: var(--reading-space-2xl); justify-content: center; font-size: var(--reading-size); }
.article-reading__sidebar { min-width: 0; }
.article-reading__column { min-width: 0; }
.article-reading .reading-toc { position: sticky; top: var(--reading-sticky-top); max-height: calc(100vh - var(--reading-sticky-top) - var(--reading-space-md)); overflow-y: auto; }
.article-related { margin-top: var(--reading-space-2xl); padding-top: var(--reading-space-xl); border-top: 1px solid var(--line); }
.article-related .post-grid { margin-top: var(--reading-space-lg); }
@media (max-width: 1023px) {
  .article-reading { grid-template-columns: minmax(0, var(--reading-measure)); gap: var(--reading-space-lg); }
  .article-reading .reading-toc { position: static; max-height: none; }
}
@media (max-width: 640px) {
  .article-page__intro { align-items: flex-start; text-align: left; }
  .article-page__intro .reading-meta { justify-content: flex-start; }
}
@media print { .article-reading { display: block; } .article-page__intro { align-items: flex-start; text-align: left; } }

/* Author band follows the reading composition, never inside its prose column. */
.article-author { padding: var(--reading-space-xl) var(--gutter); background: var(--paper-blue); scroll-margin-top: var(--reading-sticky-top); }
.article-author__inner { display: flex; align-items: flex-start; justify-content: center; gap: var(--reading-space-lg); }
.article-author__photo { flex: 0 0 120px; width: 120px; height: 120px; object-fit: cover; border-radius: 50%; }
.article-author__content { width: min(100%, var(--reading-measure)); min-width: 0; }
.article-author__content .reading-category { margin-block: var(--reading-space-xs) var(--reading-space-sm); }
.article-author__content .reading-prose p:last-child { margin-bottom: 0; }
.article-author__content .reading-link { margin-top: var(--reading-space-sm); }
.article-page .reading-meta a { text-decoration: underline; text-underline-offset: .2em; }
.article-page .reading-share__links :is(a, button) { gap: var(--reading-space-xs); }
.article-page .reading-share__links svg { flex-shrink: 0; }
.article-preferred-source { margin-block: var(--reading-space-md); }
.article-related { padding-bottom: var(--reading-space-2xl); margin-top: 0; }
@media (max-width: 640px) {
  .article-author__inner { flex-direction: column; gap: var(--reading-space-md); }
}
/* Preserve comparison prose inside a keyboard-scrollable table region. */
.article-reading .reading-prose table { min-width: 48rem; table-layout: auto; }
.article-reading .reading-prose .wp-block-table:focus-visible { outline: 2px solid var(--studio-green); outline-offset: 4px; }
#article-body { scroll-margin-top: var(--reading-sticky-top); }
/* The late shared navigation stylesheet otherwise re-enables this control in print. */
@media print { body.single-post .menu-toggle { display: none !important; } }
