.gallery{max-width:1200px;margin:0 auto;padding:7vh 20px 60px}
.gallery h1{font-size:clamp(30px,4.5vw,46px);line-height:1.15;margin:10px 0 12px}
.gallery .lead{margin-bottom:26px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.filters button{background:var(--panel2);border:1px solid var(--border);border-radius:999px;padding:7px 15px;cursor:pointer}
.filters button[aria-pressed=true]{border-color:var(--bright);color:var(--bright);background:#1d1808}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-bottom:28px}
.tile{border:1px solid var(--border);border-radius:16px;background:rgba(13,13,13,.94);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.tile:hover{border-color:var(--gold);transform:translateY(-2px)}
.tile img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;border-bottom:1px solid var(--border)}
.tile-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.tile h2{font-size:18px}
.tile p{color:var(--muted);font-size:14px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags span{font-size:11px;border:1px solid var(--border);border-radius:999px;padding:2px 9px;color:var(--muted)}
.tile-actions{display:flex;gap:8px;margin-top:auto;padding-top:6px}
.tile-actions a{flex:1;text-align:center;text-decoration:none}
.gallery .empty{color:var(--muted);padding:20px 0}
@media (max-width:760px){.bar-actions .primary{padding:7px 10px;font-size:13px}}
