.gallery-page{background:#f5f3ea;color:#24382e}
.gallery-page .site-header{position:fixed}
.gallery-intro{padding:132px var(--gutter) 52px;background:#263b30;color:var(--beige)}
.gallery-intro .eyebrow{margin-bottom:16px}
.gallery-intro h1{max-width:850px;font-size:clamp(54px,7vw,96px);line-height:.9;letter-spacing:-.055em}
.gallery-intro h1 em{color:var(--beige);font-weight:400}
.gallery-intro>p:last-child{max-width:650px;margin-top:24px;color:var(--beige-soft);font-size:17px;line-height:1.65}
.photo-gallery{padding:44px var(--gutter) 64px}
.photo-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1500px;margin:0 auto}
.photo-gallery button{position:relative;aspect-ratio:2/1;padding:0;overflow:hidden;border:0;border-radius:16px;background:#d9ddcf;box-shadow:0 8px 28px rgba(36,56,46,.08);cursor:zoom-in}
.photo-gallery button:first-child,.photo-gallery button:last-child{grid-column:1/-1;aspect-ratio:2.15/1}
.photo-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.photo-gallery button:hover img{transform:scale(1.025)}
.photo-gallery button:focus-visible{outline:3px solid #7d9477;outline-offset:4px}
.gallery-dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:rgba(13,20,16,.96)}
.gallery-dialog::backdrop{background:rgba(13,20,16,.96)}
.gallery-dialog[open]{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:20px}
.gallery-dialog figure{display:grid;place-items:center;margin:0;height:calc(100vh - 48px)}
.gallery-dialog img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px}
.gallery-dialog button{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:26px;cursor:pointer}
.gallery-dialog .gallery-close{position:fixed;z-index:2;top:18px;right:18px}
.gallery-dialog button:hover{background:rgba(255,255,255,.2)}
@media(max-width:800px){
  .gallery-intro{padding:106px 22px 38px}
  .gallery-intro h1{font-size:52px}
  .gallery-intro>p:last-child{font-size:15px}
  .photo-gallery{padding:24px 16px 40px}
  .photo-gallery-grid{grid-template-columns:1fr;gap:10px}
  .photo-gallery button,.photo-gallery button:first-child,.photo-gallery button:last-child{grid-column:auto;aspect-ratio:1.55/1;border-radius:12px}
  .gallery-dialog{padding:12px}
  .gallery-dialog[open]{grid-template-columns:44px 1fr 44px;gap:6px}
  .gallery-dialog figure{height:calc(100vh - 24px)}
  .gallery-dialog button{width:42px;height:42px;font-size:22px}
}
