.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:36px}.gallery-filter{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-size:.82rem;letter-spacing:.5px;text-transform:uppercase;padding:8px 18px;border-radius:50px;font-weight:600;cursor:pointer;transition:var(--transition)}.gallery-filter.active,.gallery-filter:hover{border-color:var(--accent);color:var(--accent);background:rgba(196,132,45,.08)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.gallery-tile{aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:#0f0f0f;position:relative;cursor:pointer;border:1px solid var(--border);transition:var(--transition)}.gallery-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(196,132,45,.3)}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-tile:hover img{transform:scale(1.05)}.gallery-tile .caption{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));color:#fff;font-size:.85rem;font-weight:500;letter-spacing:.3px;opacity:0;transition:var(--transition)}.gallery-tile:hover .caption{opacity:1}.placeholder-tile{aspect-ratio:1;border-radius:var(--radius-lg);background:#0f0f0f;border:2px dashed var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--text-faint)}.placeholder-tile small{display:block;margin-top:8px;font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}