.photo .reserve-banner{left:0;right:0;top:auto;bottom:0;padding:12px 16px;text-align:center;text-transform:uppercase;letter-spacing:.08em}
.reserve-banner b,.reserve-banner em{display:block}
.reserve-banner em{margin-top:3px;font-size:11px;font-style:normal;letter-spacing:.03em}
.photo .gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:#20120d;cursor:pointer;overflow:hidden}
.photo .gallery-open img,.photo .gallery-open video{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.photo .gallery-open:hover img,.photo .gallery-open:hover video{transform:scale(1.025)}
.photo .gallery-open i{position:absolute;right:12px;bottom:12px;padding:7px 9px;background:#39170bd9;color:#fff;font-size:10px;font-style:normal;font-weight:700;pointer-events:none}
.photo>span{z-index:2;pointer-events:none}.photo:has(.reserve-banner) .gallery-open i{bottom:58px}
#animal-gallery{width:min(980px,94vw);max-height:92vh;padding:0;border:0;background:#1d100c;color:#fff;box-shadow:0 20px 70px #0008}
#animal-gallery::backdrop{background:#000c}
.gallery-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#39170b}
.gallery-head h2{margin:0;font-size:28px}.gallery-head button{border:0;background:none;color:#fff;font-size:34px;cursor:pointer}
#gallery-media{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px}
#gallery-media img,#gallery-media video{display:block;width:100%;max-height:72vh;object-fit:contain;background:#000}
.reserved-watermark{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-16deg);padding:.12em .35em;border:.12em solid #fff;color:#fff;background:#9b1c16cc;box-shadow:0 2px 14px #0008;font:700 clamp(28px,5vw,58px)/1 'Josefin Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.gallery-item{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;background:#000}.gallery-item .reserved-watermark{font-size:clamp(24px,4vw,48px)}
.media-upload-label{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);padding:10px 13px;background:#39170be6;color:#fff;white-space:nowrap;pointer-events:none}
.hero{min-height:400px;padding-block:50px}.hero>div{max-width:760px}.hero h1{font-size:clamp(26px,4vw,52px);line-height:1}.hero h1 span{display:block;white-space:nowrap}
@media(max-width:650px){#gallery-media{grid-template-columns:1fr}.gallery-head h2{font-size:22px}}
