:root{--jp-line:#e3e3e3}
.jp-hub{--jp-line:#e3e3e3}
#jp-map{height:420px;border-radius:12px;margin:0 0 28px;border:1px solid var(--jp-line,#e3e3e3);z-index:0}
.jp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin:0;padding:0;list-style:none}
.jp-card{border:1px solid var(--jp-line,#e3e3e3);border-radius:12px;overflow:hidden;background:#fff}
.jp-card a{text-decoration:none;color:inherit;display:block}
.jp-card img{width:100%;height:170px;object-fit:cover;display:block}
.jp-card .jp-body{padding:13px 15px 16px}
.jp-card h3{font-size:16px;line-height:1.35;margin:0 0 6px}
.jp-town{font-size:13px;text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin:0 0 8px}
.jp-sum{font-size:14px;line-height:1.5;opacity:.8;margin:0}
.jp-empty{padding:30px;text-align:center;opacity:.7;border:1px dashed var(--jp-line,#e3e3e3);border-radius:12px}
.jp-sec-h{margin:34px 0 14px;font-size:22px;line-height:1.3}
.jp-status{display:inline-block;background:#f3f4f6;border-radius:999px;padding:2px 10px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px}
.jp-legend{background:#fff;border:1px solid var(--jp-line,#e3e3e3);border-radius:8px;padding:6px 10px;font-size:12px;line-height:1.9}
.jp-legend span{display:inline-block;margin-right:12px;white-space:nowrap}
.jp-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
@media(max-width:600px){#jp-map{height:300px}}
.jp-town-projects .jp-grid{margin-top:1.25rem}
.jp-town-projects .jp-town-all{margin-top:1.25rem}