.article-shell { width: min(1240px, calc(100% - 48px)); }
.article-hero { max-width: 890px; padding: 1.2rem 0 1.2rem; }
.article-hero h1 { max-width: 900px; font-family: var(--serif); font-size: clamp(3.2rem, 6vw, 6.4rem); line-height: .99; }
.article-hero .dek { max-width: 640px; font-size: 1.1rem; }
.article-layout { grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr); gap: 56px; padding: 0 0 3rem; }
.article-body h2 { font-family: var(--serif); font-size: clamp(2.1rem, 4vw, 3.3rem); line-height: 1; letter-spacing: -.05em; }
.article-body p, .article-body li { font-size: 1.05rem; }
.site-header .brand { color: var(--ink); }
.site-footer { width: min(1240px, calc(100% - 48px)); }

@media (max-width: 850px) {
  .article-shell { width: min(100% - 32px, 720px); }
  .article-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .article-aside { position: static; }
}

@media (max-width: 760px) {
  .article-shell, .site-footer { width: calc(100% - 28px); }
  .article-hero { padding: .9rem 0 .9rem; }
  .article-hero h1 { font-size: clamp(2.5rem, 11vw, 4rem); }
  .article-hero .dek { font-size: .94rem; }
  .article-layout { padding-bottom: 2.2rem; }
  .article-body h2 { font-size: 1.55rem; }
  .article-body p, .article-body li { font-size: .92rem; }
  .article-aside { display: grid; grid-template-columns: 1fr; gap: .8rem; }
  .site-footer { flex-direction: column; }
}
