.grid {
  display: grid;
  gap: 1.25rem;
}

.grid-2,
.grid-3,
.grid-4,
.cards-grid {
  display: grid;
  gap: 1.25rem;
}

.stack > * + * {
  margin-top: 1rem;
}

.page-grid {
  display: grid;
  gap: 1.5rem;
}

.page-grid--sidebar {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.hero-grid {
  align-items: start;
}

.cards-grid {
  align-items: stretch;
}

.meta-line,
.card-meta,
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  color: var(--text-soft);
  font-size: 0.92rem;
}

.prose {
  max-width: var(--reading);
}

.prose > * + * {
  margin-top: 1rem;
}

.prose h2,
.prose h3 {
  margin-top: 2rem;
}

.prose ul {
  list-style: disc;
  padding-left: 1.2rem;
}

.prose li + li {
  margin-top: 0.45rem;
}