.listing-wrap{max-width:1280px;padding:44px 6vw 80px;margin:auto}.listing-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:38px 0 30px}.listing-heading h1{font-size:clamp(36px,4.5vw,62px);line-height:1.08;margin:15px 0}.listing-keyfacts{font-size:16px;color:#647682}.listing-price{text-align:right;white-space:nowrap}.listing-price strong{display:block;font-size:32px}.listing-price a{font-size:12px;display:block;color:#526976;margin-top:12px}.listing-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.listing-photo{padding:0;border:0;background:#e4e9e6;border-radius:9px;overflow:hidden;cursor:zoom-in}.listing-photo img{width:100%;height:150px;object-fit:cover;display:block;transition:transform .25s}.listing-photo:hover img{transform:scale(1.03)}.listing-photo:first-child{grid-column:span 2;grid-row:span 2}.listing-photo:first-child img{height:310px}.listing-photo-note{font-size:12px;color:#657982;margin:12px 0 34px}.listing-columns{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:55px;align-items:start}.listing-columns h2{font-size:34px;line-height:1.2}.listing-description p{line-height:1.8;margin:20px 0}.listing-contact{padding:28px;border:1px solid #dce3e1;border-radius:12px;background:#eff3ef;position:sticky;top:110px}.listing-contact h2{font-size:29px;margin:0 0 24px}.listing-agent{display:flex;gap:15px;align-items:center;margin:0 0 23px}.listing-agent img{object-fit:cover;object-position:center 20%;border-radius:7px;flex-shrink:0}.listing-agent span,.listing-agent small,.listing-agent strong{display:block}.listing-agent small{font-size:11px;color:#637880;margin-top:8px}.listing-agent span{font-size:13px}.listing-agent strong{font-size:16px;margin-top:6px}.listing-tel{display:block;font-size:24px;font-weight:700;color:#1d3545;text-decoration:none}.listing-mail{display:block;font-size:14px;color:#1d3545;margin:13px 0 24px}.listing-contact .button{width:100%;padding:16px}.listing-features{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.listing-features span{border-radius:5px;padding:9px 13px;background:#eff3f0;font-size:12px}.listing-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}.listing-facts div{padding:15px 6px;border-top:1px solid #dce3e1}.listing-facts b,.listing-facts span{display:block}.listing-facts b{font-size:22px;margin-bottom:8px}.listing-facts span{font-size:11px;color:#657982}.listing-energy{margin-top:40px}.energy-grades{display:flex;gap:25px;flex-wrap:wrap}.energy-grades p{font-size:13px}.energy-grades strong{display:inline-grid;place-items:center;border-radius:5px;background:#69b86c;color:#102b20;margin-left:9px;width:32px;height:32px}.listing-small{font-size:12px;line-height:1.8;color:#647682}.listing-small a{color:inherit}.listing-card{display:grid;grid-template-columns:1.2fr 1fr;max-width:950px;background:#f2f5f1;border:1px solid #dce3e1;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;margin-top:30px}.listing-card img{width:100%;height:330px;object-fit:cover}.listing-card>div{padding:32px;display:flex;flex-direction:column;justify-content:center}.listing-card h3{font-size:29px;line-height:1.2;margin:13px 0}.listing-card p{font-size:14px}.listing-card strong{font-size:25px}.listing-card-link{display:block;margin-top:20px;font-size:13px;font-weight:700}#listing-viewer{border:0;padding:20px;background:#152936;color:#fff;width:95vw;max-width:1500px;border-radius:10px}#listing-viewer::backdrop{background:#07141ce8}#close-viewer{display:block;margin-left:auto;background:none;color:white;border:1px solid #ffffff55;border-radius:5px;padding:9px 14px;cursor:pointer}.viewer-stage{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:15px}.viewer-stage img{max-width:calc(100% - 100px);height:70vh;object-fit:contain}.viewer-stage button{border:0;background:#ffffff22;color:white;border-radius:50%;width:38px;height:38px;cursor:pointer}#viewer-count{text-align:center;font-size:13px}body:has(#listing-viewer[open]){overflow:hidden}@media(max-width:800px){.listing-heading{display:block}.listing-price{text-align:left;margin-top:25px}.listing-columns{grid-template-columns:1fr;gap:25px}.listing-contact{position:static}.listing-gallery{grid-template-columns:repeat(2,1fr)}.listing-photo:first-child{grid-column:span 2;grid-row:span 1}.listing-photo:first-child img{height:280px}.listing-photo img{height:130px}.listing-card{grid-template-columns:1fr}.listing-card img{height:250px}.listing-card>div{padding:25px}.listing-facts{gap:4px}.listing-wrap{padding-top:25px}.listing-heading h1{font-size:38px}}

/* Shared by every published listing, including listings created by the team. */
.listing-wrap,.listing-heading>*,.listing-columns>*,.listing-gallery>*,.listing-card>*{min-width:0}
.listing-wrap{width:100%}
.listing-heading h1,.listing-keyfacts,.listing-description,.listing-contact,.listing-card h3,.listing-card p,.listing-features span{overflow-wrap:anywhere}
.listing-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
.listing-photo{min-width:0;max-width:100%}
.listing-photo img,.listing-card img{max-width:100%;min-width:0}
.listing-card{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.listing-agent>div{min-width:0}
.listing-contact .button{min-width:0;gap:12px;white-space:normal}
.viewer-stage{min-width:0}
.viewer-stage img{min-width:0}
.viewer-stage button{flex-shrink:0}
@media(max-width:800px){
 .listing-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .listing-columns,.listing-card{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
 .listing-wrap{padding:20px 5vw 44px}
 .listing-wrap .breadcrumb{display:flex;flex-wrap:wrap;gap:5px 9px;margin:0 0 20px;font-size:12px;line-height:1.5}
 .listing-heading{margin:20px 0 22px}
 .listing-heading .eyebrow{font-size:11px;margin-bottom:12px}
 .listing-heading h1{font-size:clamp(27px,7.5vw,34px);line-height:1.14;letter-spacing:-.03em;margin:12px 0}
 .listing-keyfacts{font-size:14px;line-height:1.6;margin:12px 0}
 .listing-price{margin-top:17px;white-space:normal}
 .listing-price strong{font-size:27px;line-height:1.2}
 .listing-price a{margin-top:8px}
 .listing-gallery{gap:8px}
 .listing-photo:first-child img{height:clamp(175px,55vw,240px)}
 .listing-photo img{height:clamp(95px,29vw,140px)}
 .listing-photo-note{margin:10px 0 25px;line-height:1.5}
 .listing-columns{gap:24px}
 .listing-columns h2{font-size:27px}
 .listing-description p{font-size:16px;line-height:1.7;margin:16px 0}
 .listing-features{margin:22px 0;gap:7px}
 .listing-features span{padding:7px 10px}
 .listing-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:20px 0}
 .listing-facts b{font-size:21px}
 .listing-energy{margin-top:28px}
 .listing-contact{padding:20px}
 .listing-contact h2{font-size:26px;margin-bottom:20px}
 .listing-agent{gap:12px;margin-bottom:18px}
 .listing-agent img{width:68px;height:80px}
 .listing-tel{font-size:23px}
 .listing-mail{overflow-wrap:anywhere}
 .listing-card img{height:clamp(175px,55vw,240px)}
 .listing-card>div{padding:21px}
 .listing-card h3{font-size:25px;line-height:1.2}
 .listing-card strong{font-size:24px}
 #listing-viewer{width:calc(100% - 16px);max-width:calc(100vw - 16px);padding:12px}
 .viewer-stage{gap:6px}
 .viewer-stage img{max-width:calc(100% - 80px);height:58svh}
 .viewer-stage button{width:34px;height:34px}
 #viewer-count{overflow-wrap:anywhere;line-height:1.5}
}

/* The site header is fixed: reserve its height on every listing. */
.listing-page main{padding-top:104px}
@media(max-width:1000px){.listing-page main{padding-top:78px}}
@media(max-width:600px){.listing-wrap .breadcrumb{display:none}}

/* Full-viewport gallery, shared by current and future listings. */
.listing-price .listing-fees{display:block;font-size:12px;color:#526976;margin-top:8px}
#listing-viewer{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:#07141c;color:white;overflow:hidden;box-sizing:border-box}
#listing-viewer[open]{display:grid;grid-template-rows:minmax(0,1fr) auto}
#listing-viewer .viewer-stage{position:relative;width:100%;height:100%;min-height:0;margin:0;display:block}
#listing-viewer #viewer-image{display:block;position:absolute;inset:0;width:100%;max-width:none;height:100%;max-height:none;object-fit:contain;padding:12px}
#listing-viewer #close-viewer{position:absolute;z-index:2;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));margin:0;background:#07141cbb;padding:10px 15px}
#listing-viewer .viewer-stage button{position:absolute;z-index:1;top:50%;transform:translateY(-50%);width:46px;height:46px;background:#07141cbb;border:1px solid #ffffff77;font-size:22px}
#listing-viewer #previous-photo{left:max(10px,env(safe-area-inset-left))}
#listing-viewer #next-photo{right:max(10px,env(safe-area-inset-right))}
#listing-viewer #viewer-count{margin:0;padding:10px 60px max(10px,env(safe-area-inset-bottom));line-height:1.4;font-size:13px;background:#07141c;overflow-wrap:anywhere}
@media(max-width:600px){#listing-viewer #viewer-image{padding:0}#listing-viewer .viewer-stage button{width:40px;height:40px}#listing-viewer #viewer-count{padding-left:15px;padding-right:15px}}
