/* Mobile-first CSS Grid; no external framework or build pipeline. */
.index-container { width: min(calc(100% - 2rem), var(--index-container-max)); margin-inline: auto; }
.index-section { padding-block: clamp(1.75rem, 3vw, 3.75rem); }
.index-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--index-space-8); }
.index-layout__main, .index-layout__sidebar { min-width: 0; }
.index-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: var(--index-space-6); align-content: start; }
.index-entry-content { width: 100%; max-width: var(--index-content-max); }
@media (min-width: 64rem) { .index-layout--sidebar { grid-template-columns: minmax(0, 1fr) var(--index-sidebar-width); } }
