/* Палитра по умолчанию (тема neon-night). Тема клуба переопределяет переменные в assets/theme.css (club-kit/tools/theme.py). */
:root{
--bg:#0c0920;--bg2:#150f33;--card:#1a1340;--line:color-mix(in srgb,var(--ink) 12%,transparent);--line2:color-mix(in srgb,var(--ink) 20%,transparent);
--ink:#f3f0ff;--ink2:#d6d0f5;--mut:#a79fd0;--dot:#8f7bff;
--g:#00f0a8;--m:#ff3df0;--c:#3de0ff;--y:#ffe03d;--y2:#ff9a3d;--tg:#2aa8ff;--mx:#a86bff;--ya:#c9340f;--red:#ff7a8a;
--g-hi:color-mix(in srgb,var(--g) 55%,#fff);--g-lo:color-mix(in srgb,var(--g) 75%,#000);
--on-g:#06241a;--on-m:#2a0527;--on-c:#04222a;--on-y:#2a1500;--on-tg:#04162a;--on-mx:#17062e;--on-red:#2b0410;
--glow:1;--font-d:Unbounded,Manrope,system-ui,sans-serif;--font-b:Manrope,system-ui,Segoe UI,Roboto,sans-serif;
--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
--r:20px;--rl:28px;--rb:99px;--tap:44px;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--font-b);overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-d);line-height:1.14;margin:0;font-weight:700;text-wrap:balance}
h1{font-size:clamp(32px,5.6vw,56px)}h2{font-size:clamp(24px,3.6vw,36px)}h3{font-size:18px}h4{font-size:16px}
p{margin:0 0 var(--s3);text-wrap:pretty}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--c);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:var(--s4);top:-60px;z-index:100;background:var(--g);color:var(--on-g);padding:var(--s3) var(--s4);border-radius:var(--r);font-weight:800;transition:top .15s}
.skip:focus{top:var(--s2)}
.wrap{max-width:1140px;margin:0 auto;padding:0 var(--s4)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
header{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.topbar{display:flex;align-items:center;gap:var(--s4);min-height:64px}
.logo{display:flex;align-items:center;gap:var(--s2);font:700 18px var(--font-d);flex:none}
.logo i{display:grid;place-items:center;width:32px;height:32px;border-radius:min(var(--rb),10px);background:var(--g);color:var(--on-g);font:800 17px/1 var(--font-d);font-style:normal;box-shadow:0 0 18px color-mix(in srgb,var(--g) calc(var(--glow) * 50%),transparent)}
.navd{display:flex;gap:var(--s4);margin-left:auto;font-weight:600;font-size:15px;color:var(--mut)}
.navd a{padding:var(--s2) 0}
.navd a:hover{color:var(--g-t,var(--g))}
.hact{display:flex;gap:var(--s2);align-items:center;margin-left:auto}
.navd+.hact{margin-left:0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--tap);padding:var(--s3) var(--s5);border:0;border-radius:var(--rb);
font:800 15px var(--font-b);cursor:pointer;color:var(--on-g);background:var(--g);box-shadow:0 0 22px color-mix(in srgb,var(--g) calc(var(--glow) * 47%),transparent);transition:transform .14s,box-shadow .14s,background .14s;text-align:center}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 30px color-mix(in srgb,var(--g) calc(var(--glow) * 67%),transparent)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.btn.tg{background:var(--tg);color:var(--on-tg);box-shadow:0 0 18px color-mix(in srgb,var(--tg) calc(var(--glow) * 47%),transparent)}
.btn.mx{background:var(--mx);color:var(--on-mx);box-shadow:0 0 18px color-mix(in srgb,var(--mx) calc(var(--glow) * 47%),transparent)}
.btn.ya{background:var(--ya);color:#fff;box-shadow:0 0 18px color-mix(in srgb,var(--ya) calc(var(--glow) * 47%),transparent)}
.btn.gh{background:transparent;color:var(--ink);border:1.5px solid var(--line2);box-shadow:none}
.btn.gh:hover{border-color:var(--g);box-shadow:none}
.btn.sm{min-height:40px;padding:var(--s2) var(--s4);font-size:14px;box-shadow:none}
.btn.full{width:100%}
.btn.wide{min-width:200px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:var(--s2) var(--s3);border-radius:var(--rb);border:1px solid var(--line2);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font:700 14px var(--font-b);cursor:pointer}
.chip.on{background:var(--c);color:var(--on-c);border-color:var(--c)}
.tag{display:inline-block;padding:6px var(--s3);border-radius:var(--rb);background:color-mix(in srgb,var(--g) 12%,transparent);border:1px solid color-mix(in srgb,var(--g) 47%,transparent);color:var(--g-t,var(--g));font-weight:700;font-size:14px}

/* layout */
main{display:block}
section{padding:var(--s7) 0}
.lead{color:var(--mut);max-width:620px;font-size:17px;margin:var(--s2) 0 var(--s5)}
.grid{display:grid;gap:var(--s4)}
.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:1fr 1fr}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:var(--s5)}

/* hero */
.hero{position:relative;padding:var(--s8) 0 var(--s7);background:var(--hero-bg,radial-gradient(760px 440px at 82% 14%,color-mix(in srgb,var(--mx) 33%,transparent),transparent),radial-gradient(520px 380px at 6% 92%,color-mix(in srgb,var(--g) 15%,transparent),transparent),var(--bg2));border-bottom:1px solid var(--line);overflow:hidden}
.hero h1{margin:0 0 var(--s3);max-width:760px}
.hero p{color:var(--ink2);font-size:18px;max-width:520px;margin-bottom:var(--s5)}
.hbtns{display:flex;gap:var(--s3);flex-wrap:wrap}
.stats{display:flex;gap:var(--s6);margin-top:var(--s6);flex-wrap:wrap}
.stats b{display:block;font:700 30px var(--font-d);color:var(--g-t,var(--g));font-variant-numeric:tabular-nums}
.stats span{color:var(--mut);font-size:14px}

.bubs{position:absolute;right:2%;top:50%;transform:translateY(-50%);width:400px;height:400px;pointer-events:none}
.bub{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translate(-50%,-50%);animation:fl 7s ease-in-out infinite;animation-delay:var(--d)}
.bub span{font:700 12px var(--font-b);background:color-mix(in srgb,var(--bg) 80%,transparent);border:1px solid var(--bc);color:var(--ink);padding:2px 10px;border-radius:var(--rb);white-space:nowrap}
@keyframes fl{50%{transform:translate(-50%,-62%)}}
@media(max-width:900px){.bubs{display:none}}
/* services */
.svc{background:var(--card);border:2px solid var(--col);border-radius:var(--rl);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s2);box-shadow:0 0 28px color-mix(in srgb,var(--col) 26%,transparent)}
.svc h3{margin-top:var(--s2)}
.svc .price{font:700 32px var(--font-d);line-height:1.1}
.svc .once{color:var(--mut);font-size:14px;margin:0}
.svc ul{margin:var(--s2) 0 var(--s3);padding-left:18px;color:var(--ink2);font-size:14px;flex:1}
.svc li{margin-bottom:var(--s1)}
.svc .back{color:var(--mut);font-size:13px;margin:var(--s2) 0 0;text-align:center}
.chatrow{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);margin-top:var(--s4)}
.cr{display:flex;gap:var(--s3);align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--s3)}
.cr b{display:block;font-size:13px;line-height:1.3;margin-bottom:2px}.cr span{color:var(--mut);font-size:12px}

.cr img{width:76px;height:76px;object-fit:cover;border-radius:50%;flex:none;border:2px solid var(--line2)}
.lnkrow img{width:34px;height:34px;object-fit:cover;border-radius:50%;flex:none}
/* map */
#map{background:var(--bg2)}
.mapbar{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;margin-bottom:var(--s3)}
.pins{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s3)}
.mfilters{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;margin-bottom:var(--s3)}
.mfilters select,.mfilters input{min-height:var(--tap);background:var(--card);color:var(--ink);border:1.5px solid var(--line2);border-radius:14px;padding:var(--s2) var(--s3);font:inherit}
.mfilters input{flex:1;min-width:220px}
.mfilters select:focus,.mfilters input:focus{border-color:var(--c)}
.mcount{color:var(--mut);font-size:14px;font-weight:700}
@media(max-width:760px){.mfilters>*{width:100%}.mfilters .btn{width:100%}}
.mgrid{display:grid;grid-template-columns:300px 1fr;gap:var(--s3);height:560px}
.mlist{overflow:auto;display:flex;flex-direction:column;gap:var(--s2)}
.mitem{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--s3);text-align:left;color:var(--ink);font:inherit;cursor:pointer;min-height:var(--tap)}
.mitem:hover{border-color:var(--c)}
.mitem b{display:block;font-size:14px}.mitem span{color:var(--mut);font-size:13px}
.mapbox{position:relative}
.leafletbox{height:100%;border-radius:var(--rl);border:1px solid var(--line2);background:var(--bg2) linear-gradient(color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px) 0 0/48px 48px}
.mapmsg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:500;background:color-mix(in srgb,var(--bg) 90%,transparent);border:1px solid var(--line2);border-radius:var(--r);padding:var(--s3) var(--s4);color:var(--mut);font-size:14px;text-align:center;max-width:80%}
.zoom{position:absolute;right:var(--s3);top:var(--s3);z-index:520;display:flex;flex-direction:column;gap:6px}
.zoom button{width:var(--tap);height:var(--tap);border-radius:50%;border:1px solid var(--line2);background:color-mix(in srgb,var(--bg) 90%,transparent);color:var(--ink);font:700 22px var(--font-b);cursor:pointer}
.attr{position:absolute;left:var(--s3);bottom:var(--s2);z-index:520;font-size:12px;background:color-mix(in srgb,var(--bg) 80%,transparent);padding:2px var(--s2);border-radius:var(--rb);color:var(--mut)}
.attr a{text-decoration:underline}
#map.fs{position:fixed;inset:0;z-index:70;overflow:auto;padding:var(--s3) 0;background:var(--bg2)}
#map.fs .nofs{display:none}
#map.fs .mgrid{height:calc(100vh - 170px);min-height:380px}
.onlyfs{display:none}
#map.fs .onlyfs{display:inline-flex}
.mk{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:19px;background:var(--bg);border:3px solid var(--col);box-shadow:0 0 0 4px color-mix(in srgb,var(--col) 22%,transparent),0 0 16px var(--col)}
.mk.pend{border-style:dashed}

/* leaflet core */
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-layer{position:absolute;left:0;top:0}
.leaflet-container{overflow:hidden;touch-action:none;outline:0}
.leaflet-tile{visibility:hidden;filter:invert(1) hue-rotate(185deg) brightness(.78) saturate(.7);user-select:none}
.leaflet-tile-loaded{visibility:inherit}
.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-marker-pane{z-index:600}.leaflet-popup-pane{z-index:700}
.leaflet-tile,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-popup{pointer-events:auto}
.leaflet-zoom-animated{transform-origin:0 0}
.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}
.leaflet-zoom-anim .leaflet-tile{transition:none}
.leaflet-popup{position:absolute;margin-bottom:20px}
.leaflet-popup-content-wrapper{background:var(--bg);color:var(--ink);border:1px solid var(--c);border-radius:var(--r);box-shadow:0 0 24px color-mix(in srgb,var(--c) calc(var(--glow) * 33%),transparent)}
.leaflet-popup-content{margin:var(--s3) var(--s4);font-size:14px;min-width:190px}
.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}
.leaflet-popup-tip{width:16px;height:16px;margin:-9px auto 0;transform:rotate(45deg);background:var(--bg);border:1px solid var(--c)}
.leaflet-container.picking{cursor:crosshair}

/* blog, about, steps, faq */
.post small{color:var(--mut);font-size:13px}
.post h3{margin:var(--s2) 0}
.post p{color:var(--ink2);font-size:14px}
.ad{display:inline-block;font-size:12px;font-weight:800;color:var(--y-t,var(--y));border:1px solid var(--y);border-radius:var(--rb);padding:1px var(--s2);margin-left:6px}
.about{display:grid;grid-template-columns:300px 1fr;gap:var(--s7);align-items:center}
.about img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:var(--rl);border:3px solid var(--g);box-shadow:0 0 40px color-mix(in srgb,var(--g) calc(var(--glow) * 33%),transparent)}
.about p{color:var(--ink2);font-size:17px}
.note{background:var(--card);border:1px solid var(--c);border-radius:var(--r);padding:var(--s4);box-shadow:0 0 24px color-mix(in srgb,var(--c) calc(var(--glow) * 18%),transparent);margin:var(--s3) 0 var(--s4)}
.note b{display:block;color:var(--c-t,var(--c));margin-bottom:var(--s1)}
.sig{color:var(--mut);font-size:15px}.sig a{color:var(--g-t,var(--g));text-decoration:underline}
.about p b{color:var(--ink)}
.road-h{font-size:18px;margin:var(--s5) 0 var(--s3)}
.road-sub{color:var(--mut);font-size:15px;margin-bottom:var(--s3)}
.road-done{list-style:none;margin:0 0 var(--s2);padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}
.road-done li{display:inline-flex;align-items:center;gap:var(--s2);padding:6px 14px;border-radius:var(--rb);border:1px solid color-mix(in srgb,var(--g) 33%,transparent);background:color-mix(in srgb,var(--g) 8%,transparent);font-weight:700;font-size:14px;color:var(--ink)}
.road-done li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--g);box-shadow:0 0 8px var(--g);flex:none}
.road-done a:hover{color:var(--g-t,var(--g))}
.road{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--s3);margin-bottom:var(--s3)}
.road-c{position:relative;display:flex;flex-direction:column;gap:var(--s1);padding:var(--s4);border-radius:var(--r);background:var(--card);border:1px dashed var(--line2);transition:border-color .15s,transform .15s}
.road-c:hover{border-color:var(--m);transform:translateY(-2px)}
.road-c i{font-style:normal;font-size:26px;line-height:1;margin-bottom:var(--s1)}
.road-c b{font:700 15px/1.25 var(--font-b);color:var(--ink)}
.road-c span{color:var(--mut);font-size:14px;line-height:1.45}
.road-c::after{content:"в планах";position:absolute;top:var(--s3);right:var(--s3);font:800 11px var(--font-b);letter-spacing:.05em;text-transform:uppercase;color:var(--m-t,var(--m));opacity:.9}
.road-note{color:var(--mut);font-size:14px;margin:0 0 var(--s3)}
.step b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--g);color:var(--on-g);font:700 17px var(--font-d);box-shadow:0 0 16px var(--g);margin-bottom:var(--s3)}
.step p{margin:var(--s2) 0 0;color:var(--ink2);font-size:14px}
details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);margin-bottom:var(--s2)}
summary{cursor:pointer;font-weight:800;min-height:var(--tap);display:flex;align-items:center}
details p{margin:var(--s3) 0 0;color:var(--ink2)}
footer{padding:var(--s6) 0 var(--s8);border-top:1px solid var(--line);color:var(--mut);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
footer a{text-decoration:underline}

/* bottom nav + install */
.bnav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:65;background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0)}
.bnav ul{display:flex;margin:0;padding:0;list-style:none}
.bnav a{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;padding:var(--s2) 2px;color:var(--mut);font-size:10px;line-height:1.1;font-weight:700;text-align:center;overflow:hidden}
.bnav a svg{width:22px;height:22px}
.bnav a.on{color:var(--g-t,var(--g))}
.instbar{display:none;position:fixed;left:var(--s3);right:var(--s3);bottom:70px;z-index:66;background:var(--card);border:1px solid var(--g);border-radius:var(--r);padding:var(--s3);box-shadow:0 0 30px color-mix(in srgb,var(--g) calc(var(--glow) * 27%),transparent);align-items:center;gap:var(--s3)}
.instbar p{margin:0;font-size:13px;flex:1}
.instbar b{display:block;font-size:14px}

/* modal */
.ov{position:fixed;inset:0;z-index:90;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:var(--s3)}
.ov.on{display:flex}
.dlg{background:var(--bg2);border:1px solid var(--g);border-radius:var(--rl);padding:var(--s5);width:100%;max-width:470px;max-height:92vh;overflow:auto;box-shadow:0 0 50px color-mix(in srgb,var(--g) calc(var(--glow) * 27%),transparent)}
.dlg.wide{max-width:620px}
.dlg h3{margin-bottom:var(--s2)}
.dlg>p{color:var(--mut);font-size:14px}
.steps3{display:flex;gap:6px;margin-bottom:var(--s3)}
.steps3 i{height:4px;flex:1;border-radius:2px;background:var(--line2)}
.steps3 i.on{background:var(--g)}
.stepnum{color:var(--mut);font-size:13px;font-weight:700;margin-bottom:var(--s2)}

/* forms */
.field{margin-bottom:var(--s3)}
.field>label,.flabel{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;min-height:var(--tap);background:var(--bg);color:var(--ink);border:1.5px solid var(--line2);border-radius:14px;padding:var(--s3);font:inherit}
.field textarea{min-height:76px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--c)}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--red)}
.field .err{display:none;color:var(--red-t,var(--red));font-size:13px;margin-top:6px;font-weight:700}
.field.bad .err{display:block}
.hint{color:var(--mut);font-size:13px;margin:0 0 var(--s3)}
.check{display:flex;gap:var(--s2);align-items:flex-start;font-size:14px;font-weight:400}
.check input{width:22px;height:22px;min-height:22px;flex:none;margin-top:1px;accent-color:var(--g)}
.check a{color:var(--g-t,var(--g));text-decoration:underline}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
form{margin:0}
.pwwrap{position:relative}
.pwwrap .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:38px;padding:0 var(--s3);background:transparent;border:0;color:var(--mut);font:700 13px var(--font-b);cursor:pointer}

/* payment */
.paybox{background:var(--bg);border:1.5px dashed var(--g);border-radius:var(--r);padding:var(--s4);text-align:center;margin-bottom:var(--s3)}
.paybox .num{font:700 22px/1.2 var(--font-b);letter-spacing:.5px;word-break:break-all}
.paybox .sum{font:700 30px var(--font-d);color:var(--g-t,var(--g))}
.trust{background:color-mix(in srgb,var(--ink) 3%,transparent);border:1px solid var(--line2);border-radius:var(--r);padding:var(--s3) var(--s4);margin-bottom:var(--s3);font-size:13px;color:var(--ink2)}
.trust div{display:flex;gap:var(--s2);margin-bottom:6px}
.trust div:last-child{margin-bottom:0}
.trust b{color:var(--ink)}
.filebtn{display:flex;align-items:center;justify-content:center;min-height:var(--tap);border:1.5px dashed var(--line2);border-radius:14px;cursor:pointer;font-weight:700;margin-bottom:var(--s2)}
.filebtn:hover{border-color:var(--g)}
.okline{color:var(--g-t,var(--g));font-weight:800;font-size:14px;margin:0 0 var(--s3)}

/* tables / cabinet / admin */
#panel{position:fixed;inset:0;z-index:80;background:var(--bg);display:none;overflow:auto}
#panel.on{display:block}
.phead{position:sticky;top:0;z-index:3;background:var(--bg);border-bottom:1px solid var(--line);padding:var(--s3) var(--s4);display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs button{min-height:var(--tap);padding:var(--s2) var(--s4);border-radius:var(--rb);border:1px solid var(--line2);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font:700 14px var(--font-b);cursor:pointer}
.tabs button.on{background:var(--g);color:var(--on-g);border-color:var(--g)}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);margin-bottom:var(--s4)}
.kpi div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4)}
.kpi b{display:block;font:700 22px var(--font-d);color:var(--g-t,var(--g))}
.kpi span{color:var(--mut);font-size:13px}
.panelbar{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap;margin-bottom:var(--s3)}
.panelbar input,.panelbar select{min-height:var(--tap);background:var(--card);color:var(--ink);border:1.5px solid var(--line2);border-radius:14px;padding:var(--s2) var(--s3);font:inherit}
.tw{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:var(--s3);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
th{color:var(--mut);font-size:13px;font-weight:700}
tr:last-child td{border-bottom:0}
.empty{padding:var(--s6) var(--s4);text-align:center;color:var(--mut)}
.empty b{display:block;color:var(--ink);font-size:16px;margin-bottom:6px;font-family:var(--font-d)}
.st{display:inline-block;padding:3px var(--s3);border-radius:var(--rb);font-size:12px;font-weight:800}
.s-ok{background:color-mix(in srgb,var(--g) 15%,transparent);color:var(--g-t,var(--g))}.s-w{background:color-mix(in srgb,var(--y) 15%,transparent);color:var(--y-t,var(--y))}.s-r{background:color-mix(in srgb,var(--m) 15%,transparent);color:var(--m-t,var(--m))}.s-n{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--mut)}
.block{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);margin-bottom:var(--s4)}
.block>b{display:block;margin-bottom:var(--s2)}
.lnkrow{display:flex;align-items:center;gap:var(--s3);background:var(--bg);border:1px solid var(--line2);border-radius:14px;padding:var(--s2) var(--s3);margin-bottom:var(--s2);font-size:14px;flex-wrap:wrap}
.lnkrow .ok{color:var(--g-t,var(--g));font-weight:800;margin-left:auto}
.toast{position:fixed;left:50%;bottom:var(--s5);transform:translateX(-50%) translateY(20px);z-index:120;background:var(--card);border:1px solid var(--g);border-radius:var(--rb);padding:var(--s3) var(--s5);font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 0 28px color-mix(in srgb,var(--g) calc(var(--glow) * 33%),transparent)}
.toast.on{opacity:1;transform:translateX(-50%)}

@media(max-width:1024px){.g4{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr}.chatrow{grid-template-columns:1fr 1fr}.kpi{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
.navd{display:none}
#installBtn{display:none}
.bnav{display:block}
body{padding-bottom:62px}
.g4,.g2,.chatrow,.row2{grid-template-columns:1fr}
.about{grid-template-columns:1fr;gap:var(--s5)}
.about img{max-width:240px}
.mgrid{grid-template-columns:1fr;height:auto}
.mlist{max-height:188px;order:2}
.leafletbox{height:64vh}
#map.fs .mgrid{height:auto}
section{padding:var(--s6) 0}
.hero{padding:var(--s6) 0 var(--s5)}
.stats{gap:var(--s4)}
.dlg{padding:var(--s4);max-height:94vh}
.btn{width:100%}
.hbtns .btn{width:auto;flex:1;min-width:140px}
.topbar .btn,.topbar .chip{width:auto}
.tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
.tabs button{flex:none}
th,td{white-space:normal}
}
/* меньше движения: без перемещений и циклов, но смена цвета и прозрачности остаётся — это обратная связь */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-property:opacity,color,background-color,border-color,outline-color,box-shadow!important;transition-duration:.15s!important;transition-delay:0s!important}}
/* --- совместимость внутренних страниц --- */
header{position:sticky;top:0;z-index:40}
.post a.more{color:var(--c-t,var(--c));font-weight:700;text-decoration:none}
.w{max-width:1140px;margin:0 auto;padding:0 var(--s4)}
form.panel select{background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:12px;padding:10px 12px;color:var(--ink);font:400 15px var(--font-b)}
form.panel select option{background:var(--card);color:var(--ink)}
.post .pmeta{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s3)}
.pager{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s6)}
.pager a,.pager span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--rb);border:1.5px solid var(--line2);text-decoration:none;font-weight:700;padding:0 var(--s3)}
.pager span.on{background:var(--g);color:var(--on-g);border-color:var(--g)}
.prose{color:var(--ink2);font-size:17px;line-height:1.75}
.prose p{margin:0 0 var(--s4)}
.prose h2{font-size:26px;margin:var(--s6) 0 var(--s3);color:var(--ink)}
.prose h3{font-size:20px;margin:var(--s5) 0 var(--s2);color:var(--ink)}
.prose ul{margin:0 0 var(--s4);padding-left:var(--s5)}
.prose li{margin-bottom:var(--s2)}

/* --- виджет бота --- */
.tgw{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.tgw.hb{bottom:88px}
@media(min-width:760px){.tgw.hb{bottom:20px}}
.tgw-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border:0;border-radius:var(--rb);background:var(--tg);color:var(--on-tg);font:700 15px var(--font-b);cursor:pointer;box-shadow:0 0 22px color-mix(in srgb,var(--tg) calc(var(--glow) * 60%),transparent)}
.tgw-btn:hover{transform:translateY(-1px)}
.tgw-panel{width:min(300px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line2);border-radius:20px;padding:var(--s4);box-shadow:0 10px 40px #000a}
.tgw-panel[hidden]{display:none}
.tgw-panel p{margin:var(--s2) 0 var(--s3);color:var(--mut);font-size:14px}
.tgw-panel a{display:block;padding:11px 14px;margin-top:6px;border-radius:12px;background:color-mix(in srgb,var(--ink) 6%,transparent);text-decoration:none;font-weight:700;font-size:14px}
.tgw-panel a:hover{background:var(--tg);color:var(--on-tg)}
@media(max-width:600px){.tgw-btn span{display:none}.tgw-btn{width:52px;padding:0;justify-content:center}}
.svc .tgl{display:block;margin-top:var(--s2);text-align:center;font-size:13px;font-weight:700;color:var(--tg);text-decoration:none}
.tgnote{background:color-mix(in srgb,var(--tg) 10%,transparent);border:1px solid color-mix(in srgb,var(--tg) 33%,transparent);border-radius:14px;padding:12px 16px;font-size:14px;margin-bottom:var(--s4)}
.tgnote a{color:var(--tg);font-weight:700}

/* --- медиа в статьях и карточках --- */
.post .thumb{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin-bottom:var(--s3);background:var(--bg2)}
.prose figure.media{margin:var(--s5) 0}
.prose figure.media img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line)}
figure.media.cover{margin:var(--s4) 0 var(--s5)}
figure.media.cover img{display:block;width:100%;height:auto;border-radius:20px;border:1px solid var(--line)}
.prose figcaption{margin-top:var(--s2);font-size:13px;color:var(--mut)}
.prose .vwrap{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.prose .vwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.prose blockquote{margin:var(--s5) 0;padding:var(--s3) var(--s4);border-left:4px solid var(--g);background:color-mix(in srgb,var(--ink) 3%,transparent);border-radius:0 14px 14px 0;color:var(--ink)}
.prose a{color:var(--c-t,var(--c))}

.prose .tw{overflow-x:auto;margin:var(--s5) 0;border:1px solid var(--line);border-radius:14px}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.prose th{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink);font-weight:800}
.prose tr:last-child td{border-bottom:0}
.prose ol{margin:0 0 var(--s4);padding-left:var(--s5)}
.prose ol li{margin-bottom:var(--s2)}
.prose strong{color:var(--ink)}
.prose figure.media img,figure.media.cover img{max-height:620px;object-fit:contain;background:var(--bg2)}
.prose th,.prose td{min-width:120px}

/* --- уведомление о cookie --- */
.ckb{position:fixed;left:16px;bottom:16px;z-index:70;max-width:420px;background:var(--card);border:1px solid var(--line2);border-radius:18px;padding:var(--s4);box-shadow:0 10px 40px #000a;font-size:14px}
.ckb[hidden]{display:none}
.ckb p{margin:0 0 var(--s3);color:var(--ink2)}
.ckb a{color:var(--c-t,var(--c))}
.ckb-btns{display:flex;gap:var(--s2);flex-wrap:wrap}
.ckb .btn{width:auto}
@media(max-width:760px){.ckb{left:12px;right:12px;bottom:84px;max-width:none}}

/* --- акция запуска --- */
.promo{padding:var(--s6) 0 0}
.promo-box{border:1.5px solid var(--g);border-radius:var(--rl);padding:var(--s6);background:linear-gradient(135deg,color-mix(in srgb,var(--g) 7%,transparent),color-mix(in srgb,var(--mx) 8%,transparent));box-shadow:0 0 40px color-mix(in srgb,var(--g) calc(var(--glow) * 13%),transparent)}
.promo-box h2{margin:var(--s3) 0 var(--s2)}
.promo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4);margin-top:var(--s4)}
.promo-item{background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}
.promo-item .bar{height:10px;border-radius:var(--rb);background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}
.promo-item .bar i{display:block;height:100%;background:var(--g);box-shadow:0 0 12px var(--g)}
.promo-item .btn{align-self:flex-start;width:auto}
.promo-note{background:color-mix(in srgb,var(--g) 10%,transparent);border:1px solid color-mix(in srgb,var(--g) 40%,transparent);border-radius:14px;padding:12px 16px;font-size:14px;margin-bottom:var(--s4)}
@media(max-width:760px){.promo-grid{grid-template-columns:1fr}.promo-box{padding:var(--s4)}}

/* ===== визуальные акценты: лента фото, появление блоков, свечение (10.10.2026) ===== */
.strip-wrap{padding:var(--s6) 0 var(--s4);background:var(--bg)}
.strip-head h2{margin:0 0 var(--s2)}
.strip-head p{color:var(--ink2);max-width:620px;margin:0 0 var(--s4)}
.strip{overflow-x:auto;overflow-y:hidden;position:relative;padding:var(--s2) 0;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.strip::-webkit-scrollbar{display:none}
.strip.drag{cursor:grabbing}
.strip.drag .ph img{pointer-events:none}
.strip-track{display:flex;width:max-content}
.strip-box{position:relative}
.strip-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--ink);font:700 26px/1 var(--font-b);display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,box-shadow .2s,opacity .2s}
.strip-btn:hover{background:var(--g);color:var(--on-g);box-shadow:0 0 22px color-mix(in srgb,var(--g) calc(var(--glow) * 67%),transparent)}
.strip-btn.prev{left:14px}.strip-btn.next{right:14px}
@media(max-width:700px){.strip-btn{width:38px;height:38px;font-size:22px}.strip-btn.prev{left:6px}.strip-btn.next{right:6px}}
.ph{position:relative;flex:0 0 auto;width:300px;height:210px;margin:0 16px 0 0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--card);box-shadow:0 10px 30px #0006}
.ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(1.05)}
.ph:hover img{transform:scale(1.07);filter:saturate(1.2)}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--bg) 90%,transparent) 100%);pointer-events:none}
.ph figcaption{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;display:flex;flex-direction:column;gap:2px}
.ph figcaption b{font:700 14px var(--font-b);color:#fff;text-shadow:0 1px 8px #000a}
.ph figcaption small{font:400 11px var(--font-b);color:var(--ink2);opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph:hover figcaption small{opacity:.95;transform:none}
.strip-note{font-size:12px;color:var(--mut);margin:var(--s2) auto 0}
.strip-note a{color:var(--c-t,var(--c))}
@media(max-width:700px){.ph{width:240px;height:170px}}
@media(prefers-reduced-motion:reduce){.strip{-webkit-mask-image:none;mask-image:none}.ph[aria-hidden=true]{display:none}}

/* появление при прокрутке (включается только когда JS жив) */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transition-delay:var(--rd,0s)}
.js .rv.in{opacity:1;transform:none}

/* полоса прогресса */
.pgbar{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--g),var(--c),var(--m));z-index:200;pointer-events:none;box-shadow:0 0 12px color-mix(in srgb,var(--g) calc(var(--glow) * 67%),transparent)}

/* свечение героя за курсором */
.hglow{position:absolute;left:0;top:0;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--mx) 20%,transparent),color-mix(in srgb,var(--c) 7%,transparent) 55%,transparent);pointer-events:none;opacity:0;transition:opacity .4s;will-change:transform;z-index:0}

.promo .tag{display:inline-block}
.card,.svc,.post{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
@media(hover:hover){.svc:hover,.post:hover{transform:translateY(-4px)}}

/* верхнее меню: иконки и адаптация под ширину */
.topbar.wrap{max-width:1420px}
.navd a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.navd .ni{font-size:14px;line-height:1;filter:saturate(1.1)}
@media(max-width:1500px){#installBtn{display:none!important}}
@media(max-width:1300px){.navd{gap:var(--s3);font-size:14px}.hact .btn{padding-left:var(--s4);padding-right:var(--s4)}}
@media(max-width:1180px){.navd{gap:12px;font-size:13.5px}.navd .ni{display:none}}
@media(max-width:1020px){.navd{gap:10px;font-size:13px}.logo{font-size:15px}.hact .btn.gh{display:none}}
.hact .btn{white-space:nowrap}

/* карта в первом экране */
.hmap{position:absolute;right:0;top:0;bottom:0;width:min(52%,880px);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%);mask-image:linear-gradient(90deg,transparent,#000 24%)}
.hmap canvas{display:block;width:100%;height:100%}
.hcta{position:absolute;right:max(24px,4%);bottom:34px;z-index:3;width:270px;padding:16px 18px 18px;border-radius:20px;border:1px solid color-mix(in srgb,var(--g) 67%,transparent);background:color-mix(in srgb,var(--bg2) 85%,transparent);backdrop-filter:blur(8px);box-shadow:0 0 36px color-mix(in srgb,var(--g) calc(var(--glow) * 20%),transparent),0 12px 30px #0008}
.hcta-pin{position:absolute;top:-9px;right:22px;width:18px;height:18px;border-radius:50%;background:var(--g);box-shadow:0 0 0 0 color-mix(in srgb,var(--g) 60%,transparent)}
.hcta-pin::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--bg)}
@keyframes pinp{70%{box-shadow:0 0 0 16px color-mix(in srgb,var(--g) 0%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--g) 0%,transparent)}}
.hcta-q{min-height:30px;font:700 22px var(--font-d);color:var(--y-t,var(--y));overflow:hidden}
.hcta-word{display:inline-block;transition:opacity .3s,transform .3s}
.hcta-word.out{opacity:0;transform:translateY(-10px)}
.hcta b{display:block;margin:4px 0 6px;font:700 17px var(--font-b);color:var(--ink)}
.hcta p{margin:0 0 12px;font-size:13px;color:var(--mut);line-height:1.45;max-width:none}
.hcta .btn{width:100%}
@media(max-width:1400px){.hmap{width:46%}}
@media(max-width:1100px){.hcta{width:240px}.hcta-q{font-size:19px}.hmap{width:44%}}
@media(max-width:900px){.hmap,.hcta{display:none}}

.gbar{position:fixed;right:16px;bottom:88px;z-index:120;display:flex;gap:6px;padding:6px;border-radius:var(--rb);background:color-mix(in srgb,var(--bg2) 90%,transparent);border:1px solid var(--line);backdrop-filter:blur(8px);box-shadow:0 8px 24px #0008}
.gb{border:0;background:transparent;color:var(--ink);font:700 13px var(--font-b);padding:7px 12px;border-radius:var(--rb);cursor:pointer;display:inline-flex;gap:6px;align-items:center;white-space:nowrap;transition:background .2s,box-shadow .2s}
.gb:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.gb[hidden]{display:none}
.gm-ic{font-style:normal}
.gb.on{background:var(--y);color:var(--on-y);box-shadow:0 0 18px color-mix(in srgb,var(--y) calc(var(--glow) * 53%),transparent)}
.gb.gx{padding:7px 10px;color:var(--mut)}
.gbar.hint{animation:gh 1.2s ease-in-out 4}
@keyframes gh{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--y) calc(var(--glow) * 33%),transparent),0 8px 24px #0008}}
@media(hover:none),(pointer:coarse){.gbar{display:none!important}}
@media(max-width:900px){.gb span{display:none}}
.gcta{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:140;width:min(500px,calc(100vw - 32px));display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:20px 22px 18px;border-radius:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 97%,transparent),color-mix(in srgb,var(--bg2) 97%,transparent));border:1px solid color-mix(in srgb,var(--y) 50%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) calc(var(--glow) * 5%),transparent),0 0 40px color-mix(in srgb,var(--y) calc(var(--glow) * 18%),transparent),0 18px 40px #000b;animation:gcta .4s ease-out}
.gcta-ic{font-size:32px;line-height:1;width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--y) 9%,transparent);border:1px solid color-mix(in srgb,var(--y) 25%,transparent)}
.gcta-bd{min-width:0;display:flex;flex-direction:column;gap:8px}
.gcta-t{font:700 17px/1.25 var(--font-d);color:var(--y-t,var(--y));padding-right:30px}
.gcta-sc{display:inline-flex;align-self:flex-start;gap:8px;align-items:baseline;padding:4px 12px;border-radius:var(--rb);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--line)}
.gcta-sc span{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}.gcta-sc strong{font:800 16px var(--font-b);color:var(--ink)}
.gcta p{margin:0;font-size:14px;line-height:1.55;color:var(--ink2)}
.gcta-a{display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;margin-top:4px}
.gcta-l{color:var(--c-t,var(--c));font-size:14px;font-weight:600;text-decoration:none}.gcta-l:hover{text-decoration:underline}
.gcta-h{font-size:12px;color:var(--mut)}
.gcta-x{position:absolute;top:12px;right:12px;width:30px;height:30px;border:0;border-radius:50%;background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--mut);cursor:pointer;font-size:14px;line-height:30px;padding:0}
.gcta-x:hover{background:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink)}
@media(max-width:520px){.gcta{grid-template-columns:1fr;padding:18px}.gcta-ic{width:44px;height:44px;font-size:24px}}
@keyframes gcta{from{transform:translate(-50%,20px);opacity:0}}
@media(prefers-reduced-motion:reduce){.gcta,.gbar.hint,.gstart{animation:none}}

/* промышленный альпинист в первом экране */
.climber{position:absolute;top:0;left:56%;width:150px;height:170px;margin-left:-75px;z-index:4;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;filter:drop-shadow(0 8px 10px #0007)}
.climber.grab{cursor:grabbing}
.climber svg{display:block;overflow:visible}
.climber:focus-visible{outline:2px solid var(--y);outline-offset:4px;border-radius:12px}
.cl-arm.l{transform-origin:60px 100px;animation:clarm 1.8s ease-in-out infinite alternate}
.cl-arm.r{transform-origin:90px 100px;animation:clarm2 1.3s ease-in-out infinite alternate}
@keyframes clarm{to{transform:rotate(10deg)}}
@keyframes clarm2{to{transform:rotate(-12deg)}}
.cl-say{position:absolute;left:138px;top:70px;width:210px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--bg2) 95%,transparent);border:1px solid var(--y);color:var(--ink);font:600 13px/1.4 var(--font-b);opacity:0;transform:translateY(6px) scale(.96);transform-origin:0 50%;pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:0 0 20px color-mix(in srgb,var(--y) calc(var(--glow) * 20%),transparent)}
.cl-say::before{content:"";position:absolute;left:-7px;top:16px;width:12px;height:12px;background:var(--bg2);border-left:1px solid var(--y);border-bottom:1px solid var(--y);transform:rotate(45deg)}
.cl-say.on{opacity:1;transform:none;pointer-events:auto}
.cl-say a{color:var(--g-t,var(--g));text-decoration:underline}
@media(max-width:900px){.climber{left:62%}}
@media(max-width:760px){.climber{display:none}}
@media(prefers-reduced-motion:reduce){.cl-arm,.cl-leg{animation:none}}

/* живая лента */
.feed-wrap{padding:var(--s5) 0 0;background:var(--bg)}
.feed{border:1px solid var(--line);border-radius:20px;padding:14px 18px;background:linear-gradient(135deg,color-mix(in srgb,var(--g) 5%,transparent),color-mix(in srgb,var(--mx) 6%,transparent))}
.feed-h{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.feed-h b{font:700 15px var(--font-d)}
.feed-sub{color:var(--mut);font-size:13px}
.live-dot{width:10px;height:10px;border-radius:50%;background:var(--g);box-shadow:0 0 0 0 color-mix(in srgb,var(--g) calc(var(--glow) * 67%),transparent);animation:livep 2s ease-out infinite}
@keyframes livep{70%{box-shadow:0 0 0 10px color-mix(in srgb,var(--g) calc(var(--glow) * 0%),transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--g) calc(var(--glow) * 0%),transparent)}}
.feed-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.feed-l li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--ink) 6%,transparent);font-size:14px;min-width:0}
.feed-l li:first-child{border-top:0}
.feed-i{flex:0 0 auto;width:26px;text-align:center}
.feed-l a{flex:1 1 auto;min-width:0;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-l a:hover{color:var(--g-t,var(--g))}
.feed-l time{flex:0 0 auto;color:var(--mut);font-size:12.5px;white-space:nowrap}
.feed-l li.new time{color:var(--g-t,var(--g))}
@media(max-width:700px){.feed-l li.x{display:none}.feed-l li{font-size:13.5px}.feed-l time{display:none}}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}

/* ===== карта и карточки компаний (UX 2.0) ===== */
.mx-top{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(150px,.8fr) minmax(190px,1fr) auto;gap:var(--s2);margin-bottom:var(--s3);align-items:center}
.mx-top select,.mx-top input{min-height:var(--tap);width:100%;background:var(--card);color:var(--ink);border:1.5px solid var(--line2);border-radius:14px;padding:var(--s2) var(--s3);font:inherit}
.mx-top input{padding-left:40px}
.mx-top select:focus,.mx-top input:focus{border-color:var(--c);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--c) calc(var(--glow) * 20%),transparent)}
.mx-search{position:relative}.mx-search>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:15px;pointer-events:none}
.pins .chip em{font-style:normal;font-weight:800;font-size:12px;opacity:.75;background:color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--rb);padding:0 7px;line-height:20px}
.pins .chip.on em{background:color-mix(in srgb,var(--on-c) 13%,transparent);opacity:1}
.pins .chip.dim{opacity:.55}.pins .chip.ghost{border-style:dashed;background:transparent;color:var(--mut)}
.cd{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.mx-meta{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin:0 0 var(--s3);font-size:14px;color:var(--ink2)}
.mx-meta b{color:var(--g-t,var(--g))}.mx-sp{flex:1}
.mx-active{display:flex;gap:6px;flex-wrap:wrap}
.ac{border:1px solid var(--c);background:color-mix(in srgb,var(--c) 8%,transparent);color:var(--ink);border-radius:var(--rb);padding:3px 10px;font:600 12.5px var(--font-b);cursor:pointer}
.ac:hover{background:color-mix(in srgb,var(--c) 20%,transparent)}
.linkb{background:none;border:0;color:var(--c-t,var(--c));font:600 13.5px var(--font-b);cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:4px 2px}
.linkb:hover{color:var(--g-t,var(--g))}
.mx-note{margin:0 0 var(--s3);font-size:13.5px;line-height:1.5;color:var(--mut)}.mx-note b{color:var(--ink)}.mx-note[hidden]{display:none}
.mx-tabs{display:none}
.mgrid.mx{grid-template-columns:410px 1fr;height:640px}
.mx-side{position:relative;min-height:0;overflow:hidden;border-radius:var(--rl);display:flex;flex-direction:column}
.mx .mlist{flex:1 1 auto;min-height:0;overflow:auto;gap:var(--s2);padding-right:4px;scrollbar-width:thin}
.mx-pager{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;padding:var(--s3) 0 var(--s1)}
.mx-pager[hidden]{display:none}
.pg{min-width:34px;min-height:34px;padding:0 8px;border-radius:var(--rb);border:1px solid var(--line2);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font:700 14px var(--font-b);cursor:pointer;transition:background .15s,border-color .15s}
.pg:hover:not(:disabled){border-color:var(--g)}
.pg.on{background:var(--g);color:var(--on-g);border-color:var(--g)}
.pg:disabled{opacity:.35;cursor:not-allowed}
.pg:focus-visible{outline:2px solid var(--y);outline-offset:2px}
.pg-gap{color:var(--mut);padding:0 2px}
.pg-sum{display:none;color:var(--ink2);font:700 14px var(--font-b);padding:0 var(--s3)}
.pg-info{flex-basis:100%;margin:var(--s1) 0 0;text-align:center;color:var(--mut);font-size:13px}
.mc-card{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:12px;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s}
.mc-card:hover,.mc-card.hl{border-color:var(--c);transform:translateY(-2px);box-shadow:0 8px 22px #0006,0 0 0 1px color-mix(in srgb,var(--c) calc(var(--glow) * 33%),transparent)}
.mc-card.on{border-color:var(--g);background:linear-gradient(135deg,color-mix(in srgb,var(--g) 7%,transparent),var(--card));box-shadow:0 0 0 1px var(--g)}
.mc-card:focus-visible,.mc-add:focus-visible{outline:2px solid var(--y);outline-offset:2px}
.mc-av{flex:none;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:23px;background:color-mix(in srgb,var(--col) 20%,var(--bg));border:1.5px solid var(--col);box-shadow:0 0 14px color-mix(in srgb,var(--col) 35%,transparent)}
.mc-av.lg{width:58px;height:58px;font-size:28px;border-radius:18px}
.mc-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.mc-body b{font:700 15px var(--font-b);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nb{font-style:normal;font:800 10.5px var(--font-b);letter-spacing:.04em;text-transform:uppercase;background:var(--g);color:var(--on-g);border-radius:var(--rb);padding:2px 8px}
.mc-meta{font-size:12.5px;color:var(--c-t,var(--c));font-weight:600}
.mc-addr{font-size:13px;color:var(--mut)}
.mc-desc{font-size:13px;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px}
.mc-go{align-self:center;font-size:24px;color:var(--mut);transition:transform .2s,color .2s}.mc-card:hover .mc-go{transform:translateX(3px);color:var(--g-t,var(--g))}
.mc-add{display:flex;flex-direction:column;gap:6px;border:1.5px dashed var(--g);border-radius:18px;padding:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--g) 5%,transparent),color-mix(in srgb,var(--mx) 6%,transparent));color:var(--ink)}
.mc-add b{font:700 15px var(--font-b)}.mc-add span{font-size:13px;color:var(--ink2)}
.mc-add:hover{box-shadow:0 0 24px color-mix(in srgb,var(--g) calc(var(--glow) * 20%),transparent)}
.mc-bar{display:block;height:6px;border-radius:var(--rb);background:color-mix(in srgb,var(--ink) 11%,transparent);overflow:hidden}.mc-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--g),var(--c));border-radius:var(--rb)}
.mc-left b{color:var(--y-t,var(--y))}
.mdetail{position:absolute;inset:0;overflow:auto;background:var(--bg2);border:1.5px solid var(--g);border-radius:var(--rl);padding:16px;display:flex;flex-direction:column;gap:12px;animation:mdin .25s ease-out;box-shadow:0 0 28px color-mix(in srgb,var(--g) calc(var(--glow) * 13%),transparent)}
.mdetail[hidden]{display:none}
@keyframes mdin{from{opacity:0;transform:translateX(14px)}}
.md-back{align-self:flex-start;background:none;border:0;color:var(--c-t,var(--c));font:700 13.5px var(--font-b);cursor:pointer;padding:4px 2px}
.md-head{display:flex;gap:12px;align-items:center}.md-head h3{font:700 20px/1.2 var(--font-d)}
.md-sub{color:var(--ink2);font-size:13.5px;display:flex;align-items:center;gap:7px;margin-top:4px}
.md-badges{display:flex;gap:6px;flex-wrap:wrap}.md-badges span{font:600 12px var(--font-b);border:1px solid var(--line2);border-radius:var(--rb);padding:3px 10px;color:var(--ink2);background:color-mix(in srgb,var(--ink) 4%,transparent)}
.md-badges .hot{border-color:var(--g);color:var(--g-t,var(--g))}
.md-desc{margin:0;color:var(--ink2);font-size:14.5px;line-height:1.6;white-space:pre-line}
.md-addr{display:flex;flex-direction:column;gap:6px;font-size:14px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:color-mix(in srgb,var(--ink) 3%,transparent)}
.md-links{display:flex;gap:14px}.md-links a,.md-links button{background:none;border:0;color:var(--c-t,var(--c));font:600 13px var(--font-b);cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}
.md-actions{display:grid;gap:8px}.md-actions .btn{width:100%}
.md-foot{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px;font-size:13px}.md-foot a{color:var(--g-t,var(--g));font-weight:600}
/* маркеры */
.mp{position:relative;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--col);border:2px solid #fff;box-shadow:0 7px 14px #000a,0 0 0 4px color-mix(in srgb,var(--col) 28%,transparent);display:grid;place-items:center;transition:transform .2s}
.mp span{transform:rotate(45deg);font-size:18px;line-height:1;filter:drop-shadow(0 1px 1px #0006)}
.mp.hov{transform:rotate(-45deg) scale(1.18)}
.mp.sel{transform:rotate(-45deg) scale(1.32);box-shadow:0 8px 18px #000b,0 0 0 4px #fff,0 0 22px var(--col);animation:mpsel 1.8s ease-in-out infinite}
@keyframes mpsel{50%{box-shadow:0 8px 18px #000b,0 0 0 4px #fff,0 0 34px var(--col)}}
.mp.new::after{content:"";position:absolute;right:-6px;top:-6px;width:13px;height:13px;border-radius:50%;background:var(--g);border:2px solid var(--bg)}
.mcl{border-radius:50%;background:radial-gradient(circle at 30% 25%,var(--g-hi),var(--g-lo));border:3px solid #fff;display:grid;place-items:center;box-shadow:0 6px 16px #000a,0 0 0 6px color-mix(in srgb,var(--g) calc(var(--glow) * 20%),transparent);animation:mclp 3s ease-in-out infinite}
.mcl b{font:800 16px var(--font-b);color:var(--on-g)}
@keyframes mclp{50%{box-shadow:0 6px 16px #000a,0 0 0 10px color-mix(in srgb,var(--g) calc(var(--glow) * 13%),transparent)}}
.mx-float{position:absolute;left:var(--s3);bottom:34px;z-index:520;max-width:min(360px,calc(100% - 100px));background:color-mix(in srgb,var(--bg2) 90%,transparent);border:1px solid var(--y);border-radius:16px;padding:10px 14px;color:var(--ink);font-size:13px;line-height:1.4;box-shadow:0 8px 24px #0009,0 0 22px color-mix(in srgb,var(--y) calc(var(--glow) * 20%),transparent);backdrop-filter:blur(6px);transition:transform .2s}
.mx-float b{color:var(--y-t,var(--y))}.mx-float span{display:block;color:var(--g-t,var(--g));font-weight:700;margin-top:2px}
.mx-float:hover{transform:translateY(-2px)}
.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:transform .3s ease-out,opacity .3s ease-in}
@media(max-width:1100px){.mx-top{grid-template-columns:1fr 1fr}.mx-search{grid-column:1/-1}.mx-top .btn{width:100%}.mgrid.mx{grid-template-columns:360px 1fr}}
@media(max-width:900px){
 .mx-top{grid-template-columns:1fr 1fr;gap:8px}.mx-top .mx-search,.mx-top #mNear{grid-column:1/-1}
 .pins{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.pins::-webkit-scrollbar{display:none}.pins .chip{flex:none}
 .mx-tabs{display:flex;gap:6px;margin-bottom:var(--s3);background:var(--card);border:1px solid var(--line);border-radius:var(--rb);padding:4px}
 .mx-tabs button{flex:1;border:0;background:transparent;color:var(--ink2);font:700 14px var(--font-b);border-radius:var(--rb);min-height:42px;cursor:pointer}
 .mx-tabs button.on{background:var(--g);color:var(--on-g)}
 .mgrid.mx{grid-template-columns:1fr;height:auto}
 .mx .mlist{max-height:none;order:0;height:auto;overflow:visible}
 #map[data-tab=list] .mapbox{display:none}
 #map[data-tab=map] .mx-side .mlist,#map[data-tab=map] .mx-side .mx-pager{display:none}
 .pg{min-width:var(--tap);min-height:var(--tap)}
 .mx .leafletbox{height:62vh}
 .mdetail{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:74vh;border-radius:22px 22px 0 0;z-index:640;padding:16px 16px 22px;box-shadow:0 -12px 40px #000c;animation:sheet .28s ease-out}
 @keyframes sheet{from{transform:translateY(40px);opacity:0}}
 .mx-float{bottom:40px;left:8px;max-width:calc(100% - 70px)}
 #map.fs .mgrid.mx{height:auto}
}
#map.fs .mgrid.mx{height:calc(100vh - 260px);min-height:420px}
@media(min-width:601px) and (max-width:900px){.mx .mlist{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.mx .mlist .mc-add,.mx .mlist .empty{grid-column:1/-1}} /* планшет: список в два столбца, страница вдвое короче */
@media(max-width:600px){.pg-n,.pg-gap{display:none}.pg-sum{display:inline-block}} /* на телефоне вместо номеров: ‹ 3 из 15 › */
@media(prefers-reduced-motion:reduce){.mp.sel,.mcl,.mdetail{animation:none}.mc-card,.mc-go,.pg{transition:none}}

/* блок «Коротко» в начале статьи */
.tldr{border:1px solid var(--g);border-left-width:4px;border-radius:14px;padding:12px 16px;margin:var(--s3) 0 var(--s4);background:linear-gradient(135deg,color-mix(in srgb,var(--g) 7%,transparent),color-mix(in srgb,var(--mx) 6%,transparent))}
.tldr b{display:block;font:700 12px var(--font-d);letter-spacing:.06em;text-transform:uppercase;color:var(--g-t,var(--g));margin-bottom:4px}
.tldr p{margin:0;color:var(--ink);font-size:16px;line-height:1.55}

/* карта: фильтр «Ищут подработку», метки выезда, фото и ссылка на страницу компании */
.mx-top{grid-template-columns:minmax(220px,1.6fr) minmax(150px,.8fr) minmax(170px,1fr) auto auto}
#mGig{min-height:var(--tap);white-space:nowrap;justify-content:center}
.mc-tags{display:flex;gap:6px;flex-wrap:wrap}
.mc-tags i{font:600 11.5px var(--font-b);font-style:normal;color:var(--g-t,var(--g));border:1px solid color-mix(in srgb,var(--g) 33%,transparent);border-radius:var(--rb);padding:1px 8px}
.md-ph{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.md-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.md-more{align-self:flex-start}
@media(max-width:1100px){.mx-top{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.mx-top #mGig{grid-column:1/-1}}

/* страница компании /company/<slug> */
.co{max-width:1040px}
.co-crumbs a{color:var(--c-t,var(--c))}
.co-head{display:flex;gap:14px;align-items:center;margin:var(--s3) 0 var(--s3)}
.co-head h1{margin:0;font-size:clamp(26px,4vw,38px);line-height:1.15}
.co-badges{margin-bottom:var(--s5)}
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s6);align-items:start}
.co-main h2:first-child{margin-top:0}
.co-side{display:flex;flex-direction:column;gap:var(--s4);position:sticky;top:84px}
.co-card{display:flex;flex-direction:column;gap:12px;padding:var(--s4)}
.co-card h2{font-size:20px;margin:0}
.co-map{height:220px;border-radius:var(--rl);overflow:hidden;border:1px solid var(--line)}
.co-tags{list-style:none;padding:0!important;display:flex;flex-wrap:wrap;gap:8px}
.co-tags li{margin:0!important;font-size:14px;border:1px solid var(--line2);border-radius:var(--rb);padding:4px 12px;background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--ink)}
.co-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.co-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:1px solid var(--line);transition:transform .2s}
.co-photos a:hover img{transform:scale(1.02)}
.co-more{margin-top:var(--s6)}
@media(max-width:900px){.co-grid{grid-template-columns:1fr}.co-side{position:static}}
@media(prefers-reduced-motion:reduce){.co-photos img{transition:none}}
/* каталог компаний: категории и карточки */
.co-cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--s5)}
.co-cats .chip em{font-style:normal;opacity:.7;font-weight:600}
.co-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s3)}
.co-item{display:flex;flex-direction:column;gap:6px;padding:var(--s4);transition:border-color .2s,transform .2s}
.co-item:hover{border-color:var(--g);transform:translateY(-2px)}
.co-item b{font:700 17px/1.25 var(--font-b);color:var(--ink)}
.co-item-meta{font-size:13px;color:var(--c-t,var(--c));font-weight:600}
.co-item-desc{font-size:14px;color:var(--ink2);line-height:1.5}
.co-lead{font-size:18px;color:var(--ink)}
.co-upd{font-size:13px;color:var(--mut)}
.co-map{position:relative;background:var(--card)}
.co-map-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--c-t,var(--c));font-weight:700}
@media(prefers-reduced-motion:reduce){.co-item{transition:none}.co-item:hover{transform:none}}

/* «Мы в соцсетях»: значки в подвале и крупные кнопки в контактах */
.soc{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.soc-a{display:inline-flex;align-items:center;gap:8px;border-radius:12px;transition:transform .15s}
.soc-a svg{width:30px;height:30px;display:block}
.soc-a:hover{transform:translateY(-2px)}
.soc-row{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.soc-t{color:var(--mut);font-size:13px}
.soc-big{gap:10px}
.soc-big .soc-a{background:var(--card);border:1px solid var(--line2);padding:8px 14px 8px 8px;color:var(--ink);font-weight:700;font-size:15px}
.soc-big .soc-a svg{width:36px;height:36px}
.soc-big .soc-a:hover{border-color:var(--g)}
@media(prefers-reduced-motion:reduce){.soc-a{transition:none}.soc-a:hover{transform:none}}
/* игры: меню «Инструменты», подсказки, панель счёта, саморезы (assets/play.js) */
.gmain.on{background:var(--y);color:var(--on-y);box-shadow:0 0 18px color-mix(in srgb,var(--y) calc(var(--glow) * 53%),transparent)}
html.gplay .gbar{z-index:136}
.gmenu{position:fixed;right:16px;bottom:140px;z-index:141;width:min(340px,calc(100vw - 32px));max-height:calc(100vh - 156px);overflow:auto;overscroll-behavior:contain;padding:10px;border-radius:18px;background:color-mix(in srgb,var(--bg2) 96%,transparent);border:1px solid var(--line2);box-shadow:0 18px 40px #000b;display:flex;flex-direction:column;gap:2px;animation:gmIn .18s ease-out}
.gmenu[hidden]{display:none}
.gmt{font:700 12px var(--font-b);color:var(--mut);text-transform:uppercase;letter-spacing:.06em;padding:4px 8px 6px}
.gmi{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:transparent;color:var(--ink);padding:9px 10px;border-radius:12px;cursor:pointer;font:inherit;width:100%}
.gmi:hover,.gmi.on{background:color-mix(in srgb,var(--ink) 7%,transparent)}.gmi.on{box-shadow:inset 0 0 0 1px var(--y)}
.gmi i{font-style:normal;font-size:22px;width:30px;text-align:center;flex:none}
.gmi b{display:block;font:700 14px var(--font-b)}.gmi small{display:block;color:var(--mut);font-size:12px;line-height:1.35}
.gms{cursor:help;border-top:1px solid var(--line);margin-top:6px;padding-top:12px;border-radius:0 0 12px 12px}
.gmf{font-size:11px;color:var(--mut);padding:6px 8px 2px}
.gtoast{position:fixed;left:50%;top:84px;transform:translate(-50%,-16px);z-index:142;max-width:min(560px,calc(100vw - 32px));padding:10px 16px;border-radius:14px;background:color-mix(in srgb,var(--bg2) 95%,transparent);border:1px solid var(--line2);color:var(--ink);font-size:14px;box-shadow:0 12px 30px #000a;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.gtoast.on{opacity:1;transform:translate(-50%,0)}
.ghud{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:135;padding:8px 16px;border-radius:var(--rb);background:color-mix(in srgb,var(--bg) 90%,transparent);border:1px solid var(--y);color:var(--ink);font:500 13px var(--font-b);white-space:nowrap;box-shadow:0 8px 24px #0009;pointer-events:none}
.ghud b{color:var(--y-t,var(--y))}.ghud span{color:var(--mut)}
@media(max-width:1100px){.ghud span{display:none}}
.gscrew{position:absolute;z-index:95;width:26px;height:26px;padding:2px;border:0;background:transparent;cursor:pointer;border-radius:50%;filter:drop-shadow(0 2px 2px #0008);animation:gscr 6s ease-in-out infinite}
.gscrew svg{display:block}
.gscrew:hover{animation:gscrw .4s ease-in-out infinite}
.gscrew.out{animation:gscrOut .9s ease-in forwards;pointer-events:none}
@keyframes gscr{0%,92%,100%{transform:rotate(0)}95%{transform:rotate(25deg)}}
@keyframes gscrw{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}
@keyframes gscrOut{0%{transform:rotate(0) scale(1);opacity:1}60%{transform:translateY(-10px) rotate(-900deg) scale(1.3);opacity:1}100%{transform:translateY(-80px) rotate(-1080deg) scale(.4);opacity:0}}
@keyframes gmIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.gscrew,.gscrew:hover,.gmenu{animation:none}.gscrew.out{animation:none;opacity:0}.gtoast{transition:none}}
@media(hover:none),(pointer:coarse){.gmenu{display:none!important}}
.gstart{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:143;width:min(460px,calc(100vw - 32px));padding:26px 26px 20px;border-radius:24px;background:linear-gradient(160deg,color-mix(in srgb,var(--card) 98%,transparent),color-mix(in srgb,var(--bg2) 98%,transparent));border:1px solid color-mix(in srgb,var(--y) 50%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) calc(var(--glow) * 5%),transparent),0 0 60px color-mix(in srgb,var(--y) calc(var(--glow) * 18%),transparent),0 24px 60px #000c;text-align:center;animation:gsIn .25s ease-out}
.gs-ic{font-size:44px;line-height:1;margin-bottom:8px}
.gs-t{display:block;font:700 24px/1.2 var(--font-d);color:var(--y-t,var(--y));margin-bottom:8px}
.gs-p{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--ink2)}
.gs-k{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:7px;text-align:left}
.gs-k li{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--ink2)}
.gs-k span{flex:none;min-width:86px;text-align:center;padding:4px 8px;border-radius:8px;background:color-mix(in srgb,var(--ink) 7%,transparent);border:1px solid var(--line2);border-bottom-width:3px;font:700 13px var(--font-b);color:var(--ink)}
.gs-a{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.gs-go{font-size:16px;padding:12px 28px}
.gs-snd{border:1px solid var(--line2);background:transparent;color:var(--ink2);border-radius:var(--rb);padding:9px 14px;font:600 13px var(--font-b);cursor:pointer}
.gs-snd:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.gs-f{display:block;margin-top:12px;font-size:11px;color:var(--mut)}
@keyframes gsIn{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}


/* ---- меню: подписи без значков до 1440px, сжатие на узких экранах (было в header.php) ---- */
@media(max-width:1440px){.navd .ni{display:none}}@media(max-width:1300px){.navd{gap:14px}}@media(max-width:1180px){.navd{gap:10px;font-size:13px}}@media(max-width:1020px){.navd{gap:8px;font-size:12px}}@media(max-width:900px){.logo{font-size:14px}.navd a[href$="#faq"],.navd a[href$="/docs/"]{display:none}}

/* ---- подвал, «следующий шаг» после калькулятора, предложение бота при уходе (было в footer.php) ---- */
.gnext{padding:var(--s3) 0 0}.gnext-in b{color:var(--ink);font-size:17px}.gnext-b{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.gnext-emb summary{cursor:pointer;color:var(--mut);font-size:14px}.gnext-emb textarea{width:100%;font:12px/1.4 monospace;margin-top:6px}
.gexit{position:fixed;inset:0;z-index:90;background:rgba(5,3,15,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.gexit[hidden]{display:none}.gexit-box{position:relative;max-width:440px;background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:24px 22px}
.gexit-box b{display:block;font-size:20px;color:var(--ink);margin-bottom:8px;padding-right:24px}.gexit-box p{margin:0 0 16px;line-height:1.5}
.gexit-x{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--mut);font-size:28px;line-height:1;cursor:pointer;padding:4px 8px}
footer .wrap.ft{display:block}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:var(--s5)}
.ft-brand{display:flex;flex-direction:column;gap:var(--s3);max-width:360px}
.ft-brand p{margin:0;line-height:1.55}
.ft-logo{font:700 18px var(--font-d);color:var(--ink)!important}
.ft-col{display:flex;flex-direction:column;gap:9px;min-width:0}
.ft-col b{color:var(--ink);font-size:15px;margin-bottom:2px}
footer .ft a{text-decoration:none;color:var(--mut);overflow-wrap:anywhere}
footer .ft a:hover{color:var(--g-t,var(--g))}
.ft-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);font-size:13px}
@media(max-width:900px){.ft-grid{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1;max-width:none}}
@media(max-width:340px){.ft-grid{grid-template-columns:1fr}}
.promo-hot{background:linear-gradient(90deg,color-mix(in srgb,var(--y) 18%,transparent),color-mix(in srgb,var(--y2) 12%,transparent));border:2px solid var(--y);font-size:16px;box-shadow:0 0 24px color-mix(in srgb,var(--y) calc(var(--glow) * 20%),transparent)}

/* ---- главная: полоса акции, акция, доп. услуги, легенда карты, контакты (было внутри home.php) ---- */
.hot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:var(--s5) 0 0;max-width:640px;padding:10px 14px;border-radius:min(var(--r),16px);background:linear-gradient(90deg,var(--y),var(--y2));color:var(--on-y);font-weight:800;font-size:15px;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),filter .2s}
.hot:active{transform:scale(.99)}
.hot:hover{filter:brightness(1.06)}
.hot-badge{background:var(--on-y);color:var(--y);border-radius:var(--rb);padding:3px 10px;font:800 12px var(--font-b);letter-spacing:.06em;white-space:nowrap}
.hot-d{margin-left:auto;background:color-mix(in srgb,var(--on-y) 14%,transparent);font-variant-numeric:tabular-nums;border-radius:var(--rb);padding:2px 10px;font-size:13px;white-space:nowrap}
.hotpromo .promo-box{border:2px solid var(--y);background:linear-gradient(135deg,color-mix(in srgb,var(--y) 11%,transparent),color-mix(in srgb,var(--m) 8%,transparent));box-shadow:0 0 56px color-mix(in srgb,var(--y) calc(var(--glow) * 20%),transparent)}
.hotpromo .hot-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.hotpromo .hot-days{color:var(--y-t,var(--y));font-weight:700}
.hotpromo h2{font-size:clamp(26px,5vw,40px)}
.hot-zero{color:var(--y-t,var(--y));white-space:nowrap}
.hot-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.hot-price s{opacity:.55;font-size:18px}
.hot-price i{font:800 34px var(--font-d);color:var(--y-t,var(--y));font-style:normal;text-shadow:0 0 14px color-mix(in srgb,var(--y) calc(var(--glow) * 40%),transparent)}
.hot-note{margin:var(--s4) 0 0;color:var(--ink2);font-size:15px}
.hot-note a{color:var(--c-t,var(--c))}
.svc{position:relative}
.rib{position:absolute;top:-12px;right:14px;background:var(--y);color:var(--on-y);font:800 12px var(--font-b);padding:4px 10px;border-radius:var(--rb);box-shadow:0 0 16px color-mix(in srgb,var(--y) calc(var(--glow) * 53%),transparent)}
@media(max-width:560px){.hot-d{margin-left:0}}
.moresvc{margin-top:var(--s6)}.moresvc h3{margin:0 0 var(--s2)}.moresvc-l{color:var(--mut);margin:0 0 var(--s4)}.moresvc-l a{color:var(--c-t,var(--c))}.msvgrid{grid-template-columns:repeat(3,1fr);gap:var(--s3)}.msv{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);text-decoration:none;transition:border-color .2s}.msv:hover{border-color:var(--m)}.msv-i{font-size:24px;line-height:1}.msv-t{flex:1;display:flex;flex-direction:column;gap:2px}.msv-t b{font-size:15px}.msv-t span{color:var(--mut);font-size:14px}.msv-a{color:var(--m-t,var(--m));font-weight:800}@media(max-width:1024px){.msvgrid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.msvgrid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.msv{transition:none}}
.mp.op{background:color-mix(in srgb,var(--col) 52%,var(--bg));border-style:dashed;box-shadow:0 6px 12px #0009}
.mp.op span{opacity:.92}
.nb.op{background:color-mix(in srgb,var(--ink) 11%,transparent);color:var(--ink2);text-transform:none;letter-spacing:0;font-weight:700}
.mx-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:var(--s3)}
.lg-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--g);border:2px solid #fff}
.lg-dot.op{background:var(--card);border:2px dashed #fff}
.md-report{margin-top:var(--s2);font-size:13px}
#mLoc[hidden]{display:none}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-top:var(--s4)}
.ct-card{display:flex;flex-direction:column;gap:var(--s3)}
.ct-card h3,.ct-card p{margin:0}
.ct-card p{color:var(--ink2);line-height:1.55}
.ct-btns{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:auto}
.ct-btns .btn{width:auto;overflow-wrap:anywhere}
.ct-sub{font-size:14px}
.ct-sub a{color:var(--c-t,var(--c))}
@media(max-width:760px){.ct-grid{grid-template-columns:1fr}.ct-btns .btn{width:100%}}

/* ---- новое в движке клуба ---- */
.sico{flex:none;filter:drop-shadow(0 6px 10px #0006)}
.gly.g-pin{color:var(--g-t,var(--g))}.gly.g-doc{color:var(--m-t,var(--m))}
.btn.btn-col{background:var(--col);color:var(--on-g)}
.btn.btn-m{background:var(--m);color:var(--on-m)}
.post-ad{border-color:var(--m);box-shadow:0 0 26px color-mix(in srgb,var(--m) calc(var(--glow) * 20%),transparent);display:flex;flex-direction:column;gap:var(--s2);justify-content:center}
.post-ad-p{font:700 24px var(--font-d);color:var(--m-t,var(--m));margin:0}
.promo-box.promo-m{border-color:var(--m);background:linear-gradient(135deg,color-mix(in srgb,var(--m) 7%,transparent),color-mix(in srgb,var(--mx) 8%,transparent));box-shadow:0 0 40px color-mix(in srgb,var(--m) calc(var(--glow) * 13%),transparent)}
.cr-ic{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;flex:none;font-size:34px;background:radial-gradient(circle at 32% 25%,color-mix(in srgb,var(--col) 55%,#fff),var(--col) 60%,color-mix(in srgb,var(--col) 60%,#000));border:3px solid #fff;box-shadow:0 6px 14px #0005}
.about.nophoto{grid-template-columns:1fr;max-width:860px}
.horb{position:absolute;right:3%;top:50%;transform:translateY(-50%);width:min(44vw,520px);aspect-ratio:1;pointer-events:none;z-index:0}
.horb i{position:absolute;border-radius:50%;filter:blur(2px);opacity:.75;animation:orb 14s ease-in-out infinite}
.horb i:nth-child(1){inset:8% 22% 30% 6%;background:radial-gradient(circle at 30% 30%,var(--g),transparent 68%)}
.horb i:nth-child(2){inset:30% 4% 6% 30%;background:radial-gradient(circle at 60% 40%,var(--m),transparent 66%);animation-delay:-5s}
.horb i:nth-child(3){inset:20% 26% 26% 26%;background:radial-gradient(circle,var(--c),transparent 64%);animation-delay:-9s;opacity:.55}
@keyframes orb{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-5%) scale(1.08)}}
@media(max-width:900px){.horb{display:none}}
@media(prefers-reduced-motion:reduce){.horb i{animation:none}}

/* ===== Полировка 16.10.2026 (impeccable + taste): браузерные мелочи, главный момент героя, кнопка бота ===== */
::selection{background:color-mix(in srgb,var(--g) 30%,transparent);color:var(--ink)}
html{scrollbar-color:color-mix(in srgb,var(--ink) 26%,transparent) var(--bg);accent-color:var(--g)}
input,textarea{caret-color:var(--g)}
a{text-underline-offset:.18em}
.hot-price,.hot-days,.promo-item{font-variant-numeric:tabular-nums}
.stats{gap:var(--s7)}
/* Главный момент — «точка ложится на карту»: заголовок наводится на резкость, проступает карта с городами,
   затем приезжает карточка «Добавь себя на карту», и её точка садится с двумя кольцами. Один раз, без циклов.
   Состояние по умолчанию видимое: если анимации не запустятся, всё на месте. */
@media(prefers-reduced-motion:no-preference){
 .js .hero h1{animation:hFocus .9s cubic-bezier(.16,1,.3,1) both}
 .js .hero h1~p{animation:hRise .8s cubic-bezier(.16,1,.3,1) .12s both}
 .js .hero .hbtns{animation:hRise .8s cubic-bezier(.16,1,.3,1) .2s both}
 .js .hero .hot{animation:hRise .8s cubic-bezier(.16,1,.3,1) .28s both}
 .js .hero .stats{animation:hRise .8s cubic-bezier(.16,1,.3,1) .36s both}
 .js .hmap,.js .horb{animation:hMap 1.4s cubic-bezier(.16,1,.3,1) .15s both}
 .js .hcta{animation:hCard .75s cubic-bezier(.16,1,.3,1) 1.4s both}
 .js .hcta-pin{animation:hPin .55s cubic-bezier(.16,1,.3,1) 1.85s both,pinp 1.6s ease-out 2.35s 2}
}
@keyframes hFocus{from{opacity:0;transform:translateY(.35em);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes hRise{from{opacity:0;transform:translateY(14px)}}
@keyframes hMap{from{opacity:0;transform:scale(.97)}}
@keyframes hCard{from{opacity:0;transform:translateY(28px) scale(.96)}}
@keyframes hPin{0%{opacity:0;transform:translateY(-40px) scale(.5)}65%{opacity:1;transform:translateY(3px) scale(1.12)}100%{opacity:1;transform:none}}
.btn{transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .2s,background .2s,border-color .2s}
.btn:active{transform:translateY(1px) scale(.985)}
/* кнопка бота на телефоне появляется после первого экрана, чтобы не закрывать героя */
.tgw{transition:opacity .25s,transform .4s cubic-bezier(.16,1,.3,1),visibility 0s}
.tgw.off{opacity:0;transform:translateY(18px);visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s,visibility 0s .2s}
.hero .hot-d{margin-left:0}
