.px-scene,.px-map{--px-ink:var(--sx-ink, var(--sp-accent-ink, #81c5c9));--px-teal:#81c5c9;--px-berry:#d48aaf;--px-text:#eaf2ef;--px-muted:#a3b7b8;--px-rule:var(--sx-rule, rgba(255, 255, 255, .08));--px-rule-strong:var(--sx-rule-strong, rgba(255, 255, 255, .16));--px-plate:var(--sx-plate, #0e131b);--px-mono:var(--sx-mono, var(--font-mono, ui-monospace, monospace));--px-radius:var(--sx-radius, 4px)}.px-scene{position:relative;margin:0;border:1px solid var(--px-rule-strong);border-radius:var(--px-radius);background:linear-gradient(var(--px-rule) 1px,transparent 1px)0 0/100% 2rem,var(--px-plate);box-shadow:inset 0 1px rgba(255,255,255,4%),0 40px 80px -48px rgba(0,0,0,.9);color:var(--px-text);isolation:isolate}.px-scene::before,.px-scene::after{content:'';position:absolute;width:12px;height:12px;border:solid var(--px-ink);opacity:.7;pointer-events:none}.px-scene::before{top:-1px;left:-1px;border-width:1px 0 0 1px}.px-scene::after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}.px-label{margin:0;font-family:var(--px-mono);font-size:.6875rem;font-weight:600;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--px-muted)}.px-pause{position:absolute;right:.6rem;bottom:.6rem;z-index:3;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 .85rem;border:1px solid var(--px-rule-strong);border-radius:999px;background:rgba(9,12,18,.88);color:var(--px-text);font-family:var(--px-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.px-pause:hover{border-color:var(--px-ink)}.px-pause:focus-visible{outline:2px solid var(--px-ink);outline-offset:3px}.px-pause__icon{position:relative;width:10px;height:10px;border-left:3px solid;border-right:3px solid}.px-pause.is-paused .px-pause__icon{width:0;height:0;border-style:solid;border-width:5px 0 5px 9px;border-color:transparent transparent transparent initial}.px-target{scroll-margin-top:7rem;transition:box-shadow .2s ease}.px-target.px-hit,.px-target:target{box-shadow:inset 0 0 0 1px var(--sx-ink,#81c5c9),0 0 0 1px var(--sx-ink,#81c5c9)}.px-map{margin:0}.px-map__plate{position:relative;border:1px solid var(--px-rule-strong);border-radius:var(--px-radius);background:radial-gradient(70% 80% at 45% 60%,rgba(131,52,103,.14),transparent 70%),var(--px-plate);overflow:hidden}.px-map__svg{display:block;width:100%;height:auto;aspect-ratio:980/300}.px-map__plate .px-pause{position:static;display:flex;width:max-content;margin:0 .6rem .6rem auto}.px-map__dotgrid{fill:rgba(255,255,255,7%)}.px-map__graticule line{stroke:rgba(255,255,255,6%);stroke-width:1;stroke-dasharray:2 6}.px-map__graticule text{font:500 15px var(--px-mono);fill:rgba(241,245,249,.32);letter-spacing:.04em}.px-map__land{fill:rgba(131,52,103,.12);stroke:var(--px-ink);stroke-width:2.2;stroke-linejoin:round}.px-map__arc{fill:none;stroke:var(--px-teal);stroke-width:2.4;stroke-dasharray:2 9;stroke-linecap:round;opacity:.55;transition:opacity .25s ease,stroke-width .25s ease}.px-map__arc.is-focus,.px-map__arc.is-active{opacity:1;stroke-width:3.2}.px-map__datum{fill:none;stroke:var(--px-teal);stroke-width:2.5}.px-map__halo{fill:rgba(192,96,144,0);transition:fill .25s ease}.px-map__dot{fill:#c06090;stroke:#f1f5f9;stroke-width:2.5}.px-map__pin text{font:600 24px var(--font-body,'DM Sans',system-ui,sans-serif);fill:rgba(241,245,249,.78);paint-order:stroke;stroke:var(--px-plate);stroke-width:6px;stroke-linejoin:round}.px-map__pin.is-base .px-map__dot{fill:var(--px-teal)}.px-map__pin.is-active .px-map__halo,.px-map__pin.is-focus .px-map__halo{fill:rgba(192,96,144,.3)}.px-map__pin.is-active text,.px-map__pin.is-focus text{fill:#fff}.px-map--focus .px-map__pin:not(.is-focus):not(.is-base){opacity:.55}.px-map--focus .px-map__pin.is-focus text{font-size:30px}.px-map__pulse{fill:none;stroke:rgba(192,96,144,.7);stroke-width:2.5;transform-box:fill-box;transform-origin:center;opacity:.45}.px-map.is-running .px-map__pulse{animation:px-map-pulse 2.8s cubic-bezier(.16,1,.3,1)infinite}.px-map.is-paused .px-map__pulse{animation-play-state:paused}@keyframes px-map-pulse{0%{transform:scale(.5);opacity:.9}100%{transform:scale(2);opacity:0}}.px-map__train{fill:#f1f5f9;stroke:var(--px-teal);stroke-width:3}.px-map__caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1rem;margin-top:.7rem;font-size:.8125rem;line-height:1.45;color:var(--px-muted)}.px-map__title{font-family:var(--font-display,'Bricolage Grotesque',system-ui,sans-serif);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:#f1f5f9}.px-map__meta,.px-map__coords-label{font-family:var(--px-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase}.px-map__coords{font-family:var(--px-mono);font-size:.75rem;color:var(--px-text)}.px-map__coords-label{color:var(--px-muted);margin-right:.35rem}.px-map__legend{display:inline-flex;flex-wrap:wrap;gap:.3rem 1rem;flex-basis:100%}.px-map__key{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--px-mono);font-size:.6875rem;letter-spacing:.06em}.px-map__key::before{content:'';flex:none}.px-map__key--base::before{width:9px;height:9px;border:2px solid var(--px-teal);transform:rotate(45deg)}.px-map__key--rail::before{width:22px;border-top:2px dotted var(--px-teal)}.px-map__readout{flex-basis:100%;min-height:2.9em;padding-top:.55rem;border-top:1px solid var(--px-rule);color:var(--px-text)}.px-map__readout strong{color:#fff;margin-right:.5rem}@media(prefers-reduced-motion:reduce){.px-map__arc,.px-map__halo{transition:none}}@media(forced-colors:active){.px-scene::before,.px-scene::after{border-color:CanvasText}.px-map__land,.px-map__arc,.px-map__datum{stroke:CanvasText}.px-map__land{fill:none}.px-map__dot{fill:CanvasText;stroke:Canvas}.px-map__pin text{fill:CanvasText;stroke:Canvas}.px-map__graticule,.px-map__pulse,.px-map__train{display:none}.px-pause{border-color:ButtonText;color:ButtonText;background:ButtonFace}}@media print{.px-pause,.px-map__train{display:none!important}}.service-experience .sp-hero__aside:is(.px-scene,.fcity-locator){display:block;animation-name:sp-fade-up}@media(prefers-reduced-motion:reduce){.service-experience .sp-hero__aside:is(.px-scene,.fcity-locator){animation:none;opacity:1}}