/* A photograph-only gallery: panoramic opening, then natural image proportions. */
.media-page{padding:32px 0 64px}
.media-page .photography-section{width:min(calc(100% - 64px),1440px);max-width:none;margin:0 auto;padding:0;border:0}
.media-page .photography-grid{display:block;columns:3;column-gap:24px}
.media-page .photography-item,.media-page .photography-item:nth-child(even){position:relative;break-inside:avoid;page-break-inside:avoid;margin:0 0 24px;min-width:0}
.media-page .photography-feature{column-span:all}
.media-page .photo-open{display:block;width:100%;padding:0;border:0;background:#eef2f5;line-height:0}
.media-page .photography-item img{display:block;width:100%;height:auto;aspect-ratio:var(--photo-ratio);object-fit:contain;transform:none;transition:opacity .2s ease}
.media-page .photography-item .photo-open:hover img{transform:none}
.media-page .photo-open:focus-visible{outline:3px solid #0964cf;outline-offset:5px}
.media-page .photo-dialog{width:min(1320px,calc(100% - 40px));padding:16px;max-height:calc(100dvh - 32px);border-color:#dbe3ea}
.media-page .dialog-heading{justify-content:flex-end;margin-bottom:12px}
.media-page .dialog-close{display:grid;place-items:center;min-width:44px;width:44px;height:44px;padding:0;font-size:27px;line-height:1;border:0;color:#0964cf;background:#f0f5fa}
.media-page .dialog-photo-stage{block-size:min(72dvh,800px);min-height:0;padding:0;touch-action:pan-y pinch-zoom;background:#f4f7f9}
.media-page .dialog-image{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain}
.media-page .dialog-controls{margin-top:12px;gap:16px}
.media-page .dialog-controls button{width:48px;height:44px;min-height:44px;padding:0;font-size:24px}
.media-page .photo-position{margin:0;color:#526273;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.1em}
@media(hover:hover) and (pointer:fine){.media-page .photo-open:not(:disabled):hover img{opacity:.94}}
@media(max-width:1000px){
 .media-page .photography-grid{columns:2;column-gap:20px}
 .media-page .photography-item,.media-page .photography-item:nth-child(even){margin-bottom:20px}
}
@media(max-width:620px){
 .media-page{padding:18px 0 36px}
 .media-page .photography-section{width:calc(100% - 32px)}
 .media-page .photography-grid{column-gap:12px}
 .media-page .photography-item,.media-page .photography-item:nth-child(even){margin-bottom:12px}
 .media-page .photo-open:focus-visible{outline-offset:3px;outline-width:2px}
 .media-page .photo-dialog{width:calc(100% - 20px);padding:10px;max-height:calc(100dvh - 20px)}
 .media-page .dialog-heading{margin-bottom:10px}
 .media-page .dialog-photo-stage{block-size:min(68dvh,calc(100dvh - 170px))}
 .media-page .dialog-controls{margin-top:10px}
}
@media(prefers-reduced-motion:reduce){.media-page .photography-item img{transition:none}}
