.project-photo-open{display:block;position:relative;color:inherit;cursor:zoom-in}
.project-photo-open .project-image{display:block;width:100%}
.cards [data-project-categories*="New construction"]>.project-photo-open>.project-image{object-fit:contain;background:#f5f7f9}
#old-metairie-floor-replacement>.project-photo-open>.project-image{object-position:center 75%}
.project-photo-hint{position:absolute;bottom:12px;right:12px;padding:8px 12px;background:#111d;color:#fff;font-size:13px;line-height:1.4;border-radius:3px;pointer-events:none}
.project-photo-open:focus-visible,.project-gallery a[data-gallery-open]:focus-visible{outline:3px solid #087aa5;outline-offset:4px}
.project-gallery a[data-gallery-open]{cursor:zoom-in}
html.photo-viewer-open{overflow:hidden}
.photo-viewer{box-sizing:border-box;padding:0;border:1px solid #52606c;border-radius:8px;background:#111820;color:#fff;width:min(1440px,calc(100vw - 32px));height:min(1000px,calc(100dvh - 32px));max-width:none;max-height:none;overflow:hidden;box-shadow:0 12px 60px #0008}
.photo-viewer::backdrop{background:#060a10e8}
.photo-viewer:not([open]){display:none}
.photo-viewer-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0}
.photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;border-bottom:1px solid #ffffff24}
.photo-viewer-header h2{font-size:20px;line-height:1.3;letter-spacing:0;margin:0;color:#fff}
.photo-viewer button{box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;min-height:44px;min-width:44px;padding:10px 15px;background:#253443;color:#fff;border:1px solid #728191;border-radius:4px;font:inherit;font-size:15px;line-height:1.3;cursor:pointer;letter-spacing:0;text-transform:none}
.photo-viewer button:hover{background:#36516b}
.photo-viewer button:focus-visible{outline:3px solid #76d9ff;outline-offset:3px}
.photo-viewer button:disabled{opacity:.45;cursor:default}
.photo-viewer-close{gap:10px;flex-shrink:0}
.photo-viewer-close span{font-size:26px;line-height:1}
.photo-viewer-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;padding:12px}
.photo-viewer-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in}
.photo-viewer-image[hidden]{display:none}
.photo-viewer-status{position:absolute;text-align:center;margin:20px;line-height:1.5;font-size:16px}
.photo-viewer-status:empty{display:none}
.photo-viewer-footer{display:block;padding:10px 20px 14px;border-top:1px solid #ffffff24;background:#111820}
.photo-viewer-caption{font-size:15px;line-height:1.5;margin:0 0 10px;color:#fff}
.photo-viewer-controls{display:flex;align-items:center;justify-content:center;gap:14px}
.photo-viewer-count{min-width:54px;text-align:center;font-size:14px;white-space:nowrap}
.photo-viewer-footer #photo-viewer-help{margin:10px 0 0;font-size:12px;line-height:1.5;color:#c1cdd7;text-align:center}
.photo-viewer.is-zoomed .photo-viewer-stage{display:block;touch-action:pan-x pan-y pinch-zoom}
.photo-viewer.is-zoomed .photo-viewer-image{max-width:none;max-height:none;cursor:zoom-out;margin:auto}
@media(max-width:600px){.photo-viewer{width:100vw;height:100dvh;margin:0;border:0;border-radius:0}.photo-viewer-header{padding:10px 12px;gap:12px}.photo-viewer-header h2{font-size:17px}.photo-viewer-footer{padding:10px 12px max(12px,env(safe-area-inset-bottom))}.photo-viewer-stage{padding:8px}.photo-viewer-controls{gap:8px;flex-wrap:wrap}.photo-viewer button{font-size:14px;padding:10px 12px}.photo-viewer-zoom{flex-basis:100%;max-width:180px}.photo-viewer-caption{font-size:14px}.photo-viewer-count{min-width:46px}}
