/* gallery.css - gallery page only: filter buttons, picture grid. (Viewer styles: lightbox.css) (Font sizes are in typography.css) */
.gal-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.gal-filter button {
  border: 1px solid var(--line); background: #fff; color: var(--ink); border-radius: 999px;
  padding: 9px 20px; cursor: pointer; font-family: var(--bf); font-weight: 600; transition: background .2s, color .2s, border-color .2s;
}
.gal-filter button:hover { border-color: var(--red); color: var(--red); }
.gal-filter button[aria-pressed="true"] { background: var(--red); border-color: var(--red); color: #fff; }
.gal-item[hidden] { display: none; }
.gal-link { display: block; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.gal-link img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .45s; }
.gal-link:hover img { transform: scale(1.05); }
.gal-item[data-cat="machines"] .gal-link img { aspect-ratio: 11 / 6; }
.gal-tall img { aspect-ratio: 3 / 4; object-fit: contain; background: #fff; }
.gal-cap { margin: 8px 2px 0; color: var(--mut); line-height: 1.4; }
.gal-grid + .quote-cta { margin-top: 44px; }
