/* A little more room for the work, without changing the approved story layout. */
@media(min-width:901px){
  .overview-stages{grid-template-columns:1fr 1.5fr 1fr}
  .kitchen-overview-stages{grid-template-columns:1fr 1.65fr 1fr}
}
.overview-process .project-photo img{height:205px;object-fit:contain;object-position:center}
.additional-process-grid .project-photo img{height:220px}
#process .case-photo-grid .project-photo img,
#bathroom-process .case-photo-grid .project-photo img{height:270px;object-fit:contain;object-position:center}
.kitchen-overview-process .project-photo img{height:225px}
.kitchen-story-process .project-photo img{height:310px}
.dwg-photo-image img{height:245px}
@media(max-width:900px){
  .overview-process .project-photo img,.kitchen-overview-process .project-photo img{height:220px}
  .dwg-photo-image img{height:220px}
}
@media(max-width:540px){
  .overview-process .project-photo img,.kitchen-overview-process .project-photo img,
  .additional-process-grid .project-photo img,.dwg-photo-image img,
  #process .case-photo-grid .project-photo img,#bathroom-process .case-photo-grid .project-photo img{height:205px}
  .kitchen-story-process .project-photo img{height:300px}
}

/* The whole photograph is a button, with an always-visible, high-contrast label. */
button.project-photo-open{display:block;width:100%;min-width:0;margin:0;padding:0;border:0;border-radius:0;appearance:none;text-align:left;cursor:zoom-in;background:#f1f3ed;color:#fff}
button.project-photo-open .photo-enlarge-label{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 8px;background:#2e443a;color:#fff;font:600 15px/1.4 Arial,sans-serif;text-align:center;letter-spacing:0}
button.project-photo-open:hover .photo-enlarge-label{background:#20362b}
button.project-photo-open:focus-visible{outline:3px solid #20362b;outline-offset:4px;box-shadow:0 0 0 2px #fff}
html.project-photo-viewer-open{overflow:hidden}
.project-photo-viewer{width:min(1200px,calc(100vw - 32px));height:min(1000px,calc(100dvh - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:18px;border:1px solid #d2ddc8;border-radius:4px;background:#f4f6ef;color:#2e443a;overflow:auto;overscroll-behavior:contain}
.project-photo-viewer[open]{display:flex;flex-direction:column;gap:14px}
.project-photo-viewer::backdrop{background:rgba(13,27,20,.88)}
.project-photo-viewer .photo-viewer-description{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0;border:0}
.photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}
.project-photo-viewer .photo-viewer-header p{margin:0;font:600 17px/1.45 Arial,sans-serif;overflow-wrap:anywhere}
.project-photo-viewer .photo-viewer-close{display:flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:48px;padding:10px 16px;border:1px solid #2e443a;border-radius:2px;background:#2e443a;color:#fff;font:600 17px/1.4 Arial,sans-serif;cursor:pointer}
.photo-viewer-close span{font-size:25px;line-height:1}
.project-photo-viewer .photo-viewer-image{display:block;flex:1 1 auto;min-height:80px;width:100%;margin:0;padding:0;border:0;border-radius:0;background:#182820;cursor:zoom-out;overflow:hidden}
.project-photo-viewer .photo-viewer-image img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}
.project-photo-viewer .photo-viewer-image img[hidden]{display:none}
.project-photo-viewer .photo-viewer-hint,.project-photo-viewer .photo-viewer-error{flex:none;font:15px/1.5 Arial,sans-serif;margin:0;color:#2e443a}
.project-photo-viewer button:focus-visible{outline:3px solid #789967;outline-offset:3px}
@media(max-width:540px){
  .project-photo-viewer{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:12px}
  .photo-viewer-header{align-items:flex-start;gap:12px;flex-direction:column-reverse}
  .project-photo-viewer .photo-viewer-close{align-self:flex-end;font-size:16px}
  .project-photo-viewer .photo-viewer-header p{font-size:16px}
  .project-photo-viewer .photo-viewer-hint{font-size:14px}
}
@media(forced-colors:active){
  button.project-photo-open,.project-photo-viewer .photo-viewer-close{border:2px solid ButtonText}
}
