
.photo-gallery{margin:36px 0 42px;padding:26px 0;border-block:1px solid var(--gallery-line,#9b835455);scroll-margin-top:28px}
.photo-gallery .gallery-kicker,.gallery-discovery .gallery-kicker{font:600 11px/1.5 system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gallery-accent,#b99255);margin:0 0 10px}
.photo-gallery h2,.gallery-discovery h2{font:400 clamp(26px,3vw,36px)/1.2 Georgia,serif;color:inherit;margin:0 0 10px}
.photo-gallery .gallery-intro{font-size:15px;line-height:1.6;color:inherit;opacity:.85;margin:0 0 22px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
.gallery-card{margin:0;min-width:0}.gallery-card:first-child{grid-column:1/-1}
.gallery-photo{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--gallery-surface,#142632);color:#fff;text-decoration:none}
.gallery-card:first-child .gallery-photo{aspect-ratio:16/9}
.gallery-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover;object-position:center;opacity:1;transition:transform .35s ease;filter:none;border:0}
.gallery-photo:hover img{transform:scale(1.025)}
.gallery-zoom{position:absolute;right:12px;bottom:12px;background:#0b161ee0;color:#fff;border:1px solid #ffffff66;padding:5px 10px;border-radius:20px;font:12px/1.5 system-ui,sans-serif}
.gallery-card figcaption{padding:11px 0 0;font:14px/1.5 system-ui,sans-serif;color:inherit}
.gallery-card figcaption strong{display:block;font-weight:500}
.gallery-credit{display:block;font-size:11px;line-height:1.7;margin-top:5px;opacity:.85;overflow-wrap:anywhere}
.gallery-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px;display:inline}
.gallery-note{font:12px/1.6 system-ui,sans-serif!important;color:inherit!important;opacity:.75;margin:20px 0 0!important}
.gallery-photo.photo-unavailable{display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.gallery-unavailable{font:14px/1.6 system-ui,sans-serif;color:#fff;text-align:center}
.gallery-entry{display:inline-block;font-size:13px;color:inherit;padding:8px 0;text-underline-offset:4px;margin-left:18px}
.gallery-discovery{padding:40px 0 20px;--gallery-surface:#142632}
.gallery-teasers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.gallery-teaser{display:block;min-width:0;text-decoration:none!important;color:inherit!important}
.gallery-teaser .gallery-photo{aspect-ratio:4/3}.gallery-teaser strong{display:block;font:400 21px/1.3 Georgia,serif;margin:12px 0 5px}.gallery-teaser small{font:12px/1.6 system-ui,sans-serif;opacity:.85}
.gallery-teaser .teaser-credit{font-size:10px;opacity:.75;line-height:1.5;margin:5px 0 0}
.photo-lightbox{position:fixed;inset:0;margin:auto;width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:16px;box-sizing:border-box;border:1px solid #a88d61;border-radius:6px;background:#0b151d;color:#f4eee3;overflow:auto}
.photo-lightbox::backdrop{background:#000d;backdrop-filter:blur(4px)}
.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font:14px/1.5 system-ui,sans-serif}
.photo-lightbox button{color:#f4eee3;background:#142632;border:1px solid #9d8967;min-width:44px;min-height:44px;padding:8px 14px;cursor:pointer;font:14px/1.4 system-ui,sans-serif}
.photo-lightbox button:focus-visible,.gallery-photo:focus-visible,.gallery-teaser:focus-visible{outline:3px solid #d9b575;outline-offset:4px}
.lightbox-image{width:100%;max-height:66dvh;object-fit:contain;display:block;background:#071017}
.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.lightbox-caption{margin:0!important;color:#f4eee3!important;font:14px/1.5 system-ui,sans-serif!important}.lightbox-credit{display:block;font-size:11px;margin-top:6px}.lightbox-credit a{color:#e3c892;text-decoration:underline}
.lightbox-nav{display:flex;gap:8px;flex:none}
@media(max-width:700px){.gallery-grid{gap:18px 12px}.gallery-card figcaption{font-size:13px}.gallery-card:first-child .gallery-photo{aspect-ratio:4/3}.gallery-credit{font-size:10px}.gallery-teasers{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 2px 16px;gap:16px}.gallery-teaser{flex:0 0 min(78vw,300px);scroll-snap-align:start}.gallery-entry{margin-left:0;display:table}.photo-lightbox{padding:10px;max-height:96dvh}.lightbox-image{max-height:60dvh}.lightbox-footer{align-items:flex-start;flex-wrap:wrap}.lightbox-nav{margin-left:auto}.photo-gallery{margin:26px 0 32px}}
@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}.gallery-photo:hover img{transform:none}}

:root{--gallery-line:#9b835466;--gallery-accent:#d1b47d;--gallery-surface:#0c151b}.gallery-discovery{color:#ebe4d7}.photo-gallery{color:#ebe4d7}

.gallery-teaser-link{display:block;text-decoration:none!important;color:inherit!important}.gallery-teaser .teaser-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}.gallery-teaser .gallery-credit{font-size:10px}
