.container { width: min(100% - 32px, var(--container)); margin-inline: auto; }
.grid { display: grid; gap: var(--space-24); }
.btn-base { appearance: none; background: none; border: 0; padding: 0; color: inherit; font: inherit; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; white-space: nowrap; clip-path: inset(100%); clip: rect(0 0 0 0); overflow: hidden; }
.skip-link { position: absolute; top: -40px; left: 8px; background: #111; padding: 8px 12px; border-radius: 8px; }
.skip-link:focus { top: 8px; outline: 2px solid var(--focus); }

/* Simple responsive helpers */
@media (min-width: 768px) { .grid-cols-2-md { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .grid-cols-3-lg { grid-template-columns: repeat(3, 1fr); } }
