:root{font:15px/1.4 Inter,'Segoe UI',Arial,sans-serif;color:#102a42;background:#f9f9f5;color-scheme:light;--navy:#102a42;--red:#ad303a;--gold:#c6a367;--gutter:clamp(14px,3.2vw,48px)}
*{box-sizing:border-box}body{margin:0}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,.leaflet-marker-icon:focus-visible{outline:3px solid #a47421;outline-offset:3px}header{background:var(--navy);color:white;border-bottom:3px solid var(--gold)}.header-inner,main{width:min(100%,1700px);margin:auto}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:8px var(--gutter);min-height:59px}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none}.brand img{object-fit:contain}.brand b{display:block;font:600 23px/.95 Georgia,serif;color:#f2d59b;letter-spacing:2.6px}.brand small{display:block;font-weight:650;font-size:8px;letter-spacing:1.45px;margin-top:4px}.support{color:#fff2d8;border:1px solid #cbb078;border-radius:5px;padding:9px 14px;font-weight:650;font-size:13px;text-decoration:none}.support:hover{background:#263d50}.support span{margin-left:5px}
main{padding:0 var(--gutter)}.intro{padding:16px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.intro h1{font:normal clamp(28px,2.8vw,45px)/1.1 Georgia,serif;letter-spacing:-1px;margin:0 0 2px}.intro p{margin:0;color:#4e6270}.intro .hint{display:flex;gap:7px;align-items:center;font-size:13px;color:#42586a}.hint i{width:9px;height:9px;background:var(--red);border-radius:100%}
.map-frame{position:relative;border:1px solid #c7d2ce;border-radius:9px;overflow:hidden;background:#e9eee5;isolation:isolate}#map{visibility:hidden;position:absolute;inset:0;width:100%;height:100%;background:#e9eee5;font-family:inherit}.map-ready #map{visibility:visible}.map-ready .fallback{display:none}.map-ready{height:clamp(390px,calc(100svh - 197px),1000px)}
.fallback{position:relative}.static-sheet{position:relative;max-width:1050px;margin:auto}.static-sheet img{display:block;width:100%;height:auto}.static-pin{position:absolute;width:3.4%;height:4.6%;transform:translate(-50%,-50%);border-radius:50%}.static-bar{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:12px;padding:6px 10px;background:#fcfcf8}.static-bar a{font-weight:700}.static-bar small{font-size:9px;color:#526578}.static-panel{display:none}.static-panel:target{display:grid;place-items:center;position:fixed;inset:0;z-index:1500;background:#10283f99;padding:16px}.static-panel-inner{width:min(340px,100%);max-height:75vh;overflow:auto;background:#fffdf8;border-radius:9px;padding:15px 17px}.static-panel article{display:grid;gap:4px;padding:12px 0}.static-panel article+article{border-top:1px solid #d3ddda}.static-panel article p,.static-panel article small{margin:0}.dismiss{display:block;text-align:right;font-weight:700;font-size:12px}.view-property,.ask{font-weight:650;text-underline-offset:2px}.view-property{color:#173c56}.ask{color:#835e26}.static-panel article a{padding:4px 0;font-size:13px}
.leaflet-control-zoom a{color:var(--navy)!important}.leaflet-touch .leaflet-bar{border:1px solid #becbc6;border-radius:5px;overflow:hidden}.leaflet-control-attribution{font:9px/1.3 Arial,sans-serif!important}.town-label{pointer-events:none;color:#263c50;background:#fffdf3db;white-space:nowrap;width:max-content!important;padding:1px 4px;border:1px solid #c4cec8;border-radius:3px;font:650 11px/1.3 Arial,sans-serif}
.pin-icon{display:grid;place-items:start center}.pin-dot{position:relative;display:grid;place-items:center;border-radius:100%;border:2px solid #fffefa;background:var(--red);color:white;box-shadow:0 2px 5px #31121760;width:26px;height:26px;font:700 11px/1 Arial,sans-serif}.pin-dot:after{content:"";position:absolute;top:calc(100% - 1px);border:4px solid transparent;border-top:6px solid var(--red)}.single .pin-dot{width:18px;height:18px}.single .pin-dot:before{content:"";width:5px;height:5px;border-radius:100%;background:white}.pin-icon:hover .pin-dot{background:#8b222c}
.leaflet-popup-content-wrapper{border-radius:9px}.leaflet-popup-content{font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--navy);margin:12px 23px 13px 14px!important}.pop-nav{display:flex;gap:6px;align-items:center;justify-content:space-between;color:#526778;border-bottom:1px solid #dbe1df;padding-bottom:6px;margin:0 7px 7px 0;font-size:11px}.pop-nav .arrows{display:flex;gap:4px}.pop-nav button,.zoom-homes{background:#f2f5f1;border:1px solid #cdd8d4;border-radius:4px;color:#193850}.pop-nav button{font-size:17px;width:31px;height:30px;line-height:1}.pop-nav button:disabled{opacity:.35;cursor:default}.zoom-homes{font-size:11px;font-weight:600;padding:4px 7px;margin-top:8px}.details{display:grid;gap:3px}.details strong{font:600 22px/1.15 Georgia,serif}.details h2{font-family:inherit;font-weight:650;font-size:14px;line-height:1.3;margin:1px 0}.info{font-size:12px;color:#526878}.terms{font-size:11px;color:#775423}.leaflet-popup-content .view-property{display:inline-flex;justify-content:center;align-items:center;min-height:37px;background:var(--navy);color:white;border-radius:4px;text-decoration:none;font-size:13px;margin-top:7px}.leaflet-popup-content .ask{display:block;text-align:center;color:#79531d;font-size:12px;padding:7px 0 2px}footer{color:#536674;font-size:11px;display:flex;gap:10px;justify-content:space-between;padding:9px 0 13px}
@media(max-width:650px){:root{--gutter:12px}.header-inner{min-height:49px;padding-top:4px;padding-bottom:4px}.brand{gap:6px}.brand img{height:34px;width:19px}.brand b{font-size:19px}.brand small{font-size:6.7px}.support{font-size:12px;padding:7px 9px}.intro{display:block;padding:10px 0}.intro h1{font-size:29px}.intro p{font-size:13px}.intro .hint{font-size:12px;margin-top:5px}.map-frame{border-radius:7px}.map-ready{height:clamp(310px,calc(100svh - 192px),850px)}.static-bar{align-items:flex-start}.static-bar small{max-width:46%;text-align:right}footer{font-size:10px;gap:8px;flex-wrap:wrap;line-height:1.25}.leaflet-control-attribution{font-size:8px!important}.pin-dot{width:27px;height:27px}}
@media(max-height:530px) and (min-width:651px){.intro{padding:5px 0}.intro h1{font-size:25px}.header-inner{min-height:40px}.brand img{height:29px}.map-ready{height:clamp(230px,calc(100svh - 133px),540px)}}
.static-pin{min-width:24px;min-height:24px;width:4.7%;height:5.1%}
