/* Service Area only. Geographic paths and all other site styles are unchanged. */
#service-area .area-disclosure{max-width:none}
#service-area .nr-map[hidden]{display:none}
#service-area.nr-map-ready .area-list,#service-area.nr-map-ready .area-confirm{display:none}
#service-area .nr-map{--zone-primary:#ff742e;--zone-extended:#ddbb70;--zone-request:#9cacbe;margin-top:18px;background:#14212b;color:#f7f4ef;border:1px solid #34434e;border-radius:8px;overflow:hidden;max-width:1120px;isolation:isolate}
#service-area .nr-map *{box-sizing:border-box}
#service-area [data-zone="primary"],#service-area [data-zone-filter="primary"]{--zone-color:var(--zone-primary)}
#service-area [data-zone="extended"],#service-area [data-zone-filter="extended"]{--zone-color:var(--zone-extended)}
#service-area [data-zone="request"],#service-area [data-zone-filter="request"]{--zone-color:var(--zone-request)}
#service-area [data-zone="mixed"]{--zone-color:#c0c8cd}
#service-area .nr-map-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:28px 28px 22px}
#service-area .nr-map-eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:#ffab7b}
#service-area .nr-map-top h3{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:clamp(23px,3vw,32px);font-weight:600;line-height:1.2;letter-spacing:-.035em;margin:8px 0;color:#fff7ef}
#service-area .nr-preview-tag{font-size:10px;letter-spacing:.035em;font-weight:400;line-height:1.4;border:1px solid #56606a;border-radius:20px;padding:4px 8px;color:#c5ced5}
#service-area .nr-map-top p{font-size:14px;line-height:1.5;color:#bdc7ce;margin:0;max-width:none}
#service-area .nr-map-north{color:#b9c5cd;font-size:13px;letter-spacing:.08em;margin-top:8px;white-space:nowrap}
#service-area .nr-zone-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 28px 24px}
#service-area .nr-zone-legend button{display:flex;align-items:center;gap:10px;text-align:left;min-width:0;min-height:68px;background:#1b2b36;color:#eff1ef;border:1px solid #46515a;border-radius:5px;padding:12px;font:inherit;font-size:13px;font-weight:600;line-height:1.35;cursor:pointer;transition:background .25s,border-color .25s,box-shadow .25s}
#service-area .nr-zone-legend button:hover,#service-area .nr-zone-legend button[aria-pressed="true"]{background:#22333e;border-color:var(--zone-color);box-shadow:inset 0 -2px var(--zone-color)}
#service-area .nr-zone-legend button small{display:block;font-size:10px;line-height:1.5;font-weight:400;color:#bec7cd;margin-top:4px}
#service-area .nr-zone-dot{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:var(--zone-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--zone-color) 12%,transparent)}
#service-area [data-zone-filter="request"] .nr-zone-dot{border-radius:2px}
#service-area .nr-zone-arrow{margin-left:auto;color:var(--zone-color);font-size:18px}
#service-area .nr-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;border-top:1px solid #34434e;border-bottom:1px solid #34434e}
#service-area .nr-map-stage{position:relative;min-width:0;width:100%;overflow:hidden;background:radial-gradient(ellipse at 65% 65%,#1d303b,#111e28 75%)}
#service-area .nr-map-tools{position:absolute;inset:16px 18px auto;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2;pointer-events:none}
#service-area .nr-map-view-label{font-size:9px;letter-spacing:.14em;color:#c4cbd1;background:#14212be8;padding:6px 8px;border-radius:3px}
#service-area .nr-map-reset{pointer-events:auto;min-height:44px;padding:8px 12px;border:1px solid #61707b;border-radius:4px;background:#14212bf2;color:#eef3f3;font:inherit;font-size:12px;cursor:pointer}
#service-area .nr-map-reset:hover{border-color:#ff8b4c}
#service-area .nr-map-reset span{margin-left:8px;font-size:17px}
#service-area .nr-map-svg{display:block;width:100%;height:540px;fill:none;stroke:none;touch-action:pan-y}
#service-area .nr-counties{fill:#172832;stroke:#46545f;stroke-width:.7;stroke-dasharray:3 5}
#service-area .nr-place-base{fill:#1f303a;stroke:#394b54;stroke-width:.6}
#service-area .nr-water{fill:#25495b;stroke:#3b6276;stroke-width:.45}
#service-area .nr-road-minor{fill:none;stroke:#3b4c56;stroke-width:.65}
#service-area .nr-road-major{fill:none;stroke:#87959b;stroke-width:1.1;opacity:.55}
#service-area .nr-town-boundary{fill:var(--zone-color);fill-opacity:.16;stroke:var(--zone-color);stroke-opacity:.7;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;transition:fill-opacity .3s,stroke-opacity .3s,opacity .3s;cursor:pointer}
#service-area .nr-town-boundary[data-zone="mixed"]{fill-opacity:.035;stroke:#96a3ac;stroke-dasharray:3 5;stroke-opacity:.4}
#service-area .nr-town-boundary:is(.is-selected,.is-hovered){fill-opacity:.3;stroke-opacity:1;stroke-width:1.8}
#service-area .nr-town-boundary[data-zone="mixed"]:is(.is-selected,.is-hovered){fill-opacity:.08}
#service-area .nr-charlotte-divider{stroke:#f0d5b5;stroke-width:1.4;stroke-dasharray:5 5;vector-effect:non-scaling-stroke;opacity:.85}
#service-area .nr-uptown-reference{fill:#f0d5b5;stroke:#14212b;stroke-width:1;vector-effect:non-scaling-stroke}
#service-area .nr-uptown-label{fill:#f0d5b5;stroke:#14212b;stroke-width:4;paint-order:stroke;font:10px Arial,sans-serif;pointer-events:none}
#service-area .nr-pin[data-name="Charlotte"] .nr-pin-badge{stroke:#e8e9e4}
#service-area .nr-pin[data-name="Charlotte"] .nr-pin-letters{fill:#14212b}
#service-area .nr-pin{cursor:pointer;outline:none;transition:opacity .25s}
#service-area .nr-pin-target{fill:transparent;stroke:none}
#service-area .nr-pin-ring{fill:none;stroke:var(--zone-color);stroke-opacity:0;stroke-width:1.5}
#service-area .nr-pin-badge{fill:#14212b;stroke:var(--zone-color);stroke-width:1.4;stroke-linejoin:round;transition:fill .25s}
#service-area .nr-pin-letters{fill:var(--zone-color);font:700 7px Arial,sans-serif;letter-spacing:-.3px;text-anchor:middle;pointer-events:none;stroke:none}
#service-area .nr-pin:is(.is-selected,.is-hovered,:focus-visible) .nr-pin-badge{fill:var(--zone-color);stroke:#fff4e9}
#service-area .nr-pin:is(.is-selected,.is-hovered,:focus-visible) .nr-pin-letters{fill:#14212b}
#service-area .nr-pin:is(.is-selected,:focus-visible) .nr-pin-ring{stroke-opacity:1}
#service-area .nr-pin:focus-visible .nr-pin-ring{stroke:#fff;stroke-width:2}
#service-area .nr-town-label{fill:#eef2f2;stroke:#14212b;stroke-width:4;paint-order:stroke;stroke-linejoin:round;font:600 12px Arial,Helvetica,sans-serif;letter-spacing:.01em;cursor:pointer;transition:opacity .25s}
#service-area .nr-town-label.is-hovered,#service-area .nr-town-label.is-selected{fill:var(--zone-color)}
#service-area .nr-selected-label text{font:600 12px Arial,Helvetica,sans-serif;fill:#fff2e8;stroke:#14212b;stroke-width:5;paint-order:stroke;pointer-events:none;text-anchor:middle}
#service-area .nr-road-labels text{fill:#a8b5bc;stroke:#14212b;stroke-width:4;paint-order:stroke;font:9px Arial,sans-serif}
#service-area .nr-map-svg .is-dimmed{opacity:.25}
#service-area .nr-map-hint{position:absolute;bottom:12px;left:16px;right:16px;text-align:center;font-size:10px;color:#c3cbd1;background:#14212bd9;border-radius:3px;padding:5px 8px;margin:0;pointer-events:none;max-width:none}
#service-area .nr-map-bottom{display:flex;flex-direction:column;gap:22px;min-width:0;padding:24px 20px;background:#182630;border-left:1px solid #34434e}
#service-area .nr-map-finder{display:grid;gap:12px}
#service-area .nr-map-search,#service-area .nr-map-picker{display:grid;gap:6px;font-size:11px;color:#c4cdd4;min-width:0}
#service-area .nr-map-picker select,#service-area .nr-map-search input{width:100%;min-width:0;font:inherit;font-size:16px;min-height:44px;padding:9px 10px;background:#22343f;border:1px solid #64737e;border-radius:4px;color:#f7f4ef;color-scheme:dark}
#service-area .nr-map-search input::placeholder{color:#b0bcc5;font-size:14px}
#service-area .nr-map-picker select{cursor:pointer}
#service-area .nr-map :is(button,select,input,a):focus-visible{outline:2px solid #ffac78;outline-offset:4px}
#service-area .nr-search-status{font-size:11px;color:#d0d8dd;line-height:1.4;min-height:16px}
#service-area .nr-map-selection{display:grid;gap:9px;min-width:0}
#service-area .nr-map-kicker{font-size:10px;letter-spacing:.09em;color:#ffab7b;line-height:1.5}
#service-area .nr-map-name{font-size:clamp(24px,2.7vw,30px);font-weight:600;letter-spacing:-.035em;line-height:1.15;color:#fff7ef}
#service-area .nr-map-note{font-size:13px;line-height:1.55;color:#d0d9dd}
#service-area .nr-map-detail{font-size:12px;line-height:1.6;color:#b6c3cc}
#service-area .nr-map-zone-members{font-size:11px;line-height:1.7;color:#bdc8d0;border-left:2px solid #ff8b4c;padding-left:12px;margin:0;max-width:none}
#service-area .nr-map-foot{padding:18px 28px 20px}
#service-area p.nr-map-availability{font-size:13px;color:#dee5e8;max-width:none;margin:0 0 8px;line-height:1.6}
#service-area p.nr-zone-disclaimer{font-size:11px;line-height:1.7;color:#b6c2cb;margin:0 0 10px;max-width:none}
#service-area p.nr-map-credit{color:#afbdc7;font-size:10px;margin:0;max-width:none;line-height:1.6}
#service-area .nr-map-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){#service-area .nr-map-layout{grid-template-columns:minmax(0,1fr)}#service-area .nr-map-bottom{border-left:0;border-top:1px solid #34434e;display:grid;grid-template-columns:1fr 1fr;gap:20px}#service-area .nr-map-zone-members{grid-column:1/-1}#service-area .nr-zone-legend{padding-inline:20px;gap:7px}#service-area .nr-zone-legend button{padding:10px;font-size:12px;gap:8px}#service-area .nr-zone-arrow{display:none}}
@media(max-width:520px){#service-area .nr-map-top{padding:22px 16px 18px}#service-area .nr-map-top h3{font-size:25px}#service-area .nr-map-top p{font-size:13px}#service-area .nr-zone-legend{grid-template-columns:1fr;padding:0 16px 18px;gap:6px}#service-area .nr-zone-legend button{min-height:48px;padding:10px 12px;font-size:12px}#service-area .nr-zone-legend button small{display:none}#service-area .nr-zone-arrow{display:block}#service-area .nr-map-tools{inset:12px 12px auto}#service-area .nr-map-bottom{display:flex;gap:18px;padding:20px 16px}#service-area .nr-map-finder{grid-template-columns:1fr;gap:10px}#service-area .nr-map-name{font-size:26px}#service-area .nr-map-foot{padding:18px 16px}#service-area .nr-map-hint{font-size:10px;left:10px;right:10px}}
@media(prefers-reduced-motion:reduce){#service-area .nr-map *,#service-area .nr-map *::before,#service-area .nr-map *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
