.neighborhood { --ink: #243e32; --sage: #e9eedd; --muted: #758170; }
.neighborhood-intro { font-size: 13px; line-height: 1.8; color: var(--muted); max-width: 620px; margin-top: 14px; }
.neighborhood-shell { border: 1px solid #d8dfd0; border-radius: 18px; background: #fff; overflow: hidden; box-shadow: 0 8px 35px #243e3205; }
.neighborhood-topline { display: flex; justify-content: space-between; gap: 12px; padding: 18px 22px; color: #6e7c65; font-size: 11px; border-bottom: 1px solid #e5e9df; }
.neighborhood-topline>span:first-child { color: var(--ink); }
.neighborhood-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #345843; margin-right: 7px; }
.neighborhood-filters { display: flex; flex-wrap: wrap; gap: 7px; padding: 16px 20px; }
.neighborhood-filters[hidden],.neighborhood [hidden] { display: none !important; }
.neighborhood-filters button { padding: 9px 11px; border: 1px solid #e0e5d9; background: #fff; color: #65725f; font: inherit; font-size: 10px; border-radius: 7px; cursor: pointer; }
.neighborhood-filters button.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }
.neighborhood-filters i,.neighborhood-legend i { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: var(--category-color); margin-right: 6px; }
.neighborhood-layout { display: grid; grid-template-columns: minmax(0,1fr) 285px; border-top: 1px solid #e5e9df; }
.neighborhood-map-column { min-width: 0; }
.neighborhood-canvas { height: 480px; background: #edf0e6; position: relative; isolation: isolate; }
.neighborhood-live-map { width: 100%; height: 100%; z-index: 1; background: #edf0e6; font-family: inherit; }
.neighborhood-diagram { height: 100%; }
.neighborhood-diagram svg { display: block; width: 100%; height: 100%; }
.neighborhood.is-interactive .neighborhood-diagram { display: none; }
.neighborhood-map-badge { position: absolute; z-index: 500; top: 15px; left: 15px; right: 58px; width: fit-content; padding: 9px 11px; background: #fffffff2; box-shadow: 0 2px 12px #243e3210; border-radius: 6px; color: #566750; font-size: 9px; line-height: 1.5; pointer-events: none; }
.neighborhood-reset { position: absolute; z-index: 500; bottom: 28px; left: 15px; padding: 10px 12px; border-radius: 7px; border: 1px solid #d6dfcc; background: #fff; color: var(--ink); font: inherit; font-size: 10px; cursor: pointer; box-shadow: 0 2px 10px #243e3214; }
.neighborhood-directory { padding: 23px 18px 15px; border-left: 1px solid #e0e6d8; background: #fcfcf8; min-width: 0; display: flex; flex-direction: column; }
.neighborhood-directory-title .eyebrow { font-size: 9px; color: #75836b; }
.neighborhood-directory h3 { font-size: 22px; letter-spacing: -.04em; margin: 11px 0; }
.neighborhood-directory-title>p { color: #7b8574; font-size: 10px; min-height: 13px; }
.neighborhood-places { margin-top: 15px; max-height: 475px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #cad4be transparent; }
.neighborhood-place { width: 100%; display: grid; grid-template-columns: 29px minmax(0,1fr) auto; gap: 9px; align-items: center; text-align: left; border: 0; border-bottom: 1px solid #e6eadf; background: transparent; padding: 14px 0; color: var(--ink); cursor: pointer; font: inherit; }
.neighborhood-place:hover,.neighborhood-place:focus-visible { background: #eef2e5; }
.neighborhood-place-mark { display: grid; place-items: center; width: 27px; height: 31px; border-radius: 9px 9px 9px 2px; color: var(--category-color); background: #fff; border: 1px solid #e0e5d7; }
.neighborhood-place-mark svg { width: 15px; height: 15px; }
.neighborhood-place b { display: block; font-weight: 500; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.neighborhood-place small { display: block; font-size: 9px; color: #87907d; line-height: 1.6; margin-top: 3px; }
.neighborhood-place em { font-size: 10px; white-space: nowrap; font-style: normal; color: #6c7b60; }
.neighborhood-directory-note,.neighborhood-empty { font-size: 10px; line-height: 1.7; color: #829077; margin-top: 18px; }
.neighborhood-directory-note { margin-top: auto; padding-top: 15px; }
.neighborhood-radius-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 15px; background: #f5f6ef; }
.neighborhood-radius { text-align: left; padding: 15px 16px; border-radius: 10px; border: 1px solid #dce3d0; background: #fff; color: var(--ink); font: inherit; cursor: pointer; transition: background .15s; }
.neighborhood-radius:disabled { cursor: default; opacity: 1; }
.neighborhood-radius.is-active { background: #e7edd9; border-color: #bccba7; }
.radius-card-heading { display: flex; align-items: center; gap: 8px; }
.radius-card-heading b { font-size: 15px; font-weight: 500; }
.radius-card-heading>span { font-size: 10px; color: #7b8770; }
.radius-ring { width: 15px; height: 15px; border: 2px solid #365244; outline: 1px solid #365244; outline-offset: 3px; border-radius: 50%; display: inline-block; margin: 3px 5px 3px 3px; flex-shrink: 0; }
.radius-ring-1 { border-color: #b18a59; outline-color: #b18a59; }
.neighborhood-radius>strong { font-size: clamp(22px,2.5vw,31px); letter-spacing: -.05em; display: block; font-weight: 550; margin: 15px 0 7px; }
.neighborhood-radius>span:not(.radius-card-heading) { font-size: 9px; line-height: 1.5; display: block; color: #7b8770; }
.neighborhood-radius>small { border-top: 1px solid #dce4ce; display: block; padding-top: 9px; margin-top: 10px; color: #67795d; font-size: 9px; line-height: 1.5; }
.neighborhood-legend { display: flex; flex-wrap: wrap; gap: 12px 18px; padding: 14px 20px; border-top: 1px solid #e1e7d7; font-size: 9px; color: #718263; }
.neighborhood-footer { padding: 12px 20px; display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid #e6ebdd; font-size: 9px; line-height: 1.7; color: #87917f; }
.neighborhood-footer a { color: #4d6d49; }
.neighborhood-unavailable { border: 1px solid #dce3d0; padding: 30px; border-radius: 14px; background: #eef2e5; }
.neighborhood-unavailable h3 { font-size: 23px; margin: 17px 0 10px; }
.neighborhood-unavailable p,.neighborhood-unavailable a { font-size: 13px; line-height: 1.8; }
.neighborhood button:focus-visible { outline: 2px solid #587b50; outline-offset: 3px; }
.neighborhood .leaflet-bar { border: 1px solid #d9e2d0; box-shadow: 0 2px 10px #263e3314; overflow: hidden; border-radius: 8px; }
.neighborhood .leaflet-bar a { color: #375940; border-color: #e1e6d9; }
.neighborhood .leaflet-control-attribution { font-size: 8px; background: #fffffff0; color: #697b60; }
.neighborhood .leaflet-control-attribution a { color: #496d4f; }
.neighborhood .leaflet-tile-pane { filter: saturate(.62); }
.neighborhood .leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 5px 25px #1d362a26; }
.neighborhood .leaflet-popup-pane { z-index: 850; }
.neighborhood .leaflet-popup-content { margin: 15px; font-family: inherit; min-width: 160px; max-width: 235px; line-height: 1.7; }
.neighborhood .leaflet-popup-content strong { font-size: 13px; display: block; }
.neighborhood .leaflet-popup-content p { font-size: 11px; margin: 6px 0; color: #708164; }
.neighborhood .leaflet-popup-content a { font-size: 11px; color: #375f3f; }
.dg-place-pin { display: grid; place-items: center; width: 29px; height: 29px; color: #fff; background: var(--category-color); border: 2px solid #fff; border-radius: 50% 50% 50% 5px; box-shadow: 0 2px 7px #1b332732; }
.dg-place-pin svg { width: 15px; height: 15px; }
.dg-center-pin { display: grid; place-items: center; color: #fff; width: 37px; height: 37px; background: #263f32; border: 3px solid #fff; box-shadow: 0 0 0 7px #294c3920,0 3px 12px #162d3133; border-radius: 50%; }
.dg-center-pin svg { width: 19px; height: 19px; }
.dg-cluster-pin { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #fff; color: #294333; border: 2px solid #7c9364; box-shadow: 0 0 0 4px #e3ebdabb,0 2px 7px #243e3222; font-weight: 600; font-size: 12px; }
.neighborhood .dg-ring-label { background: #fffffff0; border: 1px solid #d5dec8; box-shadow: none; border-radius: 5px; color: #4b6648; padding: 3px 6px; font-size: 10px; font-family: inherit; }
.neighborhood .dg-ring-label:before { display: none; }
@media(max-width:1150px) { .neighborhood-layout { grid-template-columns: minmax(0,1fr) 240px; } .neighborhood-directory { padding: 19px 13px 12px; } .neighborhood-radius { padding: 13px 11px; } .radius-card-heading>span { display: none; } }
@media(max-width:850px) { .neighborhood-layout { grid-template-columns: 1fr; } .neighborhood-directory { border-left: 0; border-top: 1px solid #e0e6d8; padding: 22px; } .neighborhood-places { max-height: 260px; } .neighborhood-place { grid-template-columns: 29px minmax(0,1fr) auto; } .neighborhood-canvas { height: 410px; } }
@media(max-width:959px) { .report-page .sidebar { overflow-x: auto; min-width: 0; } .report-page .sidebar nav { width: max-content; min-width: 100%; justify-content: flex-start; } .report-page .sidebar-cta { display: none; } }
@media(max-width:500px) { .neighborhood-shell { border-radius: 12px; } .neighborhood-topline { padding: 14px; font-size: 9px; } .neighborhood-filters { gap: 6px; padding: 12px; } .neighborhood-filters button { font-size: 9px; padding: 8px 9px; } .neighborhood-canvas { height: 360px; } .neighborhood-map-badge { left: 10px; top: 10px; max-width: 185px; font-size: 8px; padding: 7px 8px; } .neighborhood-radius-cards { gap: 8px; padding: 10px; } .neighborhood-radius { padding: 12px 10px; } .radius-card-heading b { font-size: 14px; } .neighborhood-radius>strong { font-size: 23px; } .neighborhood-directory { padding: 20px 14px; } .neighborhood-footer { flex-direction: column; gap: 6px; padding: 12px 14px; } .neighborhood-legend { padding: 12px 14px; gap: 9px 12px; } }
@media print {
  .neighborhood { break-before: page; }
  .neighborhood-heading { margin-bottom: 10px; }
  .neighborhood-intro,.neighborhood-method { font-size: 8pt; }
  .neighborhood-filters,.neighborhood-live-map,.neighborhood-reset,.neighborhood-map-badge { display: none !important; }
  .neighborhood.is-interactive .neighborhood-diagram,.neighborhood-diagram { display: block !important; }
  .neighborhood-shell { border-radius: 8px; box-shadow: none; break-inside: avoid; }
  .neighborhood-topline { padding: 10px; font-size: 7pt; }
  .neighborhood-layout { display: block; }
  .neighborhood-canvas { height: 290px; }
  .neighborhood-radius-cards { display: table; width: 100%; border-spacing: 8px; padding: 0; box-sizing: border-box; }
  .neighborhood-radius { display: table-cell; width: 50%; padding: 9px 14px; height: auto; vertical-align: top; box-sizing: border-box; }
  .radius-card-heading { display: block; }
  .neighborhood-radius>strong { font-size: 17pt; margin: 8px 0; }
  .neighborhood-radius>span:not(.radius-card-heading),.neighborhood-radius>small { font-size: 7pt; }
  .radius-card-heading b { font-size: 11pt; margin-right: 6px; }
  .neighborhood-directory { display: none; }
  .neighborhood-legend { display: block; padding: 9px; font-size: 7pt; }
  .neighborhood-legend>span { display: inline-block; margin: 3px 10px 3px 0; }
  .neighborhood-footer { padding: 9px; font-size: 7pt; }
}
