/* Structural layout */
.ii-container {
  width: min(calc(100% - 32px), var(--container-max));
  margin-inline: auto;
}
.site-main { padding-block: 28px var(--space-8); }
.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--sidebar-width);
  gap: var(--layout-gap);
  align-items: start;
}
.content-column,
.site-sidebar { min-width: 0; }

@media (max-width: 1199px) {
  :root { --sidebar-width: 300px; --layout-gap: 24px; }
}
@media (max-width: 959px) {
  .content-grid { grid-template-columns: 1fr; }
  .site-sidebar { margin-top: 28px; }
  .site-main { padding-top: 22px; }
}
@media (max-width: 767px) {
  .ii-container { width: min(calc(100% - 32px), var(--container-max)); }
  .site-main { padding-block: 20px 32px; }
}

.content-grid > .content-column:only-child { grid-column: 1 / -1; }
