/* The map is a neighborhood explorer, not a geographic coverage boundary. */
.ace-service-map{position:relative;isolation:isolate;overflow:hidden;background:#f1f1e7;color:#123c30;padding-block:clamp(64px,7vw,108px)}
.ace-service-map::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 9% 14%,#fffdf5 0,transparent 45%),radial-gradient(ellipse at 97% 77%,#d6e0cd66 0,transparent 48%);pointer-events:none}
.ace-map-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:end;margin-bottom:38px}
.ace-map-heading h2{max-width:650px;margin-bottom:0;font-size:clamp(2.35rem,3.65vw,3.7rem);line-height:1.05;letter-spacing:-.045em}
.ace-map-heading h2 em{color:#40724f;font-style:normal}
.ace-map-intro{max-width:440px;padding-bottom:3px;font-size:.87rem;line-height:1.7}
.ace-map-intro .lead{color:#123c30;font-size:1.08rem;line-height:1.5;font-weight:600;margin-bottom:14px}
.ace-map-intro>p:last-child{color:#5d6b60}
.ace-map-surface{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);border:1px solid #cbd6c3;border-radius:20px;overflow:hidden;box-shadow:0 25px 65px #123c3010;background:#123c30}
.ace-map-canvas{position:relative;display:flex;flex-direction:column;min-width:0;background:#eeeedd;overflow:hidden}
.ace-map-toolbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:59px;padding:10px 19px;background:#f9f9f0;border-bottom:1px solid #d3dcc9}
.ace-map-caption{display:flex;align-items:center;gap:9px;font-size:.57rem;font-weight:750;letter-spacing:.09em;color:#254f3d}
.ace-map-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#f5672b;box-shadow:0 0 0 4px #f5672b1a}
.ace-map-toolbar .ace-map-reset{min-height:36px;padding:7px 10px;border:1px solid #bacdb0;border-radius:5px;background:#fffdf4;color:#244c34;font-size:.64rem;font-weight:650;white-space:nowrap}
.ace-map-reset:hover{background:#e4eddc}
.ace-map-viewport{position:relative;flex:1;min-height:510px;isolation:isolate}
.ace-street-map{position:absolute!important;inset:0;z-index:1;background:#e5ebdf;font:inherit}
.ace-map-fallback{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,5vw,68px);background:radial-gradient(ellipse at 90% 80%,#d2dfc8,transparent 65%),#eef1e6}
.ace-map-fallback .eyebrow{margin-bottom:20px;font-size:.63rem}
.ace-map-fallback h3{font-size:clamp(2.5rem,4vw,3.8rem);line-height:1.04;color:#234b33;margin:0 0 25px}
.ace-map-fallback p{max-width:390px;font-size:.87rem;line-height:1.65;color:#58704e;margin-bottom:15px}
.ace-map-fallback>a{display:inline-flex;align-items:center;min-height:44px;font-size:.77rem;font-weight:700;color:#275137}
.ace-map-map-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 16px;background:#f3f5ea;border-top:1px solid #d4dec8}
.ace-map-map-footer .ace-map-note{position:static;padding:0;margin:0;color:#587052;font-size:.6rem;line-height:1.6}
.ace-map-map-footer>a{flex-shrink:0;color:#4d6547;font-size:.58rem;text-underline-offset:3px}
.ace-street-map .leaflet-tile{max-width:none!important;max-height:none!important;border:0;border-radius:0;box-shadow:none;filter:none}
.ace-street-map .leaflet-control-container .leaflet-control-attribution{font-size:10px!important;line-height:1.5;padding:3px 7px;background:#fffffff2;color:#25452f;max-width:calc(100vw - 60px);margin:0}
.ace-street-map .leaflet-control-attribution a{color:#17492e;font-weight:500;text-decoration:underline}
.ace-street-map .leaflet-control-zoom{border:1px solid #bbcbb0;border-radius:7px;box-shadow:0 3px 15px #123c301a;overflow:hidden}
.ace-street-map .leaflet-control-zoom a{width:42px;height:42px;line-height:42px;color:#183f2e;background:#fffef7;font-size:23px;text-decoration:none}
.ace-street-map .leaflet-control-zoom a:hover{background:#e9f0df}
.ace-street-map .leaflet-control-zoom a.leaflet-disabled{color:#8a9881;background:#f3f5ed}
.ace-street-map .leaflet-control-scale-line{background:#ffffffdb;color:#254b35;border-color:#6c865f;font-size:10px}
.ace-leaflet-marker{background:transparent;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ace-map-marker-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;text-decoration:none!important;color:inherit!important}
.ace-map-marker-link>span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:2px solid #fffef7;border-radius:50%;background:#234e36;color:#fffdf4;box-shadow:0 2px 8px #153b2b50;font-size:9px;font-weight:750;line-height:1;transition:background .2s ease,box-shadow .2s ease}
.ace-leaflet-marker:hover .ace-map-marker-link>span,.ace-leaflet-marker.is-selected .ace-map-marker-link>span{background:#f78c45;color:#123c30;box-shadow:0 0 0 5px #f78c4533,0 3px 9px #153b2b35}
.ace-leaflet-marker.is-selected .ace-map-marker-link>span{width:30px;height:30px;font-size:10px}
.ace-map-marker-link:focus-visible{outline:3px solid #e75f22;outline-offset:2px}
.ace-street-map .ace-map-label{padding:5px 8px;border:1px solid #cad8c0;border-radius:4px;background:#fffffff5;box-shadow:0 2px 7px #183f2e15;color:#244a32;font-family:inherit;font-size:10px;line-height:1.2;font-weight:650}
.ace-street-map .ace-map-label::before{display:none}
.ace-map-detail{position:relative;display:flex;flex-direction:column;padding:35px 34px 22px;color:#fffdf5;background:radial-gradient(ellipse at 100% 100%,#2a5c3e 0,transparent 65%),#123c30;overflow:hidden}
.ace-map-detail::before{content:"";position:absolute;pointer-events:none;width:310px;height:310px;right:-222px;top:40px;border:1px solid #aac49720;border-radius:50%;box-shadow:0 0 0 30px #123c30,0 0 0 31px #aac49716,0 0 0 62px #123c30,0 0 0 63px #aac49712}
.ace-map-detail>*{position:relative}
.ace-map-detail-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:48px}
.ace-map-detail-kicker{font-size:.61rem;line-height:1.7;letter-spacing:.12em;color:#b5cbaa;font-weight:700}
.ace-map-detail-top svg{width:42px;height:42px;stroke:#ff965d;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ace-map-current{flex:1}
.ace-map-selection-label{display:block;color:#ffac7b;letter-spacing:.13em;font-size:.59rem;font-weight:700;margin-bottom:12px}
.ace-map-current h3{font-size:clamp(2rem,2.7vw,3rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:20px;color:#fffdf5;text-wrap:balance}
.ace-map-current p{font-size:.87rem;line-height:1.75;color:#d8e2ce;margin-bottom:26px;min-height:7em}
.ace-map-detail .ace-map-visit{align-self:flex-start;min-height:48px;width:100%;padding:14px 16px;border-radius:6px;background:#fc9155;color:#143828;font-size:.86rem;text-align:center;box-shadow:none}
.ace-map-detail .ace-map-visit:hover{background:#ffac7b;transform:translateY(-2px)}
.ace-map-detail-bottom{display:flex;align-items:center;gap:18px;margin-top:32px;padding-top:21px;border-top:1px solid #ffffff24}
.ace-map-detail-number{font-size:2.65rem;line-height:1;font-weight:650;letter-spacing:-.07em;color:#a9c4a1}
.ace-map-detail-bottom p{color:#b8ceac;font-size:.65rem;line-height:1.7;margin:0}
.ace-map-directory{padding:30px 0 0}
.ace-map-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.ace-map-directory-heading h3{font-size:1.35rem;margin:0}
.ace-map-directory-heading>span{font-size:.69rem;color:#63765d}
.ace-map-directory-heading b{color:#254e36;font-weight:750}
.ace-map-instruction{font-size:.73rem;color:#60705b;margin:0 0 17px}
.ace-map-area-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.ace-map-area{display:flex;align-items:center;gap:10px;min-height:49px;padding:10px 12px;border:1px solid #d3ddcc;border-radius:6px;color:#294c36;background:#fffef78c;text-decoration:none;font-size:.73rem;line-height:1.4;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease}
.ace-map-area-number{font-size:.61rem;color:#77866d;font-weight:500;font-variant-numeric:tabular-nums;flex-shrink:0}
.ace-map-area-indicator{margin-left:auto;flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#7f9870;opacity:.4}
.ace-map-area:hover{color:#173f2f;background:#fffef8;border-color:#91aa80}
.ace-map-area.is-selected{background:#173f2f;border-color:#173f2f;color:#fffef5}
.ace-map-area.is-selected .ace-map-area-number{color:#bbd1ae}
.ace-map-area.is-selected .ace-map-area-indicator{background:#ff985a;opacity:1;box-shadow:0 0 0 3px #ff985a20}
.ace-map-directory-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;font-size:.75rem}
.ace-map-directory-footer>a{display:inline-flex;align-items:center;min-height:44px;font-weight:750}
.ace-map-directory-footer p{margin:0;color:#62745b;font-size:.72rem}
.ace-map-directory-footer p a{white-space:nowrap;color:#244d35;font-weight:650}
.ace-service-map a:focus-visible{outline:3px solid #ef6226;outline-offset:4px}
.ace-service-map .ace-map-pin:focus-visible{outline:none}
@media(min-width:1400px){.ace-map-surface{grid-template-columns:minmax(0,1.9fr) minmax(330px,1fr)}.ace-map-detail{padding:41px 38px 28px}.ace-map-detail-top{margin-bottom:54px}}
@media(max-width:1080px){.ace-map-heading{grid-template-columns:1.15fr 1fr;gap:32px}.ace-map-heading h2{font-size:2.8rem}.ace-map-surface{grid-template-columns:minmax(0,1.5fr) minmax(285px,1fr)}.ace-map-detail{padding:26px 24px 20px}.ace-map-detail-top{margin-bottom:30px}.ace-map-current h3{font-size:2.25rem}.ace-map-current p{font-size:.8rem}.ace-map-detail-bottom{margin-top:23px}.ace-map-area-list{grid-template-columns:repeat(4,minmax(0,1fr))}.ace-map-caption{top:21px;left:22px;font-size:.48rem}.ace-map-note{left:18px;bottom:12px;font-size:.55rem}}
@media(max-width:820px){.ace-map-heading{grid-template-columns:1fr;gap:23px}.ace-map-intro{max-width:600px}.ace-map-intro .lead{font-size:1.02rem}.ace-map-surface{grid-template-columns:1fr}.ace-map-canvas .ace-valley-svg{min-height:0}.ace-map-caption{top:26px;left:26px;font-size:.62rem}.ace-map-note{left:24px;bottom:17px;font-size:.65rem}.ace-map-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);gap:0 35px;padding:30px}.ace-map-detail-top{grid-column:1/-1;margin-bottom:25px}.ace-map-detail-top svg{width:34px;height:34px}.ace-map-detail-kicker br{display:none}.ace-map-detail-kicker{font-size:.6rem}.ace-map-detail-kicker br::after{content:" "}.ace-map-current{grid-row:2/4}.ace-map-current p{min-height:0;margin-bottom:0;font-size:.85rem}.ace-map-current h3{margin-bottom:14px}.ace-map-detail .ace-map-visit{align-self:start;margin-top:26px;grid-column:2}.ace-map-detail-bottom{align-self:end;grid-column:2;margin-top:19px;padding-top:18px}.ace-map-area-list{grid-template-columns:repeat(3,minmax(0,1fr))}.ace-map-area{font-size:.73rem}.ace-map-directory-footer{align-items:flex-start}}
@media(max-width:560px){.ace-service-map{padding-block:60px}.ace-map-heading{margin-bottom:26px;gap:20px}.ace-map-heading h2{font-size:clamp(2.05rem,8.6vw,2.8rem)}.ace-map-heading .eyebrow{font-size:.62rem;margin-bottom:16px}.ace-map-intro{font-size:.83rem}.ace-map-surface{border-radius:12px}.ace-map-caption{top:16px;left:17px;font-size:.43rem;letter-spacing:.09em;gap:7px}.ace-map-dot{width:5px;height:5px;flex-basis:5px;box-shadow:0 0 0 3px #f5672b1a}.ace-map-note{position:relative;bottom:auto;left:auto;right:auto;padding:0 17px 15px;margin-top:-7px;font-size:.56rem}.ace-map-detail{display:flex;padding:25px}.ace-map-detail-top{margin-bottom:27px}.ace-map-detail-kicker{font-size:.52rem}.ace-map-current h3{font-size:2.2rem}.ace-map-current p{font-size:.82rem;margin-bottom:22px}.ace-map-detail .ace-map-visit{margin-top:0;width:100%;font-size:.84rem}.ace-map-detail-bottom{align-self:stretch;width:100%;margin-top:24px;padding-top:19px}.ace-map-detail-number{font-size:2rem}.ace-map-detail-bottom p{font-size:.61rem}.ace-map-directory{padding-top:26px}.ace-map-directory-heading{align-items:flex-start;gap:12px}.ace-map-directory-heading h3{font-size:1.16rem}.ace-map-directory-heading>span{max-width:75px;text-align:right;font-size:.59rem;line-height:1.5}.ace-map-instruction{font-size:.68rem}.ace-map-area-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ace-map-area{min-height:49px;padding:10px;font-size:.68rem;gap:8px}.ace-map-area-number{font-size:.56rem}.ace-map-directory-footer{display:block;margin-top:20px}.ace-map-directory-footer p{margin-top:6px;font-size:.7rem}.ace-map-directory-footer>a{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.ace-service-map *{scroll-behavior:auto}.ace-map-pin-halo,.ace-map-pin-core,.ace-map-area{transition:none}.ace-map-detail .ace-map-visit:hover{transform:none}}
@media print{.ace-map-surface{display:block;border-color:#bbb;box-shadow:none}.ace-map-detail{color:#123c30;background:#fff}.ace-map-current h3,.ace-map-current p,.ace-map-selection-label{color:#123c30}.ace-map-detail-top,.ace-map-detail-bottom{display:none}.ace-map-instruction{display:none}.ace-map-area-list{grid-template-columns:repeat(4,1fr)}.ace-map-area,.ace-map-area.is-selected{color:#123c30;background:#fff}}

.ace-map-detail{scroll-margin-top:105px}

/* The real map retains normal street colors and unobstructed attribution. */
@media(max-width:1080px){.ace-map-caption{font-size:.5rem}.ace-map-toolbar{padding:9px 13px}.ace-map-toolbar .ace-map-reset{font-size:.59rem}.ace-map-viewport{min-height:465px}.ace-map-map-footer{display:block}.ace-map-map-footer>a{display:inline-block;margin-top:3px}.ace-map-map-footer .ace-map-note{font-size:.58rem}}
@media(max-width:820px){.ace-map-viewport{min-height:480px}.ace-map-caption{font-size:.58rem}.ace-map-map-footer{display:flex}.ace-map-map-footer>a{margin:0}.ace-map-map-footer .ace-map-note{font-size:.61rem}}
@media(max-width:560px){.ace-map-toolbar{min-height:57px;padding:10px 12px;gap:9px}.ace-map-caption{font-size:.43rem;letter-spacing:.04em;gap:6px}.ace-map-dot{flex-basis:5px;width:5px;height:5px}.ace-map-toolbar .ace-map-reset{padding:8px;min-height:36px;font-size:.56rem}.ace-map-viewport{min-height:400px}.ace-map-map-footer{display:block;padding:10px 13px}.ace-map-map-footer .ace-map-note{font-size:.55rem}.ace-map-map-footer>a{font-size:.54rem;margin-top:5px}.ace-street-map .leaflet-control-zoom a{width:40px;height:40px;line-height:40px}.ace-street-map .leaflet-control-container .leaflet-control-attribution{font-size:9px!important}.ace-street-map .ace-map-label{font-size:9px;padding:4px 6px}.ace-map-fallback h3{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){.ace-map-marker-link>span{transition:none}}
@media print{.ace-map-viewport{display:none}.ace-map-toolbar .ace-map-reset{display:none}.ace-map-map-footer{display:none}}
