.layout-grid {
  display: grid;
  gap: var(--space-lg);
}

/* Common responsive grids */
.layout-grid.two-up {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.layout-grid.three-up {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

/* Split content with breathing space that respects large headers */
.split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(var(--space-lg), 4vw, var(--space-2xl));
  align-items: start;
}

/* Sticky helper for side cards, offset below header */
.sticky-card {
  position: sticky;
  top: calc(var(--header-offset, 64px) + var(--space-xl));
}

/* Lists and stats */
.stacked-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.stacked-list > li {
  list-style: none;
  margin: 0;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-md);
}

.stat-tile {
  padding: var(--space-lg);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-md);
}
.stat-tile h3 {
  font-size: clamp(2rem, 5vw, 3rem);
  font-family: var(--font-display);
  margin-bottom: var(--space-xs);
}

/* Wider container option for big sections */
@media (min-width: 1200px) {
  .container.is-wide {
    width: min(1400px, 100% - 2rem);
  }
}
