.gallery-header { padding: 180px 8% 50px; text-align: center; }
.gallery-header h1 { font-size: 4rem; margin-bottom: 20px; }

.filter-bar { display: flex; justify-content: center; gap: 15px; margin-bottom: 60px; }
.filter-btn {
    padding: 12px 30px; border-radius: 30px; border: 1px solid #eee;
    background: #fff; cursor: none; transition: 0.3s; font-weight: 500; font-family: 'Outfit';
}
.filter-btn:hover, .filter-btn.active { background: var(--dark); color: #fff; border-color: var(--dark); }

.art-masonry { 
    display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); 
    gap: 40px; padding: 0 8% 120px; 
}
.art-card { cursor: none; }
.card-img-wrap { 
    width: 100%; height: 450px; overflow: hidden; border-radius: 12px; margin-bottom: 20px; 
}
.card-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: 0.8s; }
.art-card:hover img { transform: scale(1.1); }
.art-info h3 { font-size: 1.5rem; margin-bottom: 5px; }
.art-info p { color: var(--grey); font-size: 0.9rem; }