.image-gallery__filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.image-gallery__filters button{border:1px solid var(--color-border);background:var(--color-surface-elevated);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:2px;align-items:center;gap:.45rem;padding:.6rem 1rem;font-size:.72rem;font-weight:700;transition:border-color .25s,color .25s,background .25s,transform .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.image-gallery__filters button span{color:var(--color-muted-light);font-weight:600}.image-gallery__filters button.active,.image-gallery__filters button:hover{border-color:var(--color-orange);color:var(--color-orange);background:#e8620a0a;transform:translateY(-1px)}.image-gallery__count{color:var(--color-muted);margin:0 0 1.25rem;font-size:.9rem}.image-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.image-gallery--compact .image-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.image-gallery--large .image-gallery__grid{grid-template-columns:1fr;gap:1.5rem}.image-gallery--large .image-gallery__trigger{aspect-ratio:16/10}@media (width>=640px){.image-gallery--large .image-gallery__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.image-gallery--large .image-gallery__grid{grid-template-columns:repeat(3,1fr)}}.image-gallery__item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:2px;margin:0;transition:box-shadow .35s,transform .35s cubic-bezier(.16,1,.3,1);overflow:hidden}.image-gallery__item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.image-gallery__trigger{aspect-ratio:4/3;cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block;position:relative;overflow:hidden}.image-gallery__trigger:after{content:"";background:#e8620a00;transition:background .35s;position:absolute;inset:0}.image-gallery__item:hover .image-gallery__trigger:after{background:#e8620a1f}.image-gallery__item img{object-fit:cover;will-change:transform;width:100%;height:100%;transition:transform .55s cubic-bezier(.16,1,.3,1);display:block}.image-gallery__item:hover img{transform:scale(1.06)}@media (width<=600px){.image-gallery__grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.image-gallery__filters{gap:.4rem}.image-gallery__filters button{padding:.55rem .75rem;font-size:.65rem}}@media (prefers-reduced-motion:reduce){.image-gallery__item:hover,.image-gallery__item:hover img{transform:none}}
