.article-main{padding:0 0 72px}
.article-shell{max-width:1240px;margin:0 auto;padding:0 clamp(1.25rem,3vw,2.5rem)}
.article-date-row{display:grid;grid-template-columns:minmax(0,680px) 240px;justify-content:end;gap:40px;padding:108px 0 82px}
.article-date{grid-column:1;font-family:Helvetica,Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#9a6a50}
.article-layout{display:grid;grid-template-columns:minmax(0,680px) 240px;justify-content:end;align-items:start;gap:40px}
.article-layout>article{width:100%;max-width:680px;margin:0}
.article-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}
.toc-card,.related-card{background:#fff;border:1px solid #e2e0dc}
.sidebar-heading{margin:0;padding:16px 18px 14px;border-bottom:1px solid #e2e0dc;font-family:Helvetica,Arial,sans-serif;font-size:13px;font-weight:600;color:#1a1a1a}
.toc-scroll{max-height:46vh;overflow-y:auto;padding:10px 8px 12px 0;scrollbar-width:thin;scrollbar-color:#cfc8c1 transparent}
.toc-list{list-style:none;margin:0;padding:0}
.toc-list a{display:block;padding:8px 14px 8px 18px;border-left:2px solid transparent;font-family:Helvetica,Arial,sans-serif;font-size:12px;line-height:1.45;color:#6b625d;transition:color .18s,border-color .18s,background .18s}
.toc-list a:hover,.toc-list a.active{border-left-color:#c94a0a;background:#faf7f4;color:#c94a0a}
.related-links{display:flex;flex-direction:column;padding:4px 18px 10px}
.related-links a{padding:12px 0;border-bottom:1px solid #ece8e4;font-family:Helvetica,Arial,sans-serif;font-size:13px;font-weight:600;line-height:1.45;color:#28313d}
.related-links a:last-child{border-bottom:0}
.related-links a:hover{color:#c94a0a}
.related-links span{display:block;margin-top:5px;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c94a0a}
article h2{scroll-margin-top:100px}
@media(max-width:980px){
  .article-date-row,.article-layout{grid-template-columns:minmax(0,680px);justify-content:end}
  .article-date{grid-column:1}
  .article-sidebar{position:static;order:-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:18px}
  .toc-scroll{max-height:260px}
}
@media(max-width:700px){
  .article-main{padding-bottom:56px}
  .article-date-row{padding:48px 0 32px}
  .article-layout{gap:28px}
  .article-sidebar{display:flex}
  .toc-scroll{max-height:220px}
}
