html { scroll-padding-top: 2rem; }
body { background: var(--background); color: var(--text); font: 400 1.0625rem/1.7 var(--sans); -webkit-font-smoothing: antialiased; }
.shell { width: min(1040px, calc(100% - 96px)); margin-inline: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 29px; border-bottom: 1px solid var(--border); }
.site-header nav ul { display: flex; align-items: center; flex-wrap: wrap; gap: 32px; list-style: none; }
.site-footer { margin-top: 88px; padding-block: 27px 38px; border-top: 1px solid var(--border); display: flex; flex-wrap: wrap; gap: 30px; font-size: .875rem; }
.editorial-row { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 48px; border-top: 1px solid var(--border); padding-block: 36px 42px; }
.editorial-row > h2 { padding-top: 5px; }
.editorial-row .row-content { max-width: 650px; }
.prose { max-width: 650px; }
.prose p + p { margin-top: 1.4em; }
@media (max-width: 700px) {
  .shell { width: calc(100% - 40px); }
  .site-header { gap: 16px; padding-block: 22px; }
  .site-header nav ul { gap: 20px; }
  .editorial-row { grid-template-columns: 1fr; gap: 18px; padding-block: 28px 34px; }
  .site-footer { margin-top: 58px; }
}
@media (max-width: 380px) {
  .site-header { align-items: flex-start; flex-direction: column; gap: 12px; }
}
