.roof-gallery{min-width:0;width:100%;max-width:760px;margin:36px auto}.home-diptych .roof-gallery{margin:0}
.roof-viewport{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--ink,#101110)}
.roof-slide{margin:0}.roof-slide[hidden]{display:none!important}
.roof-viewport .roof-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 1s ease}
.roof-viewport .roof-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.roof-gallery .roof-slide .photo-frame{width:100%;height:100%;aspect-ratio:3/4;overflow:hidden;background:transparent}
.roof-gallery .roof-slide .photo-frame img,.roof-gallery .roof-slide .photo-expand>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
.roof-viewport .roof-slide figcaption{position:absolute;left:16px;bottom:16px;margin:0;padding:9px 12px;width:fit-content;max-width:calc(100% - 32px);background:#101110b8;color:var(--paper);font:400 13px/1.5 var(--sans);pointer-events:none}
.roof-slide .photo-expand-hint{top:16px;bottom:auto}
.roof-controls{display:flex;align-items:center;gap:12px;border:0;margin-top:16px;padding-top:8px}
.roof-viewport,.roof-gallery .photo-frame,.roof-gallery .photo-expand,.roof-gallery img{border:0;border-radius:0;box-shadow:none;padding:0}
.roof-controls button,.roof-choices button{min-width:44px;min-height:44px;background:transparent;border:0;color:var(--paper);font:400 14px/1.4 var(--sans);padding:8px 12px;cursor:pointer}
.roof-controls button:hover{color:var(--gold)}.roof-count{font-size:13px;color:var(--gold);margin-right:auto}
.roof-choices{display:flex;justify-content:center;gap:4px}.roof-choices button{position:relative;font-size:0;padding:0;min-width:32px;flex:1;max-width:64px}.roof-choices button:after{content:'';position:absolute;left:6px;right:6px;top:21px;height:1px;background:var(--muted);transition:background 1s ease}.roof-choices button[aria-pressed=true]:after{background:var(--gold)}
.roof-controls button:focus-visible,.roof-choices button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.king-gallery-viewport{aspect-ratio:3/4;max-width:760px;margin-inline:auto}.king-gallery-slide{transition:opacity 1s ease}.king-gallery-viewport .king-gallery-slide img{object-fit:cover;transform:none}
@media(prefers-reduced-motion:reduce){.roof-viewport .roof-slide,.king-gallery-slide{transition:none}}
.floor-card .floor-photo{margin:0 0 24px}.floor-card .floor-photo .photo-frame{aspect-ratio:3/4;overflow:hidden;border:0;border-radius:0}.floor-card .floor-photo img,.floor-card .floor-photo .photo-expand>img{display:block;width:100%;height:100%;object-fit:cover;transform:none;border:0;border-radius:0}
.king-gallery-controls .king-gallery-toggle{width:auto;min-width:72px;padding-inline:10px;font-size:14px;flex-shrink:0}

.floor-card .floor-gallery{margin:0 0 24px;max-width:none}.floor-gallery .roof-controls{gap:4px}.floor-gallery .roof-controls button{padding-inline:8px}

/* Owner-selected second-floor photos: large complete frames and wrapping controls. */
[data-gallery-group="floor-2"] .roof-choices{flex-wrap:wrap}
.second-floor-feature{grid-column:1/-1}
.space-photo-grid .second-floor-feature .photo-frame{aspect-ratio:auto;height:auto}
.space-photo-grid .second-floor-feature img,.space-photo-grid .second-floor-feature .photo-expand>img{display:block;width:100%;height:auto;object-fit:contain}

/* Keep expanded King’s Room gallery controls within narrow mobile screens. */
.king-gallery-dots{flex-wrap:wrap;min-width:0}
.king-gallery-arrow{flex-shrink:0}
