/* Витрина проектов: карта РФ из точек, карточки, форма заявки */
.pm-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.pm-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);background:var(--surface);
  color:var(--ink);font:.85rem var(--font-body);cursor:pointer;border-radius:var(--radius);transition:border-color .2s,background .2s,opacity .2s}
.pm-chip:hover{border-color:var(--ink-soft)}
.pm-chip[aria-pressed="false"]{opacity:.55}
.pm-chip[aria-pressed="true"]{border-color:var(--ink);background:var(--surface-2)}
.pm-chip .sw{width:10px;height:10px;border-radius:50%}
.pm-chip .n{font-family:var(--font-mono);color:var(--ink-soft);font-size:.75rem}

.pm-map{position:relative;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:20px 12px 6px;overflow:hidden}
.pm-glow{position:absolute;inset:8% 22% auto;height:60%;border-radius:50%;filter:blur(70px);background:var(--brass);opacity:.10;pointer-events:none}
.pm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.pm-svg{display:block;width:100%;min-width:680px;height:auto}
.pm-dot{transition:fill .35s,opacity .35s}
.pm-pin{cursor:pointer;outline:none}
.pm-pin .core{transition:r .2s}
.pm-pin:hover .core,.pm-pin:focus-visible .core,.pm-pin.active .core{r:9.5}
.pm-pin:focus-visible .core{stroke:var(--ink)!important}
.pm-pin .ring{transform-box:fill-box;transform-origin:center;animation:pmPulse 2.4s ease-out infinite;opacity:0}
@keyframes pmPulse{0%{transform:scale(.6);opacity:.55}100%{transform:scale(2.6);opacity:0}}
.pm-pin text{font:700 9px var(--font-mono);fill:#fff;pointer-events:none}
.pm-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 8px 6px;font:.75rem var(--font-mono);color:var(--ink-soft)}
.pm-all{display:inline-flex;align-items:center;gap:6px;background:none;border:1px dashed var(--line);padding:4px 10px;color:var(--ink);font:inherit;cursor:pointer;border-radius:var(--radius)}
.pm-all[hidden]{display:none}
.pm-reset{background:none;border:0;color:var(--brass);font:inherit;cursor:pointer;padding:0}

.pm-tip{position:absolute;z-index:5;pointer-events:none;background:var(--ink);color:var(--bg);padding:10px 12px;min-width:210px;
  box-shadow:var(--shadow);font-size:.82rem;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}
.pm-tip.show{opacity:1;transform:none}
.pm-tip b{display:block;font:700 .9rem var(--font-display);margin-bottom:6px}
.pm-tip .row{display:flex;justify-content:space-between;gap:16px}
.pm-tip .row span:last-child{font-family:var(--font-mono)}

.pm-list-head{display:flex;justify-content:space-between;align-items:baseline;margin:36px 0 16px;gap:16px;flex-wrap:wrap;scroll-margin-top:90px}
.pm-list-head h3{margin:0;font-size:1.3rem}
.pm-list-head .count{font:.8rem var(--font-mono);color:var(--ink-soft)}
.pm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.pm-card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--c);padding:20px;display:flex;flex-direction:column;gap:12px;animation:pmIn .4s ease both}
@keyframes pmIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pm-card .top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.pm-card .tag{font:.72rem var(--font-mono);letter-spacing:.04em;color:var(--c);border:1px solid var(--c);padding:3px 8px}
.pm-card .badge{font:.7rem var(--font-mono);color:var(--ink-soft)}
.pm-card h4{margin:0;font:700 1.15rem var(--font-display)}
.pm-card .reg{color:var(--ink-soft);font-size:.88rem;margin-top:-6px}
.pm-card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.88rem}
.pm-card dt{color:var(--ink-soft)}
.pm-card dd{margin:0;text-align:right;font-family:var(--font-mono);font-size:.8rem}
.pm-card .deals{display:flex;flex-wrap:wrap;gap:6px}
.pm-card .deals a{font-size:.75rem;color:var(--ink);text-decoration:none;background:var(--surface-2);padding:3px 8px;border-radius:var(--radius)}
.pm-card .deals a:hover{text-decoration:underline}
.pm-card .cta{margin-top:auto;align-self:flex-start;background:none;border:0;padding:0 0 2px;color:var(--ink);font:700 .88rem var(--font-body);cursor:pointer;border-bottom:1px solid var(--brass)}
.pm-card.done{--c:var(--ink-soft)}
.pm-card.done .cta{display:none}
.pm-empty{color:var(--ink-soft);padding:20px 0}
.pm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;align-items:center}
.pm-actions p{margin:0 12px 0 0;color:var(--ink-soft);font-size:.95rem}

/* Форма заявки */
.lead-dialog{border:0;padding:0;background:transparent;max-width:min(560px,calc(100vw - 32px));width:100%;color:var(--ink)}
.lead-dialog::backdrop{background:rgba(11,22,19,.55);backdrop-filter:blur(2px)}
.lead-box{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:28px;position:relative}
.lead-box h3{margin:0 0 4px;font-size:1.35rem}
.lead-box .sub{color:var(--ink-soft);font-size:.9rem;margin:0 0 18px}
.lead-close{position:absolute;top:12px;right:12px;background:none;border:0;font-size:1.5rem;line-height:1;color:var(--ink-soft);cursor:pointer;padding:6px}
.lead-kinds{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.lead-kinds label{display:inline-flex;cursor:pointer;margin:0;text-transform:none;letter-spacing:0;font:.82rem var(--font-body);color:var(--ink)}
.lead-kinds label[hidden]{display:none}
.lead-kinds input{position:absolute;opacity:0;pointer-events:none}
.lead-kinds span{padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius)}
.lead-kinds input:checked+span{border-color:var(--ink);background:var(--surface-2)}
.lead-kinds input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}
.lead-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.lead-field>span{font:.72rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.lead-field input,.lead-field textarea{font:1rem var(--font-body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:11px 12px;width:100%}
.lead-field textarea{min-height:96px;resize:vertical}
.lead-field input:focus,.lead-field textarea:focus{outline:2px solid var(--teal);outline-offset:1px}
.lead-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lead-consent{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;color:var(--ink-soft);margin:6px 0 16px;cursor:pointer}
.lead-consent input{margin-top:3px;accent-color:var(--brass)}
.lead-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-status{font-size:.88rem;margin:12px 0 0;min-height:1.2em}
.lead-status.err{color:var(--rust)}
.lead-done{text-align:center;padding:12px 0}
.lead-done b{display:block;font:700 1.3rem var(--font-display);margin-bottom:6px}
.lead-box .btn[disabled]{opacity:.6;cursor:wait}
@media (max-width:640px){
  .pm-map{padding:14px 0 4px}
  .pm-cards{grid-template-columns:1fr}
  .lead-box{padding:22px 18px}
  .lead-row{grid-template-columns:1fr;gap:0}
}
@media (prefers-reduced-motion:reduce){.pm-pin .ring,.pm-card{animation:none}}
