.gallery-filters{justify-content:center;gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.filter-btn{font-family:var(--font-display);border:2px solid var(--color-border-light);background:var(--color-white);color:var(--color-medium-gray);cursor:pointer;transition:all var(--transition-base);letter-spacing:.5px;padding:10px 24px;font-size:14px;font-weight:600}.filter-btn:hover,.filter-btn.active{border-color:var(--color-brand-purple);background-color:var(--color-brand-purple);color:var(--color-white)}.gallery-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.gallery-item{cursor:pointer;aspect-ratio:4/3;border-radius:6px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.gallery-item:hover img{transform:scale(1.08)}.gallery-overlay{opacity:0;transition:opacity var(--transition-base);background:#2a223699;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay svg{width:40px;height:40px;fill:var(--color-white)}.lightbox{z-index:9999;padding:var(--space-8);background:#000000eb;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lightbox.active{display:flex}.lightbox-img{object-fit:contain;max-width:90vw;max-height:85vh}.lightbox-close{cursor:pointer;width:44px;height:44px;color:var(--color-white);background:0 0;border:none;justify-content:center;align-items:center;font-size:32px;display:flex;position:absolute;top:20px;right:24px}.lightbox-nav{color:#fff;cursor:pointer;width:48px;height:48px;transition:background var(--transition-base);background:#ffffff1a;border:none;justify-content:center;align-items:center;font-size:24px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff40}.lightbox-prev{left:16px}.lightbox-next{right:16px}@media (width<=1023px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=639px){.gallery-grid{grid-template-columns:1fr}}
