.gallery-filters{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin:0 0 2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line-cream)}.gallery-filter{background:transparent;border:1px solid var(--field-border);padding:.55rem 1.1rem;font-family:var(--sans);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.gallery-filter:hover{border-color:var(--gold);color:var(--gold-bright)}.gallery-filter:focus-visible{outline:0;box-shadow:var(--ring-gold)}.gallery-filter.is-active{background:var(--surface-dark);border-color:var(--surface-dark);color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.gallery-item{margin:0;position:relative;background:var(--surface-dark-2);overflow:hidden;border:1px solid var(--line-warm);transition:transform .25s ease,box-shadow .25s ease}.gallery-item[hidden]{display:none}.gallery-item:hover,.gallery-item:focus-within{transform:translateY(-4px);box-shadow:var(--shadow-md)}.gallery-img{aspect-ratio:4/5;background-size:cover;background-position:center;background-color:var(--surface-dark-2);transition:transform .4s ease}.gallery-item:hover .gallery-img,.gallery-item:focus-within .gallery-img{transform:scale(1.05)}.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.5rem 1.1rem 1rem;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.75) 60%,rgba(0,0,0,.95) 100%);color:var(--on-dark)}.gallery-tag{display:inline-block;padding:.2rem .55rem;background:var(--gold);color:#0a0a0a;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}.gallery-item figcaption p{margin:0 0 .5rem;font-size:.92rem;line-height:1.45;color:var(--on-dark-muted)}.gallery-item-link{display:inline-block;color:var(--gold-soft);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.gallery-item-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.gallery-item-link:hover{color:var(--gold-bright)}.gallery-item-link:focus-visible{outline:0;color:var(--gold-bright)}.gallery-item:focus-within{outline:2px solid var(--gold);outline-offset:2px}.gallery-note{margin-top:2.5rem;font-size:.88rem;color:var(--muted);text-align:center;font-style:italic}
