/* SergTech Electric LLC - /project-map/ only (loaded on that page alone). Dark theme, yellow pins. */
.pm{position:relative;background:#0C1017;border:1px solid var(--gray)}
.pm-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;background:var(--dark2);border-bottom:1px solid var(--gray)}
.pm-bar[hidden],.pm-zoom[hidden],.pm-show[hidden]{display:none}
.pm-lbl{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.pm-views{display:flex;flex-wrap:wrap;gap:8px}
.pm-btn{min-height:44px;min-width:44px;padding:0 16px;background:var(--dark3);color:var(--white);border:1px solid var(--gray2);font-family:var(--hf);font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;line-height:1}
.pm-btn:hover{border-color:var(--yellow);color:var(--yellow)}
.pm-btn[aria-pressed="true"]{background:var(--yellow);border-color:var(--yellow);color:var(--dark)}
.pm-btn[aria-disabled="true"]{opacity:.4;cursor:default}
.pm-btn[aria-disabled="true"]:hover{border-color:var(--gray2);color:var(--white)}
.pm-stage{position:relative}
.pm-zoom{position:absolute;top:12px;right:12px;z-index:5;display:flex;flex-direction:column;gap:6px}
.pm-zoom .pm-btn{width:44px;padding:0;font-size:24px;font-weight:600;background:rgba(17,22,32,.92)}
.pm-view{position:relative;height:clamp(420px,52vw,620px);overflow:hidden;overflow:clip;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(ellipse at 70% 55%,#121a28 0%,#0C1017 70%)}
.pm-js .pm-view{cursor:grab}
.pm-js .pm-view.pm-drag{cursor:grabbing}
.pm-view:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}
.pm-svg{display:block;width:100%;height:100%;max-width:none}
.pm-land{fill:#1A2131;stroke:#55637A;stroke-width:1;vector-effect:non-scaling-stroke}
.pm-states{fill:none;stroke:#46536A;stroke-width:.8;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.pm-nc{fill:#25304A}
.pm-counties{fill:none;stroke:rgba(186,198,218,.17);stroke-width:.6;vector-effect:non-scaling-stroke}
.pm-ncline{fill:none;stroke:rgba(245,197,24,.55);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.pm-dots circle{fill:var(--yellow);stroke:var(--dark);stroke-width:1}
.pm-js .pm-dots{display:none}
.pm-pins{position:absolute;inset:0;pointer-events:none}
.pm-pin{position:absolute;left:0;top:0;width:44px;height:46px;margin:-46px 0 0 -22px;padding:0 0 2px;background:none;border:0;display:flex;align-items:flex-end;justify-content:center;cursor:pointer;pointer-events:auto;color:var(--dark)}
.pm-pin svg{display:block;width:28px;height:38px;max-width:none;transform-origin:50% 100%;transition:transform .15s;filter:drop-shadow(0 2px 3px rgba(0,0,0,.65))}
.pm-pin:hover svg,.pm-pin:focus-visible svg,.pm-pin[aria-expanded="true"] svg{transform:scale(1.15)}
.pm-pin:focus-visible{outline:3px solid #fff;outline-offset:0}
.pm-cluster svg{width:32px;height:43px}
.pm-cluster text{font:800 11px var(--hf);fill:var(--dark)}
.pm-tip{position:absolute;left:38px;top:4px;white-space:nowrap;background:rgba(10,13,18,.94);color:var(--white);border:1px solid var(--gray2);font-size:13px;font-weight:700;padding:3px 8px;pointer-events:none;opacity:0;transition:opacity .15s}
.pm-pin:hover .pm-tip,.pm-pin:focus-visible .pm-tip{opacity:1}
.pm-pin[aria-expanded="true"] .pm-tip{opacity:0}
.pm-pop{position:absolute;left:0;top:0;z-index:6;width:min(300px,calc(100% - 12px));background:var(--dark);border:1px solid var(--yellow);box-shadow:0 14px 32px rgba(0,0,0,.65);padding:14px 46px 14px 16px;color:var(--white);cursor:auto;user-select:text;-webkit-user-select:text}
.pm-pop[hidden]{display:none}
.pm-pop:focus{outline:none}
.pm-pop:focus-visible{outline:3px solid #fff;outline-offset:2px}
.pm-pop p+p{margin-top:4px}
.pm-pop-n{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.pm-pop-item+.pm-pop-item{margin-top:12px;padding-top:12px;border-top:1px solid var(--gray)}
.pm-pop-city{font-weight:800;font-size:16px;letter-spacing:.5px;text-transform:uppercase;color:var(--yellow)}
.pm-pop-label{color:var(--light);font-size:15px;line-height:1.45}
.pm-pop .more{display:inline-block;margin-top:8px;font-weight:700;font-size:15px;padding:4px 0}
.pm-close{position:absolute;top:2px;right:2px;width:44px;height:44px;background:none;border:0;color:var(--light);font-size:28px;line-height:1;cursor:pointer}
.pm-close:hover{color:var(--yellow)}
.pm-hint{font-size:14px;color:var(--muted);padding:10px 14px;border-top:1px solid var(--gray);background:var(--dark2)}
.pm-section{padding-top:48px}
.pm-credit{margin-top:12px}
.pm-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.pm-item{background:var(--dark3);border-left:3px solid var(--yellow);padding:18px 20px;display:flex;flex-direction:column}
.pm-item h3{font-size:18px;font-weight:800;letter-spacing:.5px;line-height:1.2}
.pm-item p{color:var(--light);font-size:16px;margin-top:6px}
.pm-item .pm-item-act{margin-top:auto;padding-top:12px}
.pm-pop-also{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.12)}
.pm-item .pm-also{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12)}
.pm-item-act{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:12px}
.pm-item .more{font-weight:700;font-size:15px}
.pm-show{min-height:44px;padding:0 14px;background:none;border:1px solid var(--gray2);color:var(--white);font-family:var(--hf);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;cursor:pointer}
.pm-show:hover{border-color:var(--yellow);color:var(--yellow)}
.pm-more{margin-top:28px;color:var(--muted)}
@media (max-width:760px){.pm-view{height:440px}.pm-section{padding-top:32px}}
@media (max-width:560px){.pm{margin:0 -20px;border-left:0;border-right:0}.pm-view{height:460px}.pm-views{gap:6px}.pm-views .pm-btn{padding:0 10px;font-size:12px;letter-spacing:.5px}.pm-bar{padding:8px 10px}.pm-lbl{display:none}}
@media (max-width:380px){.pm-view{height:440px}.pm-views{gap:4px}.pm-views .pm-btn{padding:0 7px;font-size:11.5px;letter-spacing:0}.pm-bar{padding:8px}}
@media (prefers-reduced-motion:reduce){.pm-pin svg,.pm-tip{transition:none}}
