.listing-card-image img,.detail-image img{width:100%;height:100%;object-fit:cover}.detail-image{overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.property-gallery,.similar-properties{padding:clamp(4rem,8vw,7rem) 0}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-heading-row h2{margin-bottom:0}.carousel-controls{display:flex;gap:.55rem}.carousel-controls button{width:46px;height:46px;border:1px solid var(--line);background:var(--paper);color:var(--navy);font-size:1.2rem;cursor:pointer}.carousel-controls button:hover,.carousel-controls button:focus-visible{background:var(--navy);color:#fff}.gallery-carousel{position:relative}.gallery-track,.similar-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding-bottom:1rem}.gallery-slide{position:relative;flex:0 0 min(72vw,840px);height:clamp(280px,34vw,360px);padding:0;border:0;background:var(--ivory);overflow:hidden;cursor:zoom-in;scroll-snap-align:start}.gallery-slide img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-slide:hover img{transform:scale(1.025)}.gallery-open-floating,.floor-plan-zoom span{position:absolute;right:1rem;bottom:2rem;background:rgba(11,23,43,.9);color:#fff;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.3);font:600 .65rem var(--sans);text-transform:uppercase;letter-spacing:.09em;z-index:3;cursor:pointer;box-shadow:0 8px 22px rgba(5,12,23,.2)}.gallery-open-floating:hover,.gallery-open-floating:focus-visible{background:var(--gold)}.floor-plan-zoom span{bottom:1rem}
.gallery-dialog{width:min(96vw,1500px);height:min(94vh,1000px);padding:0;border:0;background:#081222;color:#fff}.gallery-dialog::backdrop{background:rgba(5,12,23,.92)}.gallery-dialog figure{height:100%;margin:0;padding:3.5rem 5rem;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center}.gallery-dialog figure img{max-width:100%;max-height:100%;object-fit:contain}.gallery-dialog figcaption{padding-top:1rem;color:#d8dce3}.gallery-dialog-close,.gallery-dialog-nav{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.gallery-dialog-close{top:1rem;right:1rem;width:44px;height:44px;font-size:1.8rem}.gallery-dialog-nav{top:50%;translate:0 -50%;width:46px;height:60px;font-size:1.4rem}.gallery-dialog-prev{left:1rem}.gallery-dialog-next{right:1rem}
/* Compact floor-plan and specifications composition. */
.property-information{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,1fr);gap:clamp(2.5rem,5vw,5rem);align-items:start;max-width:1120px;margin:0 auto;padding:clamp(3rem,5vw,5rem) 0;border-top:0}.floor-plan-panel figure{margin:0}.floor-plan-zoom{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;line-height:0}.floor-plan-zoom img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;transition:filter .2s ease}.floor-plan-zoom:hover img,.floor-plan-zoom:focus-visible img{filter:brightness(.96)}.floor-plan-panel figcaption{padding-top:.5rem;color:var(--muted);font-size:.72rem}.property-specifications-wide{grid-column:1/-1;max-width:760px}.property-specifications h2{font-size:clamp(2.4rem,5vw,4.25rem)}.detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem;margin:1rem 0 1.5rem;border-top:0}.detail-meta>div{padding:.4rem 0;border-bottom:0}.detail-meta dt{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.detail-meta dd{margin:.15rem 0 0;font-family:var(--serif);font-size:1.1rem}.similar-track{padding-bottom:1.5rem}.similar-card{flex:0 0 min(31vw,390px);scroll-snap-align:start}.similar-card h3{margin-bottom:.7rem}
@media(max-width:850px){.property-information{grid-template-columns:1fr;max-width:680px}.property-specifications-wide{grid-column:auto}.gallery-slide{flex-basis:84vw}.similar-card{flex-basis:72vw}}
@media(max-width:520px){.property-gallery,.similar-properties{padding:3.5rem 0}.property-information{padding:2.75rem 0;gap:2rem}.section-heading-row{align-items:center;margin-bottom:1.25rem}.section-heading-row h2{font-size:2.15rem}.carousel-controls button{width:40px;height:40px}.gallery-slide{flex-basis:87vw;height:auto;aspect-ratio:4/3}.gallery-open-floating{right:.65rem;bottom:1.65rem;padding:.6rem .75rem}.gallery-dialog{width:100vw;height:100vh;max-width:none;max-height:none}.gallery-dialog figure{padding:4rem .5rem 3rem}.gallery-dialog-nav{top:auto;bottom:.75rem;height:42px}.gallery-dialog-prev{left:1rem}.gallery-dialog-next{right:1rem}.detail-meta{gap:.65rem 1rem}.similar-card{flex-basis:86vw}}

/* A short landscape phone viewport needs height, not desktop whitespace. */
@media(orientation:landscape) and (max-height:520px){.gallery-dialog{width:100vw;height:100vh;max-width:none;max-height:none}.gallery-dialog figure{padding:.35rem 3.5rem;grid-template-rows:minmax(0,1fr)}.gallery-dialog figure img{width:auto;height:auto;max-width:calc(100vw - 7rem);max-height:calc(100vh - .7rem)}.gallery-dialog figcaption{position:absolute;left:50%;bottom:.35rem;translate:-50% 0;max-width:70vw;padding:.3rem .6rem;background:rgba(8,18,34,.78);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-dialog-close{top:.5rem;right:.5rem;width:38px;height:38px}.gallery-dialog-nav{width:40px;height:48px}.gallery-dialog-prev{left:.5rem}.gallery-dialog-next{right:.5rem}.floor-plan-dialog figure{padding:.2rem 3rem}.floor-plan-dialog figure img{max-width:calc(100vw - 6rem);max-height:calc(100vh - .4rem)}}
