.page {
  width: min(var(--container), calc(100% - 40px));
  margin: 28px auto;
}

.section {
  margin-top: var(--section-gap);
}

.hero-slider + .latest-posts,
.hero-slider + .blog-filter-bar,
.latest-posts + .discord-strip,
.latest-posts + .site-footer,
.blog-filter-bar + .latest-posts,
.discord-strip + .join-help,
.discord-strip + .site-footer,
.application-hero + .application-shell,
.application-shell + .site-footer,
.team-hero + .team-roster,
.rules-hero + .rules-section,
.rules-hero + .rules-shell,
.rules-shell + .rules-support-card,
.partner-hero + .partner-overview,
.partner-overview + .partner-requirements,
.partner-requirements + .partner-steps-section,
.partner-steps-section + .partner-strip,
.features-hero + .features-section,
.legal-hero + .legal-shell,
.legal-hero + .vote-section,
.legal-shell + .site-footer,
.vote-section + .site-footer,
.join-help + .site-footer {
  margin-top: 48px;
}

.blog-filter-bar + .latest-posts {
  margin-top: var(--section-gap);
}

.grid-hero {
  display: grid;
  grid-template-columns: 1.1fr 0.95fr;
  gap: var(--gutter);
}

.grid-features {
  display: grid;
  grid-template-columns: 1.35fr 0.9fr 0.72fr;
  gap: var(--gutter);
}

.grid-content {
  display: grid;
  grid-template-columns: 1.25fr 0.8fr 0.7fr;
  gap: var(--gutter);
}

.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.card-pad {
  padding: 26px;
}

.kicker {
  color: var(--muted-2);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.section-title {
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: -0.04em;
  margin-bottom: 14px;
}

.text-muted {
  color: var(--muted);
  line-height: 1.55;
  font-size: 14px;
}
