:root{color-scheme:light;--ink:#183831;--muted:#50635b;--paper:#f4f5ef;--line:#d5ddd4;--green:#195c4a;--gold:#7c5a2e}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 system-ui,sans-serif}
[hidden]{display:none!important}
a{color:var(--green);text-underline-offset:3px}
button,input,select{font:inherit;color:inherit}
button,select{cursor:pointer}
button,input:not([type=checkbox]),select{background:#fff;border:1px solid #bfcbbf;border-radius:7px;padding:.5rem .65rem;min-height:40px}
button:disabled{cursor:default;opacity:.5}
:focus-visible{outline:3px solid #976729;outline-offset:3px}
.idx-shell{width:min(1480px,calc(100% - 44px));margin:24px auto 48px}
.idx-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
.eyebrow{margin:0;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.12em}
h1{font:clamp(2.2rem,4vw,3.7rem)/1.06 Georgia,serif;margin:6px 0}
.idx-heading p:last-child{margin:.45rem 0 0;color:var(--muted)}
.idx-heading a{font-weight:700;white-space:nowrap}
#filters{display:grid;grid-template-columns:minmax(185px,2fr) minmax(125px,1.5fr) repeat(2,minmax(98px,1fr)) repeat(4,minmax(62px,.8fr)) auto auto;gap:9px;align-items:end;background:#fff;padding:12px;border:1px solid var(--line);border-radius:12px}
#filters label{display:grid;gap:4px;min-width:0;font-size:.77rem;font-weight:700}
#filters input,#filters select{width:100%;font-size:.88rem}
.primary,.view-switch button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}
.idx-toolbar,.map-controls,.pagination,.view-switch{display:flex;align-items:center;gap:8px}
.idx-toolbar{min-height:62px}
.idx-toolbar p{margin:0;font-weight:750}
.sort{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.8rem}
.idx-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.idx-workspace[data-view=list]{grid-template-columns:1fr}
.idx-workspace[data-view=list] .map-pane{display:none}
.idx-workspace[data-view=list] #results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:0 18px}
.map-pane,.results-pane{min-width:0}
.map-pane{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:570px;height:clamp(570px,72vh,800px);border-right:1px solid var(--line)}
.map-controls{padding:8px 11px;flex-wrap:wrap;min-height:56px}
.map-controls label{font-weight:700;font-size:.82rem;margin-right:auto}
.map-controls button{font-size:.81rem}
#search-area{background:#ebf3ef;border-color:#9fbaad}
#idx-map{background:#e0e9e0;min-height:0;z-index:0}
#map-note,.scope,.idx-foot{font-size:.82rem;color:var(--muted)}
#map-note{margin:0;padding:8px 12px}
.results-pane{overflow:auto;max-height:clamp(570px,72vh,800px);padding:0 13px 10px}
[data-view=list] .results-pane{max-height:none}
.scope{margin:10px 0 5px}
.idx-card{display:grid;grid-template-columns:minmax(85px,29%) minmax(0,1fr);gap:12px;min-width:0;padding:10px 0;border-bottom:1px solid var(--line)}
.photo{display:grid;place-items:center;min-height:96px;background:#eaf0e9;color:#536b5d;border-radius:8px;overflow:hidden;font-size:.75rem;font-weight:800;letter-spacing:.13em;position:relative}
.photo img{position:absolute;width:100%;height:100%;object-fit:cover}
.card-copy p,.card-copy h2{margin:1px 0;overflow-wrap:anywhere}
.card-copy h2{font-size:1rem}
.card-price{display:flex;align-items:center;flex-wrap:wrap;gap:3px 7px;font-size:1.1rem;font-weight:800}
.card-price span{background:#edf3ec;padding:1px 6px;border-radius:4px;font-size:.67rem}
button.listing-link{border:0;padding:0;min-height:25px;text-align:left;color:var(--green);text-decoration:underline;text-underline-offset:3px;font-weight:750}
.card-copy p:not(.card-price){font-size:.8rem;color:var(--muted)}
.card-copy .courtesy{font-size:.73rem!important}
.idx-pin{position:absolute;white-space:nowrap;transform:translate(-50%,-100%);background:var(--ink);border:2px solid white;color:white;border-radius:20px;padding:4px 8px;font:bold 12px system-ui;box-shadow:0 2px 5px #16383155}
.idx-pin.cluster{transform:translate(-50%,-50%);min-width:36px;text-align:center;background:#2b7360;padding:8px 6px}
.idx-pin-wrap:hover,.idx-pin-wrap:focus,.idx-pin-wrap.highlight{z-index:10000!important}
.idx-pin-wrap:is(:hover,:focus,.highlight) .idx-pin{background:#805b28;outline:2px solid white}
.empty{padding:25px 6px}
.empty h2{margin:0;font:1.6rem Georgia,serif}
.pagination{justify-content:center;padding:12px 0}
.idx-foot{margin-top:15px}
.idx-foot p{margin:.4rem 0}
#detail{width:min(720px,calc(100% - 24px));max-height:90vh;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:0 20px 20px}
#detail::backdrop{background:#10251ec2}
.detail-top{display:flex;justify-content:end;position:sticky;top:0;padding:8px 0;background:white}
#detail h2{font:2rem Georgia,serif;margin:6px 0}
.detail-price{font-size:1.3rem}
.detail-images{display:flex;gap:8px;overflow:auto;scroll-snap-type:x mandatory}
.detail-images img{width:min(100%,490px);aspect-ratio:4/3;object-fit:contain;background:#eaf0e9;scroll-snap-align:start}
.remarks{white-space:pre-line}
@media(max-width:1100px){#filters{grid-template-columns:repeat(5,minmax(0,1fr))}.idx-workspace{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
@media(max-width:720px){
  .idx-shell{width:calc(100% - 22px);margin-top:14px}.idx-heading{display:block}.idx-heading a{display:inline-block;margin-top:7px}
  #filters{grid-template-columns:repeat(2,minmax(0,1fr))}#filters .query{grid-column:1/-1}
  .idx-toolbar{flex-wrap:wrap;padding:8px 0}.idx-toolbar p{font-size:.83rem}.sort select{max-width:110px}
  .idx-workspace{display:block}.idx-workspace[data-view=map] .results-pane{display:none}
  .map-pane{height:62svh;min-height:410px;border-right:0}.map-controls{gap:4px;padding:6px}
}
