.neighbourhood-explorer{border-top:1px solid var(--line)}
.neighbourhood-explorer .section-heading{margin-bottom:44px}
.map-intro-small{font-size:14px;margin-top:18px;max-width:390px}
.neighbourhood-tool{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(285px,1fr);gap:38px;align-items:start}
.map-column{min-width:0;position:relative}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;border-top:1px solid var(--harbour);border-bottom:1px solid var(--line);padding:14px 0}
.map-toolbar strong{display:block;font:28px/1.1 Italiana,Georgia,serif}.map-toolbar span{font-size:12px}
.map-toolbar button{display:flex;align-items:center;gap:9px;font-size:12px;border:0;background:transparent;min-height:44px;padding:8px 0}.map-toolbar svg{width:20px;height:20px}
.neighbourhood-canvas{height:640px;background:var(--ivory);isolation:isolate;z-index:0;font-family:"Instrument Sans",Arial,sans-serif}
.neighbourhood-canvas .leaflet-tile-pane{filter:saturate(.4)}
.map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;border-bottom:1px solid var(--line)}.map-placeholder p:first-child{font:32px/1.2 Italiana,Georgia,serif}.map-placeholder p+p{font-size:15px;max-width:280px}
.map-underbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);min-height:44px}.map-underbar p{font-size:12px}.map-underbar button{font-size:12px;min-height:44px;border:1px solid var(--harbour);background:transparent;padding:8px 13px}.map-underbar button[aria-pressed=true]{background:var(--harbour);color:var(--ivory)}
.map-key{font-size:11px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:15px}.map-key>a{margin-left:auto}.key-home{width:12px;height:16px;background:var(--harbour);display:inline-block}.key-number{border:1px solid var(--harbour);border-radius:50%;width:24px;height:24px;display:grid;place-items:center;margin-left:20px;font-size:10px}
.map-skip{position:absolute;left:10px;top:90px;z-index:1001;transform:translateY(-150vh);padding:12px;background:var(--ivory);font-size:14px}.map-skip:focus{transform:none}
.directory-head{padding:18px 0 16px;border-top:1px solid var(--harbour)}.directory-head h3{font-size:20px;margin-bottom:14px}.directory-head>p{font-size:12px;margin-top:12px}.directory-head>button{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:44px;background:transparent;border:1px solid var(--harbour);padding:10px 15px;font-size:14px}.directory-head>button[aria-pressed=true]{background:var(--harbour);color:var(--ivory)}
.is-enhanced .directory-groups{max-height:640px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--slate) var(--ivory);padding-right:10px;padding-bottom:6px}
.place-group{border-top:1px solid var(--line)}.place-group:last-child{border-bottom:1px solid var(--line)}.place-group summary{display:flex;align-items:center;gap:12px;list-style:none;font-size:14px;font-weight:600;line-height:1.3;min-height:64px;cursor:pointer;padding:15px 2px}.place-group summary::-webkit-details-marker{display:none}.place-group summary>span:first-child{flex:1}.place-group summary>svg{width:16px;height:16px}.place-group[open] summary>svg path{d:path('M5 12h14')}.place-group summary:focus-visible{outline:3px solid var(--pine);outline-offset:-3px}.category-count{font-size:11px;font-variant-numeric:tabular-nums;font-weight:400}.is-active-category summary{text-decoration:underline;text-underline-offset:6px}
.place-group ol{list-style:none;margin:0;padding:0 0 15px}.place-entry{border-top:1px solid var(--line);scroll-margin-top:95px}.place-select{display:flex;gap:12px;align-items:center;width:100%;min-height:57px;text-align:left;background:transparent;border:0;padding:12px 5px;font-size:14px;line-height:1.3}.place-select>span:nth-child(2){flex:1}.place-select svg{width:15px;height:15px}.place-number{font-size:12px;font-variant-numeric:tabular-nums;display:grid;place-items:center;border:1px solid var(--harbour);width:27px;height:27px;border-radius:50%;flex:none}.selection-label{display:block;font-size:11px;font-weight:600;margin-top:5px;text-decoration:underline;text-underline-offset:3px}.is-selected .place-select{font-weight:600}.is-selected .place-number{background:var(--pine);color:var(--ivory);border-color:var(--pine)}.is-selected .place-select>svg{transform:rotate(90deg)}.place-select:hover{background:rgba(83,107,92,.08)}.place-select:focus-visible{outline-offset:-3px}
.place-detail{padding:0 8px 20px 44px;font-size:13px;line-height:1.5}.place-detail .place-address{font-size:12px}.place-detail p+p{margin-top:12px}.place-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}.place-links a{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:12px}
.map-footnote{font-size:12px;line-height:1.6;margin-top:26px;max-width:850px}.map-error{font-size:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.mobile-map-filter{display:none}.destination-marker{background:transparent;border:0;display:grid;place-items:center!important}.destination-marker>span{display:grid;place-items:center;width:30px;height:30px;border:1.5px solid var(--harbour);border-radius:50%;background:var(--ivory);color:var(--harbour);font:600 12px/1 "Instrument Sans",sans-serif;font-variant-numeric:tabular-nums;transition:background .2s,transform .2s}.destination-marker:hover>span{transform:scale(1.12)}.destination-marker.is-selected>span{background:var(--pine);color:var(--ivory);outline:2px solid var(--ivory);box-shadow:0 0 0 4px var(--harbour);transform:scale(1.1)}
.home-map-marker>span{display:grid;place-items:center;width:94px;height:58px;background:var(--harbour);padding:9px 12px;position:relative}.home-map-marker>span:after{content:"";position:absolute;bottom:-8px;left:39px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--harbour)}.home-map-marker img{width:68px;height:40px;object-fit:contain}
.neighbourhood-canvas .leaflet-control-attribution{background:var(--ivory);color:var(--harbour);font:11px/1.5 "Instrument Sans",sans-serif;padding:3px 7px}.neighbourhood-canvas .leaflet-control-attribution a{color:var(--harbour)}.neighbourhood-canvas .leaflet-bar{border:0;box-shadow:none;border-radius:0}.neighbourhood-canvas .leaflet-bar a{width:44px;height:44px;line-height:44px;background:var(--ivory);color:var(--harbour);border:1px solid var(--harbour);border-radius:0;font:24px/44px "Instrument Sans",sans-serif}.neighbourhood-canvas .leaflet-bar a+a{border-top:0}.neighbourhood-canvas .leaflet-bar a:hover{background:var(--harbour);color:var(--ivory)}
.neighbourhood-canvas .leaflet-popup-content-wrapper{background:var(--ivory);color:var(--harbour);border-radius:0;box-shadow:0 5px 20px rgba(49,75,89,.18)}.neighbourhood-canvas .leaflet-popup-tip{background:var(--ivory)}.neighbourhood-canvas .leaflet-popup-content{font:13px/1.5 "Instrument Sans",sans-serif;margin:22px 24px}.neighbourhood-canvas .leaflet-popup-content p{margin:10px 0}.neighbourhood-canvas .leaflet-popup-content h3{font:600 17px/1.2 "Instrument Sans",sans-serif;margin:8px 0}.neighbourhood-canvas .leaflet-popup-content a{color:var(--harbour);display:inline-block;min-height:44px;padding-top:12px}.neighbourhood-canvas a.leaflet-popup-close-button{color:var(--harbour);width:36px;height:36px;font-size:24px}.popup-number{font-size:12px}.neighbourhood-canvas:focus-visible{outline:3px solid var(--pine);outline-offset:4px}.neighbourhood-canvas .leaflet-marker-icon:focus-visible{outline:3px solid var(--harbour);outline-offset:3px}
@media(max-width:1100px){.neighbourhood-tool{grid-template-columns:minmax(0,1.8fr) 285px;gap:25px}.neighbourhood-canvas{height:610px}}
@media(max-width:850px){.neighbourhood-tool{grid-template-columns:1fr;gap:24px}.mobile-map-filter{display:grid;gap:8px}.mobile-map-filter label{font-size:13px}.mobile-map-filter select{width:100%;min-height:48px;background:var(--ivory);color:var(--harbour);border:1px solid var(--harbour);padding:10px 12px;font-size:14px}.neighbourhood-explorer .section-heading{display:block}.neighbourhood-explorer .section-heading>div{margin-top:24px}.neighbourhood-explorer .section-heading p{font-size:17px}.neighbourhood-explorer .section-heading .map-intro-small{font-size:13px}.neighbourhood-canvas{height:480px;touch-action:pan-y!important}.neighbourhood-canvas.touch-map-active{touch-action:none!important}.map-toolbar{min-height:70px}.map-toolbar strong{font-size:25px}.map-toolbar span{font-size:11px}.map-toolbar button{font-size:11px;gap:5px}.map-toolbar svg{width:17px}.map-key>a{width:100%;margin:6px 0 0}.is-enhanced .directory-groups{max-height:none;overflow:visible;padding:0}.directory-head{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center}.directory-head h3{margin:0}.directory-head>p{grid-column:1/-1;margin-top:0}.directory-head>button{gap:18px}.place-select{min-height:64px;font-size:15px}.place-detail{font-size:14px}.place-group summary{font-size:15px;min-height:58px}.map-underbar{gap:12px}.map-underbar p{font-size:11px;max-width:180px}.home-map-marker>span{width:94px}.neighbourhood-explorer .travel-note{margin-top:45px}}
@media(prefers-reduced-motion:reduce){.destination-marker>span{transition:none}}

.category-filter{font:12px/1.3 "Instrument Sans",sans-serif;min-height:44px;background:transparent;color:var(--harbour);border:0;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.category-filter[aria-pressed="true"]{font-weight:600;color:var(--pine)}
