.container { width: min(1120px, 94vw); margin: 0 auto; }
.site-header, .site-footer { background: var(--surface); border-bottom: 1px solid var(--border); }
.site-footer { border-top: 1px solid var(--border); border-bottom: 0; margin-top: 40px; padding: 20px 0; }
.header-inner, .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; }
.main-nav { display: flex; gap: 12px; flex-wrap: wrap; }
.main-nav a.active { font-weight: 700; }
.grid { display: grid; gap: 14px; }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.row { display: flex; align-items: center; }
.wrap { flex-wrap: wrap; }
.gap-sm { gap: 8px; }
@media (max-width: 900px) {
  .grid.three, .grid.four { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .header-inner { flex-direction: column; align-items: stretch; }
  .grid.three, .grid.four { grid-template-columns: 1fr; }
}
