/* Listings page. Builds on site.css + pages.css tokens and classes. */

/* ---------- Hero ---------- */
.lst-hero{padding:clamp(40px,5.5vw,76px) 0 clamp(28px,3.6vw,44px)}
.lst-hero .bg{opacity:.78;background-position:70% 55%}
.lst-hero::before{background:linear-gradient(90deg,rgba(11,23,38,.96) 0%,rgba(11,23,38,.82) 38%,rgba(11,23,38,.35) 70%,rgba(11,23,38,.2) 100%),linear-gradient(0deg,rgba(11,23,38,.85) 0%,rgba(11,23,38,0) 40%)}
.lst-eyebrow{color:var(--gold)}
.lst-eyebrow::after{content:"";width:44px;height:1px;background:var(--gold);opacity:.8}
.lst-title{margin-top:14px;max-width:13ch;font-size:clamp(40px,5.2vw,68px)}
.lst-lead{max-width:52ch;margin:16px 0 26px;color:var(--on-navy-2)}
.lst-search{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr auto;gap:0;align-items:stretch;background:rgba(251,248,243,.97);border-radius:var(--r);box-shadow:var(--sh-2);max-width:900px;padding:6px;color:var(--ink)}
.ls-f{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 14px;border-right:1px solid var(--ivory-3);min-width:0}
.ls-f > span:first-child{font:700 11px/1.2 var(--sans);letter-spacing:.06em;color:var(--ink-2)}
.ls-f select,.ls-f input{border:0;background:transparent;padding:4px 0;min-height:30px;font-size:14.5px;color:var(--ink);width:100%;min-width:0;outline:none}
.ls-f select:focus-visible,.ls-f input:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}
.ls-in{display:flex;align-items:center;gap:8px;color:var(--ink-3)}
.ls-q input::placeholder{color:var(--ink-3)}
.ls-go{margin-left:6px;border-radius:var(--r-sm)}
.lst-states{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.lst-states button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:var(--r-sm);border:1px solid rgba(201,169,110,.6);color:var(--on-navy);font:600 14px/1 var(--sans);background:rgba(11,23,38,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:all .18s}
.lst-states button:hover{border-color:var(--gold);color:var(--gold-2)}
.lst-states button[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy-3)}
.lst-states .n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:rgba(201,169,110,.18);font-size:12px}
.lst-states button[aria-selected="true"] .n{background:rgba(11,23,38,.15)}
@media (max-width:900px){
  .lst-search{grid-template-columns:1fr 1fr;padding:8px;gap:2px}
  .ls-f{border-right:0;border-bottom:1px solid var(--ivory-3)}
  .ls-q{grid-column:1 / -1}
  .ls-go{grid-column:1 / -1;margin:8px 0 0}
}
@media (max-width:560px){.lst-states{display:grid;grid-template-columns:1fr 1fr}.lst-states button{justify-content:center;padding:0 10px;font-size:13px}.lst-states button[data-state="find"]{grid-column:1 / -1}}

/* ---------- Proof strip ---------- */
.lst-proof{background:var(--navy);color:var(--on-navy);border-top:1px solid rgba(201,169,110,.2);border-bottom:1px solid rgba(201,169,110,.2)}
.lst-proof-in{display:grid;grid-template-columns:auto auto auto 1.6fr 1.3fr;gap:0;align-items:center;padding-top:16px;padding-bottom:16px}
.lst-proof-in > *{padding:6px 22px;border-left:1px solid var(--navy-line);min-width:0}
.lst-proof-in > *:first-child{border-left:0;padding-left:0}
.pf-stat{display:flex;align-items:center;gap:12px;color:var(--on-navy);transition:color .2s}
.pf-stat:hover b{color:var(--gold-2)}
.pf-i svg{width:28px;height:28px;color:var(--gold);flex:none}
.pf-stat b{display:block;font:600 28px/1 var(--serif)}
.pf-stat small,.pf-counties small{display:block;font-size:12px;color:var(--on-navy-3);margin-top:3px}
.pf-counties{display:flex;align-items:center;gap:12px}
.pf-counties small{margin:0 0 4px}
.pf-cl{display:flex;flex-wrap:wrap;gap:2px 0}
.pf-cl button{font:600 13.5px/1.3 var(--sans);color:var(--on-navy);padding:2px 0}
.pf-cl button:hover{color:var(--gold)}
.pf-cl button:not(:last-child)::after{content:"·";color:var(--gold);margin:0 7px}
.pf-src{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:12.5px;line-height:1.5;color:var(--on-navy-2)}
.pf-src svg{color:var(--gold);flex:none;margin-top:2px}
.pf-src .link{color:var(--gold)}
@media (max-width:1180px){.lst-proof-in{grid-template-columns:repeat(3,auto) 1fr}.pf-src{grid-column:1 / -1;border-left:0!important;padding-left:0!important;margin-top:8px}}
@media (max-width:760px){.lst-proof-in{grid-template-columns:repeat(3,1fr)}.lst-proof-in > *{padding:6px 10px}.pf-stat{flex-direction:column;align-items:flex-start;gap:6px}.pf-stat b{font-size:22px}.pf-i svg{width:22px;height:22px}.pf-counties{grid-column:1 / -1;border-left:0!important;padding-left:0!important;margin-top:8px}}

/* ---------- Results head + toolbar ---------- */
.lst-results{padding:clamp(34px,4vw,54px) 0 clamp(44px,5vw,70px)}
.lst-head{display:grid;grid-template-columns:minmax(200px,250px) 1fr;gap:clamp(16px,2.5vw,32px);align-items:start}
.lst-head-t .h1{color:var(--ink)}
.lst-sub{margin:8px 0 0;font-size:14.5px}
.lst-toolbar{display:flex;flex-direction:column;gap:10px;min-width:0}
.lt-filters{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.lt-f{display:flex;flex-direction:column;gap:3px;min-width:0;background:#fff;border:1px solid var(--ivory-3);border-radius:var(--r-sm);padding:6px 10px 4px;transition:border-color .15s}
.lt-f:focus-within,.lt-f:hover{border-color:var(--gold)}
.lt-f > span{font:700 10.5px/1.2 var(--sans);letter-spacing:.05em;color:var(--ink-3);white-space:nowrap}
.lt-f select{border:0;background:transparent;padding:0 0 2px;min-height:24px;font-size:13.5px;font-weight:600;color:var(--ink);width:100%;min-width:0;outline:none;cursor:pointer}
.lt-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lt-ftoggle{display:none}
.lt-ftoggle b{font-weight:700}
.lt-sort{display:flex;align-items:center;gap:8px;font:600 12.5px/1 var(--sans);color:var(--ink-2)}
.lt-sort select{min-height:36px;border:1px solid var(--ivory-3);border-radius:var(--r-sm);background:#fff;padding:0 8px;font-size:13px;font-weight:600}
.lt-views{display:inline-flex;border:1px solid var(--ivory-3);border-radius:var(--r-sm);overflow:hidden;background:#fff}
.lt-views button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;font:600 13px/1 var(--sans);color:var(--ink-2)}
.lt-views button + button{border-left:1px solid var(--ivory-3)}
.lt-views button svg{width:15px;height:15px}
.lt-views button[aria-pressed="true"]{background:var(--navy);color:var(--ivory)}
.lt-views button[aria-pressed="true"] svg{color:var(--gold)}
.lt-cmp{margin-left:auto}
.lt-save svg,.lt-cmp svg{width:15px;height:15px}
@media (max-width:1240px){.lt-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){
  .lst-head{grid-template-columns:1fr}
  .lt-ftoggle{display:inline-flex}
  .lt-filters{display:none;grid-template-columns:1fr 1fr;order:2}
  .lt-filters.is-open{display:grid}
  .lt-row{order:1}
  .lt-cmp{margin-left:0}
}
@media (max-width:560px){
  .lt-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .lt-sort{grid-column:2}.lt-sort span{display:none}.lt-sort select{width:100%}
  .lt-views{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr)}
  .lt-views button{justify-content:center}
  .lt-cmp,.lt-save{width:100%;padding:0 8px}
}
.lst-active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}
.lst-active:empty{display:none}
.lst-active .chip svg{width:13px;height:13px}
.lst-saved{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.lst-saved .lbl{font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-right:4px}

/* ---------- Layout ---------- */
.lst-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(18px,2.4vw,30px);margin-top:18px;align-items:start}
.lst-count{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;align-items:baseline;margin-bottom:12px;font-size:14px;color:var(--ink-2)}
.lst-count b{font-weight:800;color:var(--ink)}
@media (max-width:1100px){.lst-layout{grid-template-columns:1fr}}

/* ---------- Cards ---------- */
.lc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.lc-list{display:flex;flex-direction:column;gap:12px}
.lc{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--ivory-3);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-1);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;min-width:0}
.lc:hover,.lc.is-hl{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 2px 4px rgba(11,23,38,.08),0 14px 30px rgba(11,23,38,.12)}
.lc-art{position:relative;aspect-ratio:400/280;background:var(--navy-3);overflow:hidden}
.lc-art > svg{width:100%;height:100%}
.lc-badge{position:absolute;left:10px;top:10px;padding:5px 10px;border-radius:var(--pill);font:700 11px/1 var(--sans);letter-spacing:.04em}
.st-open{background:#5E8C6A;color:#fff}
.st-pend{background:var(--gold);color:var(--navy-3)}
.st-sold{background:var(--ivory);color:var(--navy)}
.lc-type{position:absolute;left:10px;bottom:10px;padding:4px 9px;border-radius:4px;background:rgba(11,23,38,.85);border:1px solid rgba(201,169,110,.4);color:var(--on-navy);font:600 11px/1 var(--sans)}
.lc-bd{display:flex;flex-direction:column;gap:6px;padding:12px 14px 12px;flex:1;min-width:0}
.lc-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.lc-price b{font:600 26px/1 var(--serif);color:var(--ink)}
.lc-price small{font:600 14px/1 var(--sans);color:var(--ink-3);margin-left:2px}
.heart{width:36px;height:36px;border-radius:50%;border:1px solid var(--ivory-3);display:grid;place-items:center;color:var(--ink-3);flex:none;transition:all .15s;background:#fff}
.heart svg{width:18px;height:18px}
.heart:hover{border-color:var(--gold);color:var(--bad)}
.heart[aria-pressed="true"]{color:var(--bad);border-color:rgba(180,88,75,.4)}
.heart[aria-pressed="true"] svg{fill:currentColor}
.heart-lg{width:40px;height:40px;border-color:var(--navy-line);background:transparent;color:var(--on-navy-2)}
.lc-addr{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:1px;min-width:0}
.lc-addr span{font:700 14.5px/1.3 var(--sans);color:var(--ink)}
.lc-addr:hover span{color:var(--gold-3);text-decoration:underline}
.lc-addr small{font-size:12.5px;color:var(--ink-3);line-height:1.35}
.lc-specs{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--ink-3)}
.lc-specs b{color:var(--ink);font-weight:700}
.lc-flag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 9px;border-radius:4px;background:rgba(192,138,62,.14);color:#8A5F22;font:700 12px/1.2 var(--sans)}
.lc-pay{display:grid;grid-template-columns:auto auto 1fr;gap:2px 8px;align-items:center;padding:8px 10px;border-radius:var(--r-sm);background:var(--ivory);font-size:12px;color:var(--ink-3)}
.lc-pay span svg{color:var(--gold-3)}
.lc-pay b{font:700 14px/1.2 var(--sans);color:var(--ink)}
.lc-pay small{grid-column:1 / -1;font-size:11.5px;line-height:1.35}
.lc-fit{font-size:12.5px;border-top:1px dashed var(--ivory-3);padding-top:6px}
.lc-fit summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;color:var(--navy);list-style:none}
.lc-fit summary::-webkit-details-marker{display:none}
.lc-fit summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:auto}
.lc-fit[open] summary::after{transform:rotate(-135deg)}
.fit-dots{display:inline-flex;gap:3px}
.fit-dots i{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ink-3)}
.fit-dots i.y{background:var(--ok);border-color:var(--ok)} .fit-dots i.n{border-color:var(--bad)}
.lc-fit ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.lc-fit li{display:flex;gap:6px;align-items:flex-start;color:var(--ink-2);line-height:1.35}
.lc-fit li svg{flex:none;margin-top:2px}
.lc-fit li.y svg{color:var(--ok)} .lc-fit li.n svg{color:var(--bad)} .lc-fit li.u svg{color:var(--ink-3)}
.lc-ft{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:auto;padding-top:8px;border-top:1px solid var(--ivory-2)}
.lc-role{font:700 12px/1.2 var(--sans);color:var(--navy)}
.lc-role.role-buyer{color:var(--gold-3)} .lc-role.role-unknown{color:var(--ink-3);font-weight:600}
.lc-date{font-size:12px;color:var(--ink-3)}
.cmp-cb{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font:600 12px/1 var(--sans);color:var(--ink-2);cursor:pointer;padding:4px 0}
.cmp-cb input{width:16px;height:16px;accent-color:var(--navy);margin:0}
/* list rows */
.lc.is-row{flex-direction:row}
.lc.is-row .lc-art{width:min(260px,36%);aspect-ratio:auto;min-height:170px;flex:none}
.lc.is-row .lc-bd{padding:14px 16px}
@media (max-width:560px){.lc.is-row{flex-direction:column}.lc.is-row .lc-art{width:100%;aspect-ratio:400/230;min-height:0}}
/* mini (map panel) */
.lc.is-mini{flex-direction:row;cursor:pointer}
.lc.is-mini .lc-art{width:96px;aspect-ratio:auto;flex:none}
.lc.is-mini .lc-badge{left:6px;top:6px;font-size:9.5px;padding:4px 6px}
.lc.is-mini .lc-bd{padding:8px 10px;gap:3px}
.lc.is-mini .lc-price b{font-size:20px}
.lc.is-mini .lc-pay,.lc.is-mini .lc-flag{display:none}
.lc.is-mini .lc-specs{font-size:12px}
/* CTA card */
.lc-cta{cursor:default;grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 18px;padding:18px 22px;background:var(--navy);color:var(--on-navy);border-color:var(--navy)}
.lc-cta .em-i{grid-row:1 / span 2}
.lc-cta h3{grid-column:2}
.lc-cta p{grid-column:2}
.lc-cta .btn{grid-column:3;grid-row:1 / span 2}
@media (max-width:640px){.lc-cta{grid-template-columns:auto 1fr}.lc-cta .btn{grid-column:1 / -1;grid-row:auto;justify-self:start}}
.lc-cta:hover{transform:none}
.lc-cta h3{font:600 24px/1.15 var(--serif)}
.lc-cta p{margin:0;color:var(--on-navy-3)!important}
.lc-cta .em-i svg{width:30px;height:30px;color:var(--gold)}
.lc-cta .btn-navy{background:var(--gold);color:var(--navy-3)}
.lc-list .lc-cta{flex-direction:column}
/* empty */
.lst-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:clamp(28px,5vw,56px) 20px;border:1px dashed var(--gold);border-radius:var(--r);background:var(--paper)}
.lst-empty .em-i svg{width:34px;height:34px;color:var(--gold-3)}
.lst-empty p{max-width:52ch;margin:0}
.em-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin-top:6px}

/* ---------- Map ---------- */
.agsmap{width:100%;height:auto;display:block;overflow:visible}
.agsmap .co{fill:rgba(255,255,255,.03);stroke:rgba(201,169,110,.45);stroke-width:1.2;stroke-linejoin:round}
.agsmap .co.has{fill:rgba(201,169,110,.09)}
.agsmap .co.ctx{fill:rgba(255,255,255,.015);stroke:rgba(201,169,110,.18);stroke-dasharray:3 4}
.agsmap .co-l{font:700 10.5px var(--sans);letter-spacing:.14em;fill:rgba(244,239,230,.5);pointer-events:none}
.agsmap .office rect{fill:var(--ivory);stroke:var(--navy);stroke-width:1.5}
.agsmap .pin{cursor:pointer;outline:none}
.agsmap .pin .pb{fill:var(--gold);stroke:var(--navy-3);stroke-width:1.4;transition:transform .15s}
.agsmap .pin .pc{fill:var(--navy-3)}
.agsmap .pin.p-s .pb{fill:var(--ivory);stroke:var(--navy-3)}
.agsmap .pin .pn circle{fill:var(--navy-3);stroke:var(--gold);stroke-width:1.2}
.agsmap .pin .pn text{font:800 9.5px var(--sans);fill:var(--gold)}
.agsmap .pin .pl{opacity:0;transition:opacity .15s;pointer-events:none}
.agsmap .pin .pl rect{fill:var(--navy-3);stroke:var(--gold);stroke-width:1}
.agsmap .pin .pl text{font:700 11.5px var(--sans);fill:var(--on-navy)}
.agsmap .pin:hover .pl,.agsmap .pin:focus .pl,.agsmap .pin.is-hl .pl,.agsmap .pin.is-sel .pl{opacity:1}
.agsmap .pin:hover .pb,.agsmap .pin:focus .pb,.agsmap .pin.is-hl .pb,.agsmap .pin.is-sel .pb{transform:scale(1.25);stroke:var(--gold-2);stroke-width:2}
.agsmap .pin:focus-visible .pb{stroke:#fff;stroke-width:2.4}
.agsmap.is-light .co{fill:#EFE8DB;stroke:rgba(168,138,82,.7)}
.agsmap.is-light .co.has{fill:#E7DCC6}
.agsmap.is-light .co.ctx{fill:#F6F1E8;stroke:rgba(168,138,82,.35)}
.agsmap.is-light .co-l{fill:rgba(27,36,51,.55)}
.agsmap.is-light .pin.p-s .pb{fill:var(--navy);stroke:var(--gold)}
.agsmap.is-light .pin.p-s .pc{fill:var(--gold)}
.map-wrap{position:relative}
.map-legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:10px;font-size:12.5px;color:var(--ink-2)}
.map-legend > span{display:inline-flex;align-items:center;gap:6px}
.map-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}
.map-legend .lg-a{background:var(--gold)} .map-legend .lg-s{background:var(--navy);border:1.5px solid var(--gold)}
.map-legend .lg-o{width:9px;height:9px;border-radius:1px;transform:rotate(45deg);background:var(--ivory);border:1.5px solid var(--navy)}
.map-legend .map-note{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--navy)}
.map-legend .map-note svg{color:var(--gold-3)}
.map-legend .fine{flex-basis:100%}
.map-legend.on-dark{color:var(--on-navy-2)} .map-legend.on-dark .lg-s{background:var(--ivory);border-color:var(--navy-3)} .map-legend.on-dark .map-note{color:var(--on-navy)} .map-legend.on-dark .map-note svg{color:var(--gold)}
/* map view in results */
.mv{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}
.mv-map{background:#fff;border:1px solid var(--ivory-3);border-radius:var(--r);padding:14px;position:sticky;top:calc(var(--hdr) + 12px)}
.mv-list{display:flex;flex-direction:column;gap:12px;min-width:0}
.mv-list .lc.is-row .lc-art{width:38%;min-height:150px}
@media (max-width:760px){.mv{grid-template-columns:1fr}.mv-map{position:static}}

/* ---------- Right rail ---------- */
.lst-rail{display:flex;flex-direction:column;gap:16px;min-width:0}
.rc{background:#fff;border:1px solid var(--ivory-3);border-radius:var(--r);padding:18px;box-shadow:var(--sh-1)}
.rc-hd{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.rc-hd h3{font:600 23px/1.1 var(--serif);color:var(--ink)}
.rc-hd p{margin:4px 0 0;line-height:1.45}
.rc-i{width:42px;height:42px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;flex:none}
.rc-i svg{width:20px;height:20px;color:var(--gold-3)}
.rc-hm{background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)}
.rc-chips{display:flex;flex-wrap:wrap;gap:6px}
.rc-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.rc-seg{display:flex;width:100%;margin-bottom:12px}
.rc-seg button{flex:1}
.rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rc-grid .field:first-child,.rc-grid .field:last-child{grid-column:1 / -1}
.rc .field > label{font-size:12px}
.rc-out{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.rc-big{background:var(--ivory);border-radius:var(--r-sm);padding:12px 14px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rc-big b{font:600 34px/1 var(--serif);color:var(--ink)}
.rc-big span{font-size:13px;color:var(--ink-3)}
.rc-break{display:grid;grid-template-columns:1fr auto;gap:5px 10px;margin:0;font-size:13px}
.rc-break dt{color:var(--ink-3)} .rc-break dd{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.rc-out .fine{margin:0}
.rc-form{gap:10px}
.rc-form .row{grid-template-columns:1fr 1fr}
@media (max-width:1100px){.lst-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}}
@media (max-width:420px){.rc-form .row{grid-template-columns:1fr}.lst-rail{grid-template-columns:1fr}}

/* ---------- Map band ---------- */
.lst-mapband{padding:clamp(40px,5vw,64px) 0;border-top:1px solid rgba(201,169,110,.15)}
.lst-mapband-in{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.6fr) minmax(250px,.8fr);gap:clamp(18px,3vw,40px);align-items:start}
.mb-lead{color:var(--on-navy-2);margin:12px 0 16px;font-size:15px}
.mb-note{display:flex;gap:10px;align-items:center;margin:18px 0 0;font:600 14px/1.3 var(--sans);color:var(--on-navy)}
.mb-note svg{color:var(--gold)}
.mb-map{background:rgba(255,255,255,.02);border:1px solid var(--navy-line);border-radius:var(--r);padding:14px}
.mb-h{font:600 22px/1.15 var(--serif);color:var(--on-navy);margin-bottom:6px}
.mb-panel .fine{margin:0 0 12px}
.mb-cards{display:flex;flex-direction:column;gap:10px}
.mb-towns{display:flex;flex-direction:column;margin-top:8px;border-top:1px solid var(--navy-line)}
.mb-towns button{display:flex;justify-content:space-between;align-items:center;padding:7px 4px;border-bottom:1px solid var(--navy-line);text-align:left;color:var(--on-navy);transition:color .15s}
.mb-towns button:hover,.mb-towns button:focus-visible{color:var(--gold)}
.mb-towns small{display:block;font-size:11.5px;color:var(--on-navy-3)}
.mb-towns b{display:grid;place-items:center;min-width:26px;height:26px;border-radius:13px;border:1px solid var(--navy-line);font:700 12.5px/1 var(--sans);color:var(--gold)}
.mb-more{margin-top:12px}
@media (max-width:1100px){.lst-mapband-in{grid-template-columns:1fr 1fr}.mb-intro{grid-column:1 / -1}}
@media (max-width:760px){.lst-mapband-in{grid-template-columns:1fr}}

/* ---------- Insights ---------- */
.lst-insights{padding:clamp(40px,5vw,64px) 0}
.in-hd{display:grid;grid-template-columns:1fr minmax(260px,420px);gap:20px;align-items:end}
.in-lead{color:var(--on-navy-2);margin:12px 0 0}
.in-sample{display:flex;gap:14px;align-items:center;border:1px solid var(--navy-line);border-radius:var(--r);padding:12px 16px;font-size:12.5px;line-height:1.45;color:var(--on-navy-2)}
.in-sample b{font:600 30px/1 var(--serif);color:var(--gold);white-space:nowrap}
.in-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 16px}
.in-kpi{border-left:2px solid var(--gold);padding:2px 0 2px 14px}
.in-kpi small{display:block;font-size:11.5px;color:var(--on-navy-3);letter-spacing:.04em}
.in-kpi b{display:block;font:600 26px/1.15 var(--serif);color:var(--on-navy);margin-top:2px}
.in-kpi span{font-size:11.5px;color:var(--on-navy-3)}
.in-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.in-p-wide{grid-column:1 / -1}
.in-p{background:rgba(255,255,255,.03);border:1px solid var(--navy-line);border-radius:var(--r);padding:16px;min-width:0}
.in-p-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.in-p-hd h3{font:600 19px/1.15 var(--serif);color:var(--on-navy)}
.in-p-hd small{display:block;font-size:11.5px;color:var(--on-navy-3);margin-top:3px}
.in-p .seg{background:transparent;border-color:var(--navy-line)} .in-p .seg button{color:var(--on-navy-2);padding:7px 10px;font-size:12px} .in-p .seg button[aria-pressed="true"]{background:var(--gold);color:var(--navy-3)}
.in-bars{display:flex;flex-direction:column;gap:4px}
.in-bar{display:grid;grid-template-columns:minmax(78px,auto) 1fr auto;gap:10px;align-items:center;padding:5px 4px;border-radius:4px;text-align:left;font-size:12.5px;color:var(--on-navy-2);transition:background .15s}
.in-bar:hover:not([disabled]),.in-bar:focus-visible{background:rgba(201,169,110,.1);color:var(--on-navy)}
.in-bar[disabled]{opacity:.5}
.in-bar .t{height:10px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}
.in-bar .t i{display:block;height:100%;background:var(--gold);border-radius:5px}
.in-bar b{font-variant-numeric:tabular-nums;color:var(--on-navy);min-width:28px;text-align:right}
.in-donut{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center}
.in-leg{flex:1;min-width:170px}
.donut{width:120px;height:120px}
.donut .seg-arc{cursor:pointer;transition:stroke-width .15s}
.donut .seg-arc:hover{stroke-width:22}
.donut .dn-n{font:600 30px var(--serif);fill:var(--on-navy)}
.donut .dn-l{font:600 10px var(--sans);fill:var(--on-navy-3);letter-spacing:.1em;text-transform:uppercase}
.in-leg{display:flex;flex-direction:column;gap:4px}
.in-leg button{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;padding:5px 4px;border-radius:4px;font-size:12.5px;color:var(--on-navy-2);text-align:left}
.in-leg button:hover,.in-leg button:focus-visible{background:rgba(201,169,110,.1);color:var(--on-navy)}
.in-leg i{width:12px;height:12px;border-radius:3px}
.in-leg b{color:var(--on-navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.in-tl{position:relative}
.tl-chart .yr{stroke:rgba(201,169,110,.25)!important;stroke-dasharray:2 3}
.tl-chart .stem{stroke:rgba(201,169,110,.55);stroke-width:1.2}
.tl-chart .dot{fill:var(--gold);stroke:var(--navy-3);stroke-width:1.5}
.tl-chart .dot.approx{fill:var(--navy-3);stroke:var(--gold);stroke-width:1.8}
.tl-chart .hit{cursor:pointer;outline:none}
.tl-chart .hit:focus-visible{stroke:#fff;stroke-width:1.5}
.lst-insights .chart text{fill:var(--on-navy-3)} .lst-insights .chart .grid line{stroke:rgba(255,255,255,.08)}
.in-years{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.in-years button{display:flex;flex-direction:column;align-items:flex-start;padding:6px 12px;border:1px solid var(--navy-line);border-radius:var(--r-sm);color:var(--on-navy-2);font-size:11.5px;transition:all .15s}
.in-years button b{font:600 18px/1.1 var(--serif);color:var(--on-navy)}
.in-years button:hover,.in-years button:focus-visible{border-color:var(--gold);color:var(--on-navy)}
.in-src{margin:16px 0 0;max-width:980px}
.in-src .link{color:var(--gold)}
@media (max-width:1100px){.in-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.in-hd{grid-template-columns:1fr}.in-kpis{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.in-grid{grid-template-columns:1fr}.donut{width:110px;height:110px}}

/* ---------- Find my next home ---------- */
.lst-find:focus{outline:none}
.fm-head{display:grid;grid-template-columns:minmax(240px,.8fr) 2fr;gap:24px;align-items:end;margin-bottom:22px}
.fm-head .h1{color:var(--ink)}
.fm-head p{margin:0;max-width:62ch}
.fm{background:#fff;border:1px solid var(--ivory-3);border-radius:var(--r-lg);padding:clamp(16px,2.4vw,26px);box-shadow:var(--sh-1)}
.fm-prog{list-style:none;margin:0 0 18px;padding:0;display:none;gap:8px;flex-wrap:wrap}
.fm-prog button{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:var(--pill);border:1px solid var(--ivory-3);font:600 13px/1 var(--sans);color:var(--ink-2)}
.fm-prog button span{width:24px;height:24px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font:600 12px/1 var(--serif);color:var(--gold-3)}
.fm-prog button[aria-current="step"]{background:var(--navy);border-color:var(--navy);color:var(--ivory)}
.fm-prog button[aria-current="step"] span{background:var(--gold);color:var(--navy-3);border-color:var(--gold)}
.fm-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.fm-step{border:0;margin:0;padding:0 0 0 18px;border-left:1px solid var(--ivory-3);min-width:0}
.fm-step:first-child{padding-left:0;border-left:0}
.fm-lg{display:flex;align-items:center;gap:10px;padding:0;margin-bottom:12px}
.fm-lg .numcircle{width:32px;height:32px;font-size:14px}
.fm-lg b{display:block;font:600 20px/1.1 var(--serif);color:var(--ink)}
.fm-lg small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.fm-body{display:flex;flex-direction:column;gap:12px}
.fm-body .chips{gap:6px}
.fm-body .chip{min-height:34px;padding:0 12px;font-size:12.5px}
.fm-checks{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.fm-checks legend{font:600 12.5px/1.2 var(--sans);color:var(--ink-2);padding:0;margin-bottom:6px}
.fm-checks .check{font-size:13px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fm-towns:empty{display:none}
.fm-towns .chip svg{width:12px;height:12px}
.fm-rent{display:none}
.fm.is-rent .fm-rent{display:block}
.fm.is-rent .fm-buy{display:none}
.fm-finish{display:grid;grid-template-columns:1.2fr 1fr;gap:18px 26px;margin-top:22px;padding-top:20px;border-top:1px solid var(--ivory-3);align-items:start}
.fm-contact{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;grid-column:1}
.consents{border:1px solid var(--ivory-3);border-radius:var(--r);padding:12px 14px;margin:0;display:flex;flex-direction:column;gap:8px;background:var(--paper)}
.consents legend{font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-3);padding:0 6px}
.fm-finish .consents{grid-column:2;grid-row:1 / span 3}
.fm-finish .err{grid-column:1}
.fm-submit{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;grid-column:1}
.fm-submit .fine{max-width:42ch;margin:0}
.fm-nav{display:none}
@media (max-width:1023px){
  .fm-head{grid-template-columns:1fr;gap:8px}
  .fm-prog{display:flex}
  .fm-cols{grid-template-columns:1fr}
  .fm-step{display:none;padding-left:0;border-left:0}
  .fm[data-step="1"] .fm-step[data-s="1"],.fm[data-step="2"] .fm-step[data-s="2"],.fm[data-step="3"] .fm-step[data-s="3"],.fm[data-step="4"] .fm-step[data-s="4"]{display:block}
  .fm-finish{display:none;grid-template-columns:1fr}
  .fm[data-step="4"] .fm-finish{display:grid}
  .fm-finish .consents{grid-column:1;grid-row:auto}
  .fm-contact{grid-template-columns:1fr 1fr}
  .fm-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--ivory-3)}
  .fm-stepn{font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
  .fm-next[hidden]{display:inline-flex!important;visibility:hidden}
}
@media (max-width:560px){.fm-contact{grid-template-columns:1fr}.fm-prog button{padding-right:10px;font-size:12px}}

/* ---------- Detail drawer ---------- */
.dd-drawer.panel{width:min(640px,100%)}
.dd-drawer .panel-hd .heart{margin-top:2px}
.dd-tabs{overflow-x:auto;scrollbar-width:none;gap:16px;margin:-6px 0 16px;white-space:nowrap}
.dd-tabs::-webkit-scrollbar{display:none}
.dd-tabs button{flex:none}
.dd-panel:focus{outline:none}
.dd-art{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:400/220;background:var(--navy-3)}
.dd-art svg{width:100%;height:100%}
.dd-price{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin-bottom:12px}
.dd-price b{font:600 34px/1 var(--serif);color:var(--ink)}
.dd-price .lc-role{font-size:13px}
.dd-facts th{width:44%;font:600 12.5px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
.dd-facts td{font-weight:600}
.dd-cav{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-2);line-height:1.5}
.dd-lead{font-size:16px!important;color:var(--ink-2);margin:0 0 14px}
.dd-acts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.dd-list{margin:0 0 6px;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink-2)}
.dd-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.dd-kpis .kpi b{font-size:24px}
.dd-choices{display:flex;flex-direction:column;gap:10px}
.dd-choices .door{grid-template-columns:44px 1fr 18px;padding:12px 14px}
.dd-choices .door i{width:44px;height:44px}
.dd-choices .door b{font-size:17px}
.share-in{display:flex;gap:8px}
.share-in input{flex:1;min-width:0}
.dd-drawer .panel-ft{justify-content:space-between;align-items:center}
.dd-drawer .panel-ft .cmp-cb{margin-left:0;margin-right:auto}
@media (max-width:560px){.share-in{flex-direction:column}.dd-kpis{grid-template-columns:1fr 1fr}.dd-drawer .panel-ft .btn-outline{display:none}}

/* ---------- Compare tray + modal ---------- */
.cmp-tray{position:fixed;left:0;right:0;bottom:0;z-index:56;background:rgba(11,23,38,.97);border-top:1px solid var(--gold);color:var(--on-navy);box-shadow:0 -10px 30px rgba(0,0,0,.25);animation:trayIn .25s ease}
@keyframes trayIn{from{transform:translateY(100%)}to{transform:none}}
.ct-in{display:flex;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px}
.ct-t b{display:block;font:600 19px/1.1 var(--serif)}
.ct-t small{font-size:12px;color:var(--on-navy-3)}
.ct-items{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.ct-item{display:flex;align-items:center;gap:8px;min-width:200px;max-width:260px;padding:5px 6px 5px 5px;border:1px solid var(--navy-line);border-radius:var(--r-sm);background:rgba(255,255,255,.03)}
.ct-art{width:54px;height:38px;border-radius:4px;overflow:hidden;flex:none}
.ct-art svg{width:100%;height:100%}
.ct-tx{min-width:0;flex:1}
.ct-tx b{display:block;font:600 16px/1.1 var(--serif)}
.ct-tx small{display:block;font-size:11.5px;color:var(--on-navy-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-x{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--on-navy-3);flex:none}
.ct-x:hover{color:var(--gold)} .ct-x svg{width:14px;height:14px}
.ct-empty{justify-content:center;border-style:dashed;color:var(--on-navy-3);font-size:12px;min-height:50px}
.ct-acts{display:flex;gap:6px;align-items:center}
body.has-tray{padding-bottom:78px}
body.has-tray .site-footer{padding-bottom:0}
@media (max-width:900px){.ct-in{flex-wrap:wrap;gap:8px}.ct-items{order:3;flex-basis:100%}.ct-item{min-width:170px}.ct-acts{margin-left:auto}.ct-empty{display:none}}
@media (max-width:760px){.cmp-tray{bottom:calc(64px + env(safe-area-inset-bottom))}body.has-tray{padding-bottom:200px}body.modal-open .cmp-tray{display:none}}
.cmp-tbl th[scope="col"]{vertical-align:bottom;min-width:170px;text-transform:none;letter-spacing:0;font:600 13px/1.3 var(--sans);color:var(--ink)}
.cmp-tbl th[scope="col"] small{display:block;font-weight:500;color:var(--ink-3);font-size:12px}
.cmp-tbl th[scope="row"]{font:600 12.5px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3);white-space:nowrap}
.cmp-art{width:100%;max-width:200px;aspect-ratio:400/240;border-radius:6px;overflow:hidden;margin-bottom:8px}
.cmp-art svg{width:100%;height:100%}
.cmp-tbl td.is-best{background:rgba(94,140,106,.12);font-weight:700}

/* misc */
.fm .field > label,.fm .lbl{font:600 12.5px/1.2 var(--sans);color:var(--ink-2)}
@media print{.cmp-tray,.lst-rail,.lst-toolbar{display:none!important}}
.lt-sort select{max-width:190px}
.lt-cmp b{font-weight:inherit}
.lst-recent{margin-top:26px;padding-top:20px;border-top:1px solid var(--ivory-3)}
.lr-hd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.lr-hd h3{font:600 24px/1.1 var(--serif);color:var(--ink)}
.lr-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:640px){.lr-row{grid-template-columns:1fr}}
.dd-tabs{flex-wrap:wrap;white-space:normal;overflow:visible;row-gap:2px}
.cmp-tbl th[scope="row"],.cmp-tbl td,.dd-facts th,.dd-facts td{vertical-align:middle}
.btn-outline.on-light{color:var(--navy);border-color:var(--navy)}
.btn-outline.on-light:hover{background:rgba(15,31,51,.06)}
.fm .numcircle,.fm-prog button span{font-family:var(--sans);font-weight:700}
@media (max-width:1023px){.fm-lg .numcircle{display:none}}
