.site-map {
  max-inline-size: none;
}

.site-map-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.site-map-section {
  min-inline-size: 0;
}

.site-map-section > h2 {
  margin-block-start: 0;
}

.site-map-group + .site-map-group {
  margin-block-start: 1.5rem;
}

@media (width <= 48rem) {
  .site-map-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
