.page-prep-hub .shell { grid-template-columns: var(--side-w) minmax(0, 1fr); max-width: 1440px; }
.page-prep-hub :is(.rail, .mobile-toc, .article-meta, .article-kicker) { display: none; }
.page-prep-hub :is(.prose, .page-foot) { max-width: none; }
.page-prep-hub .article-head { padding: 0; margin: .8rem 0 1rem; border: 0; }
.page-prep-hub .article-head h1 { max-width: none; font-size: clamp(2rem, 3.7vw, 3.6rem); line-height: 1.18; }
.prose .prep-intro { max-width: 43rem; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.8; margin: 0 0 2rem; }
.prep-directory { border-top: 1px solid var(--rule); padding-top: 1.5rem; }
.prep-directory-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .8rem; margin-bottom: 1.3rem; }
.prose .prep-directory h2 { margin: 0; padding: 0; border: 0; font-size: 1.3rem; line-height: 1.6; }
.prep-directory-heading > a { font-size: .79rem; color: var(--muted); }
.prep-library { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1.5rem; }
.prep-library a { display: block; min-width: 0; padding: 1rem 0; border-top: 1px solid var(--rule-soft); text-decoration: none; }
.prep-library a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.prep-library small { display: block; font: .68rem/1.6 var(--body); color: var(--muted); }
.prep-library strong { display: block; font-size: .94rem; margin: .4rem 0; line-height: 1.5; }
.prep-library span { display: block; font-size: .79rem; color: var(--muted); line-height: 1.75; }
.prose .prep-footnote { font-size: .8rem; color: var(--muted); margin: 1.4rem 0 .8rem; }
.prep-other { display: flex; gap: .5rem 1.3rem; flex-wrap: wrap; }
.prep-other a { font-size: .78rem; min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 1080px) {
  .page-prep-hub .shell { grid-template-columns: minmax(0, 1fr); max-width: 960px; }
}
@media (max-width: 680px) {
  .prep-library { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
}
