/* Keep the original homepage styling for property detail pages. */
.cms-video{position:relative;padding-top:56.25%;overflow:hidden;border-radius:24px;background:#111;box-shadow:0 18px 45px rgba(20,35,29,.18)}
.cms-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.property-featured-gallery a img,.detail-carousel-image-button img{width:100%;}

/* Full-screen, swipeable apartment gallery. */
.property-photo-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(8,21,20,.96);color:white;overflow:hidden}
.property-photo-viewer::backdrop{background:rgba(8,21,20,.96)}
.property-photo-viewer-inner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.property-photo-viewer .photo-viewer-frame{width:calc(100% - 120px);height:calc(100% - 80px);display:grid;place-items:center;touch-action:pan-y;user-select:none}
.property-photo-viewer .photo-viewer-frame img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.property-photo-viewer button{position:absolute;z-index:3;display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.43);color:#fff;font-size:35px;cursor:pointer}
.property-photo-viewer .photo-viewer-close{top:max(14px,env(safe-area-inset-top));right:18px;font-size:33px}
.property-photo-viewer .photo-viewer-prev{left:16px;top:50%;transform:translateY(-50%)}
.property-photo-viewer .photo-viewer-next{right:16px;top:50%;transform:translateY(-50%)}
.property-photo-viewer .photo-viewer-count{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:14px;font-weight:800;letter-spacing:.05em}
body.property-photo-viewer-open{overflow:hidden}
@media(max-width:640px){
 .property-photo-viewer .photo-viewer-frame{width:100%;height:calc(100% - 105px);padding:0 7px}
 .property-photo-viewer .photo-viewer-prev{left:7px}
 .property-photo-viewer .photo-viewer-next{right:7px}
 .property-photo-viewer .photo-viewer-close{right:12px}
 .property-photo-viewer button{width:44px;height:44px}
}

.cms-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#101b19}

.seo-related-section{padding:32px 0;background:#f7f5ef}.seo-related-section h2{font-size:clamp(20px,2.5vw,26px);margin-bottom:16px}.seo-related-section .related-intro{display:none}.seo-related-grid{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.seo-related-card{flex:0 0 195px;min-width:0;display:block;overflow:hidden;background:#fff;border:1px solid #e0e5df;border-radius:10px;color:#183b30;text-decoration:none;scroll-snap-align:start;transition:box-shadow .2s ease}.seo-related-card:hover,.seo-related-card:focus-visible{box-shadow:0 5px 16px rgba(20,48,36,.13)}.seo-related-card:focus-visible{outline:2px solid #256d55;outline-offset:2px}.seo-related-image{height:112px;overflow:hidden;background:#e9ede8}.seo-related-image img{display:block;width:100%;height:100%;object-fit:cover}.seo-related-image-empty{display:grid;place-items:center;height:100%;font-size:12px;text-align:center;color:#577165}.seo-related-body{padding:10px 11px 12px}.seo-related-name{display:block;font-size:13px;line-height:1.3;font-weight:750;margin-bottom:8px}.seo-related-facts{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:12px;font-weight:600}.seo-related-rent{font-size:16px;font-weight:800;color:#195644}.seo-related-rent small{font-size:11px;font-weight:500}.seo-related-availability{display:block;font-size:11px;color:#5c7166;margin-top:6px}@media(min-width:900px){.seo-related-card{flex-basis:210px}.seo-related-image{height:118px}}@media(max-width:560px){.seo-related-section{padding:25px 0}.seo-related-grid{gap:9px;margin-right:-16px;padding-right:16px}.seo-related-card{flex-basis:145px}.seo-related-image{height:85px}.seo-related-body{padding:8px 9px 10px}.seo-related-name{font-size:12px}.seo-related-rent{font-size:14px}.seo-related-availability{font-size:10px}}@media(prefers-reduced-motion:reduce){.seo-related-card{transition:none}}
