.project-gallery{margin:24px 0 32px}.catalog-atelier .project-gallery .detail-photo{margin:0;background:#e8e1d7}.catalog-atelier .project-gallery .detail-photo img{width:100%;height:auto;aspect-ratio:1.6;object-fit:contain}.gallery-meta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:18px 0}.gallery-meta p{font-size:12px;line-height:1.6;color:var(--muted);max-width:650px}.gallery-arrows{display:flex;align-items:center;gap:16px;flex-shrink:0}.gallery-arrows button,.lightbox-controls button{background:var(--soft);width:44px;height:44px;font-size:20px}.gallery-arrows span{font-size:12px}.gallery-thumbs{display:flex;gap:16px}.gallery-thumbs button{width:145px;padding:0 0 10px;background:none;text-align:left;border-bottom:2px solid transparent}.gallery-thumbs button[aria-pressed=true]{border-color:#8d7357}.gallery-thumbs img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.gallery-thumbs span{display:block;font-size:11px;line-height:1.5;margin-top:8px}.project-editorial{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:70px 0;border-bottom:1px solid #d7cbbd}.project-editorial h2{font-size:clamp(42px,4.6vw,68px);line-height:1.05}.project-editorial-copy>p{font-size:16px;line-height:1.85;color:var(--muted)}.project-editorial-copy h3{font:600 31px/1.15 var(--serif);margin:32px 0 16px}.project-editorial details{margin-top:30px;border-top:1px solid #d7cbbd}.project-editorial summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:14px}.project-editorial summary::-webkit-details-marker{display:none}.project-editorial details p{font-size:14px;line-height:1.8;padding-bottom:15px;color:var(--muted)}.project-editorial [open] summary span{transform:rotate(45deg)}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:15px}.lightbox-caption{text-align:center;font-size:13px;padding:0 15px 20px}.project-gallery button:focus-visible{outline:2px solid #9c8160;outline-offset:4px}
@media(max-width:1000px){.project-editorial{gap:45px}.project-editorial h2{font-size:49px}}
@media(max-width:700px){.project-gallery{margin-top:0}.catalog-atelier .project-gallery .detail-photo{width:calc(100% + 40px);margin-left:-20px}.catalog-atelier .project-gallery .detail-photo img{aspect-ratio:1.25}.gallery-meta{display:block;padding:17px 0}.gallery-meta p{min-height:38px;font-size:11px}.gallery-arrows{justify-content:flex-end;margin-top:10px;gap:18px}.gallery-thumbs{gap:10px}.gallery-thumbs button{width:calc((100% - 20px)/3);min-width:0}.gallery-thumbs span{font-size:10px}.project-editorial{display:block;padding:45px 0}.project-editorial h2{font-size:clamp(36px,10vw,47px);margin-bottom:25px}.project-editorial-copy>p{font-size:15px}.project-editorial-copy h3{font-size:29px}.project-editorial summary{min-height:52px;font-size:14px}}
@media(max-width:359px){.catalog-atelier .project-gallery .detail-photo{width:calc(100% + 32px);margin-left:-16px}}
/* Keep image and controls inside the viewport, including portrait photographs. */
html.gallery-open{overflow:hidden;scrollbar-gutter:stable}
.project-gallery{position:relative}
.gallery-status{font-size:12px;line-height:1.5;color:var(--muted);padding:12px 0}
.gallery-meta p{min-height:3.2em}
.gallery-arrows button,.lightbox-controls button{min-width:48px;min-height:48px}
.gallery-thumbs span{font-size:12px;line-height:1.45}
dialog.project-lightbox[open]{display:grid;grid-template-rows:44px minmax(0,1fr) 60px auto;gap:4px;width:min(1040px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(800px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:12px;overflow:hidden;overscroll-behavior:contain}
dialog.project-lightbox .dialog-close{position:static;justify-self:end;margin:0;width:44px;height:44px;min-width:44px;z-index:1}
dialog.project-lightbox img{display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;background:transparent;touch-action:pan-y pinch-zoom}
dialog.project-lightbox .lightbox-controls{padding:4px;gap:24px}
dialog.project-lightbox .lightbox-caption{margin:0;padding:4px 12px 8px;font-size:12px;line-height:1.5;min-height:3em}
.project-lightbox button:focus-visible{outline:2px solid #8d7357;outline-offset:2px}
@media(max-width:700px){dialog.project-lightbox[open]{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:8px}.gallery-meta p{min-height:3.2em}.gallery-thumbs span{font-size:11px}}
@media(max-height:450px){dialog.project-lightbox[open]{grid-template-columns:minmax(0,1fr) 130px;grid-template-rows:44px minmax(0,1fr) 56px;gap:6px}dialog.project-lightbox img{grid-column:1;grid-row:1 / 4}dialog.project-lightbox .dialog-close{grid-column:2;grid-row:1}dialog.project-lightbox .lightbox-controls{grid-column:2;grid-row:3;gap:5px}dialog.project-lightbox .lightbox-caption{grid-column:2;grid-row:2;padding:4px;font-size:11px}}
.gallery-status{position:absolute;top:12px;left:12px;right:12px;margin:0;padding:10px 14px;background:var(--paper);pointer-events:none;box-shadow:0 2px 15px #00000008}
@media(max-width:700px){.catalog-atelier .portrait-gallery .detail-photo img{aspect-ratio:.95}}
/* Fit the dialog to the photograph instead of stretching it to the full screen. */
dialog.project-lightbox[open]{height:auto}
dialog.project-lightbox img{height:auto;max-height:calc(100dvh - 196px)}
@media(max-height:450px){dialog.project-lightbox[open]{height:calc(100dvh - 16px)}dialog.project-lightbox img{height:100%;max-height:100%}}
@media(min-height:451px){dialog.project-lightbox[open]{display:block;height:fit-content}dialog.project-lightbox .dialog-close{margin:0 0 4px auto}dialog.project-lightbox .lightbox-controls{height:60px}dialog.project-lightbox .lightbox-caption{padding:4px 12px 8px}}
.lightbox-controls span{white-space:nowrap;min-width:36px;text-align:center;font-size:12px}
@media(max-height:450px){dialog.project-lightbox[open]{grid-template-columns:minmax(0,1fr) 156px}dialog.project-lightbox .lightbox-controls{gap:6px;padding:0}}
