.building-gallery{min-width:0}
.future-gallery.building-gallery{display:block}
.building-teasers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.building-teasers figure,.visual-grid figure{margin:0;min-width:0}
.building-teaser-main{grid-column:1/-1}
.building-teasers figcaption,.visual-grid figcaption{padding-top:10px;font-size:.9rem;line-height:1.5}
.building-note{font-size:.9rem;line-height:1.6;margin:20px 0 0}
.visual-gallery-page{padding-top:140px}
.visual-gallery-page h1{font-size:clamp(2.4rem,5vw,4.8rem);max-width:1000px}
.visual-gallery-page .large-copy{max-width:850px}
.visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;margin:40px 0}
@media(max-width:960px){.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.visual-grid{grid-template-columns:1fr;gap:28px}.visual-gallery-page{padding-top:110px}.building-teasers{gap:12px}.building-teasers .building-expand{padding:6px 10px;font-size:.8rem}}
.building-preview{position:relative;display:block;border-radius:24px;background:#eaf0f3;overflow:hidden;cursor:zoom-in}
.building-preview img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0}
.building-expand{position:absolute;right:12px;bottom:12px;padding:9px 14px;border-radius:99px;background:var(--navy);color:#fff;font-size:.875rem;font-weight:600}
.building-gallery .future-image figcaption{position:static;max-width:none;padding:14px 0 0;border-radius:0;background:none;font-size:.875rem;font-weight:400;line-height:1.5}
.gallery-open-button{margin-top:20px}
.gallery-is-open{overflow:hidden}
.building-lightbox:not([open]){display:none}
.building-lightbox[open]{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#0b1923;color:#fff;overflow:hidden;overscroll-behavior:contain}
.building-lightbox::backdrop{background:#0b1923}
.lightbox-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;border-bottom:1px solid #3a4b57}
.lightbox-header h2{margin:0 0 5px;font-size:1.35rem;line-height:1.3;letter-spacing:-.02em}
.lightbox-header p{margin:0;font-size:.875rem;color:#cfdae1}
.lightbox-close,.lightbox-nav{border:1px solid #899ba7;background:#152f42;color:#fff;cursor:pointer;flex-shrink:0;min-width:48px;min-height:48px;border-radius:99px}
.lightbox-close{padding:10px 16px;font-size:.95rem;display:flex;align-items:center;gap:10px}
.lightbox-close span{font-family:Arial,sans-serif;font-size:1.6rem;line-height:1}
.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:18px 76px;overflow:hidden;touch-action:pan-y pinch-zoom}
.lightbox-stage>img{width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.lightbox-stage.is-single{padding:18px 28px}
.lightbox-nav{position:absolute;z-index:1;top:50%;transform:translateY(-50%);font-family:Arial,sans-serif;font-size:2.2rem;line-height:1}
.lightbox-prev{left:16px}.lightbox-next{right:16px}
.lightbox-status{position:absolute;left:24px;right:24px;text-align:center;font-size:1rem}
.lightbox-footer{padding:16px 28px max(18px,env(safe-area-inset-bottom));border-top:1px solid #3a4b57;min-width:0}
.lightbox-footer>p{margin:0 0 10px;font-size:1rem;line-height:1.45}
.lightbox-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.875rem}
.lightbox-tools a{padding:8px 0;color:#fff;text-underline-offset:4px}
.lightbox-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:12px 3px 3px;max-width:100%}
.lightbox-thumbnails button{flex:0 0 92px;height:58px;border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;background:#172b3a;cursor:pointer}
.lightbox-thumbnails button[aria-pressed="true"]{border-color:var(--yellow)}
.lightbox-thumbnails img{width:100%;height:100%;object-fit:contain}
.building-lightbox a:focus-visible,.building-lightbox button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
@media(max-width:640px){.lightbox-header{padding:16px;gap:12px}.lightbox-header h2{font-size:1.1rem}.lightbox-header p{font-size:.875rem;max-width:220px}.lightbox-close{padding:10px 12px}.lightbox-stage,.lightbox-stage.is-single{padding:12px 0}.lightbox-nav{top:auto;bottom:8px;transform:none;background:rgba(18,48,69,.95)}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.lightbox-footer>p{font-size:.95rem}.lightbox-thumbnails button{flex-basis:76px;height:48px}.building-expand{font-size:.875rem;right:10px;bottom:10px}}
@media(max-height:500px) and (orientation:landscape){.lightbox-header{padding:8px 16px}.lightbox-header p{display:none}.lightbox-footer{padding:6px 16px}.lightbox-footer>p{margin-bottom:0;font-size:.875rem}.lightbox-thumbnails{display:none}.lightbox-stage,.lightbox-stage.is-single{padding-top:6px;padding-bottom:6px}}
