.neighborhood-section .neighborhood-grid{grid-template-columns:1.25fr 1fr;gap:36px;align-items:start}
.neighborhood-section .map-panel{height:470px;isolation:isolate;overflow:hidden;border:1px solid #243a3014;border-radius:18px;background:#e9eee7;box-shadow:0 14px 38px #243a3008}
.neighborhood-map{position:absolute;inset:0;font-family:var(--sans)}
.map-loading{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#e9eee7;color:var(--muted);font-size:.875rem}
.map-loading a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.map-loading[hidden]{display:none}
.neighborhood-section .neighborhood-tabs button.active:after{display:none}
.neighborhood-section .map-address a span{display:inline}
.map-context{position:absolute;top:22px;left:22px;z-index:2;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #243a3012;border-radius:20px;background:#faf8f1f0;color:var(--ink);font-size:.625rem;letter-spacing:.13em;pointer-events:none}
.map-context-dot{height:5px;width:5px;border-radius:50%;background:var(--ink)}
.neighborhood-section .map-address{left:22px;right:auto;bottom:47px;max-width:290px;align-items:flex-start;gap:12px;padding:16px 20px 16px 16px;border:1px solid #243a3012;border-radius:12px;background:#faf8f2f5;box-shadow:0 8px 24px #243a3010;z-index:2}
.map-home-symbol{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:10px;background:#e5ebe2;color:var(--ink)}.map-home-symbol svg{height:21px;width:21px}
.neighborhood-section .map-address strong{font-size:.875rem;letter-spacing:.06em}.neighborhood-section .map-address div>span{display:block;margin-top:5px;line-height:1.6;font-size:.75rem}
.neighborhood-section .map-address a{display:inline-block;margin-top:10px;font-size:.75rem;text-decoration:none;border:0;font-weight:500;color:var(--ink)}.neighborhood-section .map-address a:hover{text-decoration:underline;text-underline-offset:4px}
.map-reset{position:absolute;right:20px;bottom:47px;z-index:2;width:40px;height:40px;display:grid;place-items:center;background:#faf8f2;border:1px solid #243a3020;border-radius:10px;color:var(--ink);box-shadow:0 4px 14px #243a3010}.map-reset svg{height:22px;width:22px}.map-reset:hover{background:#e5ebe2}
.neighborhood-section .maplibregl-control-container{font-family:var(--sans)}.neighborhood-section .maplibregl-ctrl-top-right{top:13px;right:10px}
.neighborhood-section .maplibregl-ctrl-group{background:#faf8f2;border-radius:10px;border:1px solid #243a3020;box-shadow:0 4px 14px #243a3010;overflow:hidden}.neighborhood-section .maplibregl-ctrl-group button{width:36px;height:36px}
.neighborhood-section .maplibregl-ctrl-attrib{font-size:9px;line-height:1.5;background:#faf8f1ed;color:#5b6a5e;padding:4px 7px;border-radius:5px}.neighborhood-section .maplibregl-ctrl-attrib a{color:inherit}
.map-property-marker{padding:7px 11px;border:2px solid #faf8f2;border-radius:16px;background:var(--ink);color:#fff;font-size:.625rem;font-family:var(--sans);font-weight:600;letter-spacing:.08em;white-space:nowrap;box-shadow:0 4px 16px #243a302b}
.map-property-marker:after{content:"";position:absolute;right:-13px;top:-23px;width:10px;height:10px;border:2px solid #faf8f2;border-radius:50%;background:var(--ink);box-shadow:0 1px 5px #243a3020}
.map-property-marker:before{content:"";position:absolute;right:-8px;top:-13px;width:8px;height:13px;border-right:1px solid #243a3066;border-bottom:1px solid #243a3066}
.map-point-marker{width:29px;height:29px;border:2px solid #faf8f2;border-radius:50%;background:#8d9f86;color:#fff;display:grid;place-items:center;font:500 .6875rem var(--sans);box-shadow:0 2px 10px #243a3020;transition:background .2s,box-shadow .2s}.map-point-marker.is-selected{background:var(--ink);box-shadow:0 0 0 5px #243a301f,0 3px 12px #243a302b}.map-point-marker:hover{background:var(--ink)}
.neighborhood-section .neighborhood-tabs{display:grid;grid-template-columns:.8fr 1.2fr 1fr;gap:4px;min-height:0;padding:5px;border:1px solid #243a3014;border-radius:12px;background:#edece4;margin-bottom:18px}
.neighborhood-section .neighborhood-tabs button{border:0;border-radius:8px;min-height:42px;padding:9px 7px;font-size:.75rem;white-space:normal;line-height:1.3;color:#667266;transition:background .2s,color .2s}.neighborhood-section .neighborhood-tabs button.active{background:#faf8f2;color:var(--ink);box-shadow:0 2px 8px #243a3008}
.neighborhood-section .place-item{display:flex;align-items:stretch;gap:0;padding:0;margin:0 0 13px;border:1px solid #243a3018;border-radius:12px;background:#faf8f2;transition:border-color .2s,background .2s}.neighborhood-section .place-item.is-selected{background:#e9eee5;border-color:#243a3066}.neighborhood-section .place-item:hover{border-color:#243a3055}
.place-select{display:grid;grid-template-columns:28px minmax(0,1fr) 65px;align-items:center;gap:12px;flex:1;min-width:0;padding:17px 11px 17px 14px;border:0;background:transparent;color:var(--ink);text-align:left;border-radius:12px}
.neighborhood-section .place-number{display:grid;place-items:center;height:26px;width:26px;border:1px solid #243a3027;border-radius:50%;font:400 .6875rem var(--sans);color:#6a7c65;line-height:1}.neighborhood-section .place-item.is-selected .place-number{background:var(--ink);border-color:var(--ink);color:#fff}
.neighborhood-section .place-text{min-width:0}.place-name{display:block;font:500 1.3rem/1.15 var(--serif);letter-spacing:-.015em}.place-description{display:block;font-size:.6875rem;line-height:1.6;color:var(--muted);margin-top:6px}
.neighborhood-section .place-time{min-width:0;font-size:.6875rem;line-height:1.5}.neighborhood-section .place-time strong,.neighborhood-section .place-time span{display:block}.neighborhood-section .place-time strong{font-size:.8125rem;font-weight:500;color:var(--ink)}
.neighborhood-section .place-route{display:grid;place-items:center;align-self:center;flex-shrink:0;width:34px;height:34px;margin-right:9px;border:1px solid #243a3020;border-radius:50%;font-size:1.05rem;color:var(--ink);text-decoration:none;background:#faf8f2}.neighborhood-section .place-route:hover{background:var(--ink);color:#fff}
.neighborhood-section .travel-note{padding:0 5px;margin-top:20px;font-size:.6875rem;line-height:1.7;max-width:350px}
.neighborhood-section button:focus-visible,.neighborhood-section a:focus-visible{outline:2px solid #a5422d;outline-offset:3px}.map-fallback{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:1100px){.neighborhood-section .neighborhood-grid{gap:25px;grid-template-columns:1.1fr 1fr}.place-select{grid-template-columns:24px minmax(0,1fr) 56px;gap:9px;padding-left:11px}.place-name{font-size:1.18rem}}
@media(max-width:850px){.neighborhood-section .neighborhood-grid{grid-template-columns:1fr}.neighborhood-section .map-panel{height:420px}.neighborhood-section .travel-note{max-width:none}.place-select{grid-template-columns:28px minmax(0,1fr) 70px;padding:18px 14px;gap:14px}.place-name{font-size:1.4rem}}
@media(max-width:700px){.neighborhood-section .neighborhood-grid{gap:25px}.neighborhood-section .map-panel{height:360px;border-radius:14px}.map-context{top:16px;left:16px;font-size:.5625rem;padding:7px 10px}.neighborhood-section .map-address{left:16px;bottom:44px;max-width:235px;padding:13px;gap:10px}.neighborhood-section .map-address strong{font-size:.75rem}.neighborhood-section .map-address div>span,.neighborhood-section .map-address a{font-size:.6875rem}.map-home-symbol{height:29px;width:29px;border-radius:8px}.map-home-symbol svg{height:18px;width:18px}.map-reset{right:15px;bottom:44px;width:35px;height:35px}.neighborhood-section .maplibregl-ctrl-top-right{top:6px;right:5px}.neighborhood-section .maplibregl-ctrl-group button{height:34px;width:34px}.neighborhood-section .maplibregl-ctrl-attrib{font-size:8px}.neighborhood-section .neighborhood-tabs button{font-size:.6875rem;min-height:40px}.place-select{grid-template-columns:24px minmax(0,1fr) 52px;gap:9px;padding:16px 8px 16px 11px}.place-name{font-size:1.18rem}.place-description{font-size:.625rem}.neighborhood-section .place-route{width:30px;height:30px;margin-right:8px}.neighborhood-section .place-time strong{font-size:.75rem}.neighborhood-section .place-time span{font-size:.625rem}.neighborhood-section .place-number{height:24px;width:24px}}
@media(prefers-reduced-motion:reduce){.neighborhood-section *{transition:none!important}}
