/* BAKU ZOO — GALLERY. Masonry photo wall + filters + lightbox. */
.page-hero { position: relative; min-height: 54vh; display:flex; align-items:flex-end; padding: calc(var(--header-h) + 4rem) 0 2.4rem; text-align: center; overflow:hidden; isolation:isolate; }
.page-hero::before { content:""; position:absolute; inset:0; z-index:-2; background: url('../img/gen/macaw.jpg') center/cover; }
.page-hero::after { content:""; position:absolute; inset:0; z-index:-1; background: linear-gradient(180deg, rgba(10,30,20,.35) 0%, rgba(10,30,20,.4) 50%, rgba(10,30,20,.85) 100%); }
.page-hero .container { position: relative; }
.page-hero .kicker { justify-content:center; margin-bottom:1rem; color:#fff; }
.page-hero h1 { font-size: clamp(2.2rem,1.6rem+3.6vw,4.2rem); color: #fff; text-shadow: 0 8px 30px rgba(0,0,0,.4); }
.page-hero p { max-width: 56ch; margin: 1.1rem auto 0; color: rgba(255,255,255,.92); }
.filters { display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; padding-top:1.6rem; }
.chip { font-family:var(--f-display); font-weight:800; font-size:.85rem; padding:.55em 1.1em; border-radius:999px; border:2px solid var(--line); color: var(--ink-soft); background:#fff; transition:.3s; }
.chip:hover { border-color: var(--leaf); color: var(--forest); }
.chip.is-active { background: var(--forest); border-color: var(--forest); color:#fff; }

.wall { padding: 2.6rem 0 clamp(4rem,8vw,7rem); }
.grid { columns: 3; column-gap: 1rem; }
@media (max-width:900px){ .grid{ columns:2; } }
@media (max-width:560px){ .grid{ columns:1; } }
figure.shot { break-inside: avoid; margin:0 0 1rem; position:relative; overflow:hidden; border-radius: var(--r); cursor:zoom-in; box-shadow: var(--shadow); background: var(--leaf-soft); }
figure.shot img { width:100%; display:block; transition: transform .6s var(--ease); }
figure.shot:hover img { transform: scale(1.05); }
figure.shot figcaption { position:absolute; inset-block-end:0; inset-inline:0; padding:1.6rem .9rem .7rem; font-size:.78rem; color:#fff; background: linear-gradient(transparent, rgba(8,20,14,.85)); opacity:0; transition: opacity .35s; }
figure.shot:hover figcaption { opacity:1; }

.credits { padding: clamp(3rem,6vw,5rem) 0; background: var(--bg-2); }
.credits-box { max-width:70ch; margin:0 auto; text-align:center; }
.credits-box h2 { font-size:1.6rem; color: var(--ink); margin-bottom:1rem; }
.credits-box p { color: var(--ink-soft); font-size:.92rem; }
