.map-stage{max-width:90rem;margin:0 auto;padding:1rem clamp(1.25rem,5vw,5rem) 5rem}.map-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap}.map-heading h1{max-width:58rem}.map-heading p{max-width:45rem}.map-search{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap;margin:2rem 0}.map-search label{display:grid;gap:.35rem;font-weight:700}.map-search input{font:inherit;padding:.7rem;border:1px solid var(--line);border-radius:.4rem;min-width:min(24rem,80vw)}.map-search button,.map-reset{font:800 1rem Arial;background:var(--acid);border:0;border-radius:.4rem;padding:.8rem 1.1rem;cursor:pointer}.map-search-feedback{min-height:1.5rem;color:var(--muted)}.map-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(19rem,.7fr);gap:1rem;align-items:start}.map-canvas{position:relative;min-width:0;min-height:34rem;background:linear-gradient(145deg,#e5f1eb,#d3e9ef);border:1px solid var(--line);border-radius:1.4rem;overflow:hidden}.map-canvas:before{content:"HORIZON WEST · ORANGE COUNTY GIS";position:absolute;top:1.4rem;left:1.4rem;font:800 .7rem Arial;letter-spacing:.12em;color:#2f6470}.map-canvas svg{display:block;width:100%;height:34rem;padding:2rem;touch-action:manipulation}.map-area{fill:#2c7484;fill-opacity:.83;stroke:#fff;stroke-width:3;stroke-linejoin:round;cursor:pointer;transition:fill .18s ease,fill-opacity .18s ease}.map-area:hover,.map-area:focus-visible{fill:#1d5364;fill-opacity:1;outline:none;stroke:#e9f471;stroke-width:5}.map-area.is-selected{fill:#0b354d;fill-opacity:1;stroke:#d9f24b;stroke-width:6}.map-note{position:absolute;bottom:1rem;left:1rem;right:1rem;max-width:32rem;background:#fffef9eb;border-radius:.65rem;padding:.8rem 1rem;font-size:.82rem;color:#2e4a55}.map-side{display:grid;gap:1rem}.map-panel,.map-fallback{padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:var(--white)}.map-panel h2{font-size:2.1rem}.map-panel p{color:var(--muted)}.map-context{font-weight:800!important;color:var(--ink)!important}.map-place-list{list-style:none;padding:0;margin:1rem 0;max-height:19rem;overflow:auto}.map-place-list li+li{border-top:1px solid var(--line)}.map-place-list a{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .1rem;font-weight:700;text-decoration:none}.map-place-list a:hover{text-decoration:underline}.map-place-list small{color:var(--muted);font-weight:400}.map-area-link{font-weight:800}.map-fallback h2{font:800 1rem Arial;letter-spacing:0}.map-choice-list{display:grid;gap:.35rem}.map-choice{display:flex;justify-content:space-between;gap:1rem;width:100%;padding:.7rem;text-align:left;background:#f5f7f1;border:1px solid var(--line);border-radius:.45rem;cursor:pointer;font:inherit}.map-choice span{font-weight:800}.map-choice small{color:var(--muted)}.map-choice.is-selected{border-color:#356778;background:#dcecf0}.map-legend{display:flex;align-items:center;gap:.5rem;margin:1rem 0 0;font-size:.8rem;color:var(--muted)}.map-legend:before{content:"";width:1rem;height:1rem;background:#2c7484;border:2px solid #fff;outline:1px solid #85a9af}.map-return{margin:1rem 0}.map-scope{max-width:90rem;margin:0 auto;padding:0 clamp(1.25rem,5vw,5rem) 4rem}.map-scope .context-note{max-width:70rem}@media(max-width:1000px){.map-shell{grid-template-columns:1fr}.map-side{grid-template-columns:1fr 1fr}.map-canvas{min-height:29rem}.map-canvas svg{height:29rem}}@media(max-width:640px){.map-stage{padding-bottom:3rem}.map-side{grid-template-columns:1fr}.map-canvas{min-height:23rem}.map-canvas svg{height:23rem;padding:.5rem}.map-canvas:before{font-size:.6rem;top:.7rem;left:.7rem}.map-note{font-size:.72rem}.map-choice{min-height:3rem}.map-search input{min-width:0;width:100%}.map-search label{width:100%}}@media(prefers-reduced-motion:reduce){.map-area{transition:none}}
.map-inline-links{display:flex;flex-wrap:wrap;gap:.6rem}.map-inline-links a{display:inline-block;background:var(--white);border:1px solid var(--line);border-radius:.5rem;padding:.55rem .8rem;text-decoration:none;font-weight:700}.map-inline-links a:hover{text-decoration:underline}.map-inline-links small{color:var(--muted);font-weight:400}.map-scope h2{font-size:clamp(1.7rem,3vw,2.5rem)}
.map-heading h1{font-size:clamp(3rem,5vw,5rem);max-width:72rem}.map-heading p{max-width:52rem}
