.wrap{max-width:1400px;margin:0 auto;padding:0 22px}
.hero{padding:30px 0 14px}.hero h1{font-size:30px;margin:0 0 4px;color:var(--navy);letter-spacing:-.01em}.hero p{margin:0;color:var(--muted);font-size:15px}
.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0 14px;border-bottom:1px solid var(--line)}
.bar input,.bar select{height:40px;border:1px solid #cfd7e2;border-radius:6px;padding:0 12px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink)}
.bar input{flex:1;min-width:200px}.bar select{min-width:150px}
.seg{display:inline-flex;border:1px solid #cfd7e2;border-radius:6px;overflow:hidden}.seg button{height:40px;padding:0 14px;border:0;background:#fff;font:inherit;font-weight:600;cursor:pointer;color:var(--muted)}.seg button.on{background:var(--navy);color:#fff}
.count{font-size:13px;color:var(--muted);margin-left:auto}
.main{display:grid;grid-template-columns:440px 1fr;gap:0;height:calc(100vh - 230px);min-height:520px}
.list{overflow:auto;border-right:1px solid var(--line)}
.card{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:14px 14px 14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;cursor:pointer}
.card:hover,.card.hl{background:var(--bg)}
.card .ph{position:relative;height:104px;background:#dde3ea url('/assets/placeholder.svg') center/cover}
.card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.card .ph .pill{position:absolute;top:8px;left:8px;font-size:10px;padding:3px 7px}
.card h3{margin:2px 0 2px;font-size:15.5px;color:var(--navy)}.card .loc{color:var(--muted);font-size:13px}
.card .meta{display:flex;gap:14px;margin-top:8px;font-size:12.5px;color:var(--muted)}.card .meta b{display:block;color:var(--ink);font-size:14px}
#map{height:100%;width:100%;background:#e9eef3}
.grid .main{display:block;height:auto}.grid .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;border:0;padding:18px 0}
.grid .card{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:0}.grid .card .ph{height:190px}.grid .card .body{padding:12px 14px 14px}
.grid #map{display:none}
.leaflet-popup-content{font-family:inherit;margin:10px 12px}.pop b{color:var(--navy)}.pop a{color:var(--green);font-weight:700;text-decoration:none}
.mk{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--navy);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.mk.lease{background:var(--green)}.mk.hl{box-shadow:0 0 0 5px rgba(31,157,85,.45),0 1px 4px rgba(0,0,0,.35);animation:pulse 1.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 2px rgba(31,157,85,.6)}100%{box-shadow:0 0 0 10px rgba(31,157,85,0)}}
@media(max-width:900px){.main{grid-template-columns:1fr;height:auto}#map{height:320px}.list{max-height:none;border:0}}