/* Тёмная карта Москвы (V2): фон — отрисовка по данным OSM, метки — по широте/долготе. Все правила внутри .mmap/.mmbox/.ofmap */
.mmap{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--bd);background:#090b0e;line-height:0;isolation:isolate}
.mm-in{position:absolute}
.mm-in>img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.mm-ring{position:absolute;transform:translate(-50%,-140%) rotate(-12deg);font-family:var(--mono);font-size:9.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:#E3BE73;text-shadow:0 0 6px #000,0 0 2px #000;white-space:nowrap;pointer-events:none;opacity:.9}
.mm-city{position:absolute;transform:translate(-50%,-50%);font-family:var(--serif);font-size:26px;line-height:1;color:var(--iv);padding:7px 20px 9px;border-radius:999px;background:rgba(12,12,11,.78);border:1px solid rgba(197,155,63,.55);box-shadow:0 0 30px rgba(0,0,0,.6);white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
/* Метка: значок-здание на ножке, точка на месте объекта, табличка с подписью */
.mm-pin{--c:var(--och);--c2:#E8C878;position:absolute;width:0;height:0;z-index:2;color:var(--c)}
.mm-pin.live{--c:#79B39F;--c2:#A8DCC9}
.mm-ico{position:absolute;left:0;bottom:22px;transform:translateX(-50%);width:34px;height:34px;display:block;color:var(--c);filter:drop-shadow(0 0 8px rgba(0,0,0,.8)) drop-shadow(0 0 10px color-mix(in srgb,var(--c) 45%,transparent));transition:transform .25s}
.mm-ico svg{width:100%;height:100%;display:block}
.mm-stem{position:absolute;left:-.5px;bottom:4px;width:1px;height:20px;background:linear-gradient(var(--c2),var(--c))}
.mm-dot{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#0d0d0c;border:2px solid var(--c2);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 30%,transparent),0 0 14px var(--c)}
.mm-lbl{position:absolute;left:14px;top:0;transform:translateY(-50%);line-height:1.2;white-space:nowrap;font-size:12.5px;font-weight:500;color:var(--iv);padding:6px 11px;border-radius:9px;background:rgba(14,14,12,.86);border:1px solid rgba(239,233,222,.28);box-shadow:0 4px 18px rgba(0,0,0,.5)}
.mm-tip{position:absolute;left:50%;bottom:64px;transform:translate(-50%,4px);white-space:nowrap;line-height:1.3;font-size:12px;color:var(--iv);background:rgba(14,14,12,.94);border:1px solid var(--bd2);border-radius:9px;padding:6px 10px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
a.mm-pin:hover,a.mm-pin:focus-visible,a.mm-pin.is-hl{z-index:4;outline:none}
a.mm-pin:hover .mm-ico,a.mm-pin:focus-visible .mm-ico,a.mm-pin.is-hl .mm-ico{transform:translateX(-50%) translateY(-4px) scale(1.12)}
a.mm-pin:hover .mm-lbl,a.mm-pin:focus-visible .mm-lbl,a.mm-pin.is-hl .mm-lbl{border-color:var(--c)}
a.mm-pin:hover .mm-tip,a.mm-pin:focus-visible .mm-tip,a.mm-pin.is-hl .mm-tip{opacity:1;transform:translate(-50%,0)}
/* Мини-карта на странице объекта */
.mm-mini .mmap{margin-top:12px}
.mm-mini .mm-ico{width:40px;height:40px}
/* Блок «Объекты на карте» */
.mmbox{margin-top:14px;background:#0f0f0e;border:1px solid var(--bd);border-radius:24px;padding:36px 40px;position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(240px,.8fr) 1.7fr;grid-template-areas:"head stage" "list stage";grid-template-rows:auto 1fr;column-gap:44px;row-gap:22px;align-items:start}
.mm-head{grid-area:head}
.mm-head .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--och)}
.mm-head h4{font-size:36px;font-weight:500;line-height:1.05;margin-top:12px}
.mm-head h4 em{font-style:italic;color:var(--och)}
.mm-head p{font-size:13.5px;color:var(--mut);margin-top:10px}
.mm-list{grid-area:list}
.mm-list ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.mm-list a{display:flex;gap:14px;align-items:flex-start;padding:10px 12px;margin:0 -12px;border-radius:14px;color:#E2DBCF;font-size:14px;line-height:1.35;transition:background .2s,color .2s}
.mm-list a small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--mut);margin-top:3px;text-transform:uppercase}
.mm-list a:hover,.mm-list a.is-hl,.mm-list a:focus-visible{background:rgba(197,155,63,.10);color:var(--iv)}
.mmbox i{flex:0 0 9px;width:9px;height:9px;border-radius:50%;display:inline-block;margin-top:5px}
.mmbox i.done{background:var(--och);box-shadow:0 0 0 3px rgba(197,155,63,.16)}
.mmbox i.live{background:#79B39F;box-shadow:0 0 0 3px rgba(110,156,140,.2)}
.mm-legend{display:flex;gap:18px;margin-top:18px;padding-top:14px;border-top:1px solid var(--bd);font-size:11.5px;color:var(--mut)}
.mm-legend i{margin:0 7px 0 0;vertical-align:-1px}
.mm-stage{grid-area:stage;align-self:center}
/* Карта офиса в карточке контактов */
.ofmap{position:relative;z-index:1;margin-top:28px}
.ofmap .mmap{border-color:rgba(197,155,63,.25)}
.mm-office{position:absolute;left:0;bottom:6px;transform:translateX(-50%);width:clamp(130px,34cqw,200px);height:auto;max-width:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.75));pointer-events:none}
.ofmap .mmap{container-type:inline-size}
.mm-pin.office{--c:var(--och);--c2:#F3D58E}
.mm-pin.office .mm-stem{height:8px}
.mm-pin.office .mm-lbl{top:auto;bottom:-14px;transform:none;left:12px;font-size:11.5px}
.ofroute{position:absolute;right:12px;top:12px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(14,14,12,.85);border:1px solid rgba(197,155,63,.55);color:var(--iv);font-size:13px;font-weight:600;line-height:1.2;transition:background .2s,color .2s}
.ofroute:hover{background:var(--och);color:#141412}
@media (max-width:1100px){.mmbox{grid-template-columns:1fr;grid-template-areas:"head" "stage" "list";column-gap:0}}
@media (max-width:767px){
  .mmbox{padding:24px 16px}
  .mm-head h4{font-size:30px}
  .mmap.full .mm-lbl,.mmap.full .mm-ring:not(:first-of-type){display:none}
  .mmap.full .mm-ico{width:26px;height:26px;bottom:18px}
  .mmap.full .mm-stem{height:15px}
  .mmap.full .mm-city{display:none}
  .mm-tip{font-size:11px;white-space:normal;width:max-content;max-width:170px}
  .ofroute{font-size:12px;padding:7px 12px}
}
.mm-attr{position:absolute;left:8px;bottom:6px;z-index:3;font-size:9px;line-height:1.2;color:rgba(239,233,222,.45);pointer-events:none}
