.page-head{padding-top:40px;padding-bottom:24px}.page-head p:last-child{max-width:680px;margin-bottom:0}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;padding-bottom:24px}
.gallery-grid figure[hidden]{display:none}.gallery-grid figcaption{text-align:center;font-size:18px}
.gallery-grid figcaption span{display:block;font-size:13px}.photo-open{width:100%;border:0;padding:0;cursor:zoom-in}.photo-open img{height:305px;object-fit:contain;width:100%}
.gallery-filters{display:flex;flex-wrap:wrap}.gallery-filters button{min-height:44px;cursor:pointer}.gallery-filters button:focus-visible,.photo-open:focus-visible,.album-controls button:focus-visible{outline:3px solid #a66f38;outline-offset:4px}
#photo-dialog{width:min(1120px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:auto;padding:18px 22px}
#photo-dialog::backdrop{background:rgba(12,31,35,.86)}#photo-dialog .dialog-close{display:block;margin:0 0 10px auto;min-height:44px;min-width:80px;cursor:pointer}
#dialog-image{display:block;width:100%;height:auto;max-height:calc(100dvh - 240px);object-fit:contain;background:#f2efe9}
#dialog-caption{margin:12px 0;text-align:center;font-size:17px;line-height:1.6}
.album-controls{display:flex;justify-content:center;align-items:center;gap:24px}.album-controls button{border:1px solid #b1beb8;background:#fffdf7;color:#183e43;border-radius:0;padding:10px 18px;min-height:44px;font:inherit;font-size:15px;cursor:pointer}.album-controls span{min-width:64px;text-align:center;font-size:14px;color:#49615d}
#album-full{display:block;width:fit-content;margin:10px auto 0;padding:6px;font-size:14px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-open img{height:290px}}
@media(max-width:600px){.page-head{padding-top:28px;padding-bottom:20px}.page-head h1{font-size:38px}.gallery-grid{grid-template-columns:1fr;gap:32px}.photo-open img{height:auto;max-height:460px;object-fit:contain}.gallery-grid figcaption{font-size:18px}.gallery-filters button{padding:9px 13px}#photo-dialog{padding:12px;max-width:calc(100vw - 20px);width:calc(100vw - 20px)}.album-controls{gap:10px}.album-controls button{padding:10px 12px;font-size:14px}.album-controls span{min-width:48px}#dialog-caption{font-size:16px}}
