.gallery-page{padding-block:var(--section-space)}.gallery-page h1{letter-spacing:-.035em;overflow-wrap:anywhere;font:clamp(38px,5vw,64px)/1.12 Georgia,serif}.gallery-intro{color:#555;white-space:pre-line;overflow-wrap:anywhere;max-width:680px;margin-block:24px 36px;line-height:1.75}.gallery-grid,.gallery-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.gallery-card{border:1px solid #e5e2dc;border-radius:8px;display:block;overflow:hidden}.gallery-card:hover{background:var(--site-paper)}.gallery-card img,.gallery-photo img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.gallery-card>div{padding:24px}.gallery-card h2{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:22px;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.gallery-card p{color:#555;margin-top:12px;font-size:14px}.gallery-back{min-height:44px;color:var(--brand-red);align-items:center;margin-bottom:24px;text-decoration:underline;display:inline-flex}.gallery-pagination{flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;display:flex}.gallery-pagination a{align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.gallery-photo{cursor:zoom-in;background:var(--site-paper);border-radius:6px;overflow:hidden}.gallery-dialog{color:#fff;background:#171717;border:0;border-radius:10px;width:min(1100px,100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:16px;position:fixed;inset:0;overflow:auto}.gallery-dialog::backdrop{background:#000c}.gallery-dialog>img{object-fit:contain;width:100%;height:65dvh}.gallery-viewer-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.gallery-viewer-toolbar button{cursor:pointer;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:8px;display:inline-flex}.gallery-dialog button:focus-visible{outline-offset:2px;outline:3px solid #fff}.gallery-caption{overflow-wrap:anywhere;max-width:70ch;margin:12px auto;line-height:1.5}@media (max-width:900px){.gallery-grid,.gallery-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (max-width:600px){.gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery-photos{gap:12px}.gallery-dialog{padding:12px}}
