.projects .project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}
.gallery-hint{color:var(--muted);font-size:.9rem;margin:0 0 24px}
.gallery-trigger{display:block;position:relative;overflow:hidden;background:#e6e2dc;color:white}
.gallery-trigger[hidden]{display:none}
.projects .gallery-trigger img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s ease}
.gallery-trigger:hover img{transform:scale(1.035)}
.gallery-trigger:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.gallery-open{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:25px 16px 13px;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:.8rem;letter-spacing:.02em}
.gallery-open b{font-size:1.4rem;font-weight:400}
.projects .project-gallery figcaption{padding-top:14px}
.projects .project-gallery figcaption p{font-size:clamp(1.2rem,1.7vw,1.6rem)}
.facade-gallery{margin-top:65px;padding-top:35px;border-top:1px solid #ccc7bf}
.facade-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:28px}
.facade-heading h3{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.1;letter-spacing:-.04em;margin:12px 0}
.facade-heading p:not(.section-label){color:var(--muted);line-height:1.65}
.facade-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.facade-images .gallery-open{font-size:.7rem;padding-left:12px;padding-right:12px}
html.gallery-is-open{overflow:hidden}
.photo-viewer{border:0;padding:20px 24px;background:#1d2223;color:#fff;width:min(1160px,94vw);max-width:94vw;max-height:94vh;max-height:94dvh;margin:auto;box-sizing:border-box}
.photo-viewer::backdrop{background:rgba(12,15,16,.9)}
.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.viewer-top p{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin:0}
.photo-viewer button{cursor:pointer;border:1px solid #626666;background:#272e30;color:#fff;width:46px;height:46px;flex-shrink:0;font:inherit;font-size:1.4rem}
.photo-viewer button:hover{background:#e92129}
.photo-viewer button:focus-visible{outline:2px solid white;outline-offset:3px}
.viewer-stage{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:16px;margin:16px 0}
.viewer-image{display:block;width:100%;height:65vh;height:65dvh;object-fit:contain;min-width:0}
.viewer-caption{font-size:.95rem;line-height:1.5;margin:0}
.viewer-count{white-space:nowrap;color:#c8cccb;font-size:.85rem}
@media(max-width:1000px){.projects .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.facade-images{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.projects .project-gallery{grid-template-columns:1fr;gap:28px}.projects .project-gallery img{aspect-ratio:3/2}.facade-heading{grid-template-columns:1fr;gap:8px}.facade-images{gap:10px}.facade-images .gallery-open{font-size:.65rem}.photo-viewer{padding:12px;max-width:100vw;width:100vw}.viewer-stage{position:relative;display:block;margin:12px 0}.viewer-image{height:60vh;height:60dvh}.viewer-prev,.viewer-next{position:absolute;bottom:8px}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-bottom{align-items:flex-start;gap:12px}.viewer-caption{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.gallery-trigger img{transition:none}}

.projects .project-gallery figure{margin:0;min-width:0}
.projects .supplier-gallery figcaption span{color:var(--red)}
.photo-viewer button[hidden]{display:none}

.viewer-stage.viewer-single{grid-template-columns:minmax(0,1fr)}

.projects .project-gallery figure{margin:0;min-width:0}
.projects .supplier-gallery figcaption span{color:var(--red)}
.photo-viewer button[hidden]{display:none}

.viewer-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 2px;margin-top:4px}
.photo-viewer .viewer-thumbnails button{width:68px;height:48px;padding:0;border:2px solid transparent;background:none;flex:0 0 68px}
.viewer-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}
.photo-viewer .viewer-thumbnails button[aria-pressed="true"]{border-color:var(--red,#ed1b24)}
.viewer-image{height:56vh;height:56dvh}
@media(max-width:600px){.viewer-image{height:52vh;height:52dvh}}

.projects .project-gallery .project-feature{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;gap:0;background:#e9e6e1}
.projects .project-feature>.gallery-trigger:not([hidden]){min-width:0}
.projects .project-feature>.gallery-trigger img{height:100%;min-height:300px;aspect-ratio:16/9}
.projects .project-feature figcaption{padding:clamp(24px,4vw,52px);border-top:3px solid var(--red);display:flex;flex-direction:column;justify-content:center}
.projects .project-feature figcaption>p:not(.project-feature-note){font-size:clamp(1.8rem,3vw,3rem)}
.projects .project-feature figcaption .project-feature-note{font-size:1rem;line-height:1.65;color:var(--muted);letter-spacing:0;margin:16px 0}
.project-feature .text-link{align-self:flex-start}
.viewer-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}
.viewer-actions p{font-size:.8rem;color:#c8cccb;margin:0}
.viewer-actions .button{min-height:44px;font-size:.8rem;padding:10px 16px}
.viewer-image{height:48vh;height:48dvh;touch-action:pan-y pinch-zoom}
.viewer-inquiry:focus-visible{outline:2px solid white;outline-offset:3px}
.inquiry-selection{margin:0;padding:12px 14px;background:#f4f2ef;border-left:3px solid var(--red);font-size:.875rem}
@media(max-width:600px){.projects .project-gallery .project-feature{grid-template-columns:1fr}.projects .project-feature>.gallery-trigger img{min-height:0;height:auto;aspect-ratio:3/2}.projects .project-feature figcaption{padding:24px}.viewer-actions{display:block}.viewer-actions .button{width:100%;justify-content:space-between}.viewer-actions p{display:none}.viewer-image{height:43vh;height:43dvh}}
