#detail.gallery-detail{grid-template-columns:minmax(230px,25%) minmax(0,1fr);gap:40px;padding-top:30px}
.gallery-detail .detail-heading h1{font-size:38px;line-height:1.18}
.gallery-detail .description{font-size:16px;line-height:1.6}
.project-media{min-width:0;outline-offset:6px}
.gallery-stage{--stage-height:min(62vh,660px);height:var(--stage-height);min-height:280px;display:flex;align-items:center;justify-content:center;background:transparent;overflow:hidden}
.gallery-images{display:contents}
.gallery-frame{position:relative;max-width:100%;max-height:100%;width:min(100%,calc(var(--stage-height) * var(--ratio,1.5)));aspect-ratio:var(--ratio,1.5)}
.gallery-frame .photo{height:100%;width:100%;margin:0;display:block}
.gallery-frame .photo img{width:100%;height:100%;object-fit:contain}
.gallery-frame[hidden],.gallery-stage[hidden],.gallery-tools[hidden],.gallery-thumbnails[hidden],.gallery-thumbnails button[hidden],.project-video[hidden],.furniture-popover[hidden]{display:none}
.gallery-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 0}
.gallery-tools button{width:40px;height:40px;border:1px solid #ddd;background:white;font-size:23px;color:#333}
.gallery-count{margin-right:auto;font-size:13px;font-variant-numeric:tabular-nums;color:#777}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:7px}
.gallery-thumbnails button{height:58px;border:2px solid transparent;padding:2px;background:white;opacity:.65}
.gallery-thumbnails button:hover{opacity:1}
.gallery-thumbnails button[aria-pressed=true]{border-color:#444;opacity:1}
.gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}
.project-sections{display:flex;gap:22px;border-bottom:1px solid #e5e5e5;margin-bottom:18px;flex-wrap:wrap}
.project-sections a{font-size:13px;padding:10px 0;color:#777}
.project-sections a[aria-current]{color:#222;border-bottom:1px solid #222}
.project-video iframe{display:block;aspect-ratio:16/9;width:100%;border:0;background:transparent}
.project-video>a{display:inline-block;margin-top:16px;font-size:13px;text-decoration:underline}
.furniture-marker{position:absolute;width:36px;height:36px;border-radius:50%;border:1px solid white;background:#222c;color:white;font-size:23px;transform:translate(-50%,-50%);box-shadow:0 1px 6px #0004}
.furniture-marker:hover,.furniture-marker:focus-visible{background:#111}
.furniture-popover{position:absolute;top:8px;left:8px;right:8px;max-width:310px;background:white;padding:12px;box-shadow:0 3px 20px #0002;z-index:2;display:grid;gap:6px}
.furniture-popover strong{font-size:15px;font-weight:500}.furniture-popover small{font-size:12px;color:#777}.furniture-popover a{font-size:13px;text-decoration:underline;min-height:30px;padding-top:6px}
.furniture-close{position:absolute;right:4px;top:2px;width:30px;height:30px;border:0;background:white;font-size:22px}.furniture-popover strong{padding-right:20px}
@media(max-width:900px){#detail.gallery-detail{grid-template-columns:1fr;padding:24px}.gallery-detail .project-info{margin-bottom:0}.gallery-detail .description{max-width:70ch}.gallery-detail .detail-heading{margin-bottom:16px}.gallery-stage{--stage-height:52vh}.project-sections{gap:16px}}
@media(max-width:550px){#detail.gallery-detail{padding:20px 16px;display:grid;gap:24px}.gallery-stage{--stage-height:350px;min-height:0}.gallery-thumbnails{grid-template-columns:repeat(5,minmax(0,1fr))}.gallery-thumbnails button{height:48px}.project-sections{gap:12px}.project-sections a{font-size:12px}.gallery-detail .detail-heading h1{font-size:32px}}
