.gallery-surface{background:url('atmosphere.webp') center top/cover;padding-bottom:75px}
.gallery-intro{text-align:center;padding:65px 24px 95px}.gallery-intro .eyebrow{font-size:15px;letter-spacing:5px;margin:0 0 35px}.gallery-intro h1{font-size:76px;font-weight:600;margin:0 0 40px;line-height:1.1}.gallery-intro>p:last-child{font-size:22px;margin:0}
.gallery-content{max-width:1300px;margin:auto;padding:0 35px}.gallery-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-bottom:14px}.gallery-filters button{border:1px solid transparent;background:none;color:#1a1a1a;font:italic 600 19px 'Playfair Display',Georgia,serif;padding:10px 15px;min-height:44px}.gallery-filters button[aria-pressed=true]{border-bottom-color:#494d30;background:#f2eadf55}.gallery-filters button:hover{background:#f2eadf88}.gallery-count{text-align:center;font-size:11px;letter-spacing:1px;margin:0 0 22px;min-height:18px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery-photo{display:block;width:100%;border:0;padding:0;background:#d6d3cd;aspect-ratio:3/4;overflow:hidden}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.gallery-photo:hover img{transform:scale(1.025)}.gallery-photo[hidden]{display:none}
#gallery-more{display:block;margin:45px auto 0;border:1px solid #f2eadf;background:#1a1a1a;color:#f2eadf;font:italic 25px 'Playfair Display',Georgia,serif;padding:14px 35px;min-height:48px}#gallery-more[hidden]{display:none}
#gallery-lightbox{background:#f2eadf;max-width:96vw;width:1100px;max-height:95dvh;border:0;padding:20px}#gallery-lightbox::backdrop{background:#000c}.gallery-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery-dialog-top p{font-size:13px;margin:0}.gallery-dialog-top button{border:0;background:none;min-height:44px;padding:8px 15px}.gallery-dialog-image{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}.gallery-dialog-image img{width:100%;height:78dvh;object-fit:contain;max-width:100%;max-height:78dvh}.gallery-dialog-image button{background:none;border:0;font-size:38px;height:60px;color:#1a1a1a}
@media(max-width:850px){.gallery-intro{padding:40px 24px 35px}.gallery-intro .eyebrow{font-size:10px;letter-spacing:2.5px;margin-bottom:22px}.gallery-intro h1{font-size:50px;margin-bottom:24px}.gallery-intro>p:last-child{font-size:16px}.gallery-content{padding:0 20px}.gallery-filters{gap:4px}.gallery-filters button{font-size:16px;padding:8px 10px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-surface{padding-bottom:45px}.gallery-count{margin-bottom:18px}#gallery-more{font-size:21px;margin-top:30px}#gallery-lightbox{padding:12px}.gallery-dialog-image{gap:0;grid-template-columns:30px minmax(0,1fr) 30px}.gallery-dialog-image img{height:70dvh}.gallery-dialog-top p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}
/* Full-screen photo viewer, with the page visible through a dark backdrop. */
#gallery-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}
#gallery-lightbox::backdrop{background:rgba(0,0,0,.82)}
#photo-caption{display:none}
.gallery-dialog-top{position:absolute;top:16px;right:20px;z-index:2}
.gallery-dialog-top #gallery-close{color:#fff;font-size:0;width:48px;height:48px;border-radius:50%;background:#0005;padding:0}
#gallery-close::after{content:'×';font:36px/1 Arial,sans-serif}
.gallery-dialog-image{height:100%;width:100%;grid-template-columns:72px minmax(0,1fr) 72px;gap:16px;padding:40px 16px}
.gallery-dialog-image #gallery-enlarged{height:calc(100dvh - 80px);max-height:none;width:100%;max-width:100%;object-fit:contain}
.gallery-dialog-image button{color:#fff;border-radius:50%;background:#0005;width:52px;height:52px;font-size:40px;justify-self:center}
.gallery-dialog-image button:hover,#gallery-close:hover{background:#fff3}
@media(max-width:850px){.gallery-dialog-top{top:8px;right:8px}.gallery-dialog-image{grid-template-columns:40px minmax(0,1fr) 40px;gap:4px;padding:60px 4px 24px}.gallery-dialog-image #gallery-enlarged{height:calc(100dvh - 84px)}.gallery-dialog-image button{width:40px;height:48px;font-size:34px}}
