/* PUSHTALK — 4G-рации RUPTT. Базовая тема — чёрно-белая; акцент меняется атрибутом data-theme на <html> */
@font-face{font-family:'Unbounded';src:url('../fonts/unbounded.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Onest';src:url('../fonts/onest.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ink:#0B0B0C;--ink-2:#18181B;--ink-3:#27272A;--paper:#FFFFFF;--mist:#F4F4F5;--mist-2:#ECECEE;--line:#E4E4E7;
  --muted:#52525B;--muted-d:#A1A1AA;--red:#E5232B;
  --acc:#2440F0;--acc-ink:#FFFFFF;--acc-hover:#1A30C8;--acc-soft:#E9ECFE;--acc-glow:rgba(36,64,240,.3);--acc-lt:#7B8CFF;--disc:#2440F0;
  --acc-dk:#FFFFFF;--acc-dk-ink:#0B0B0C;--acc-dk-hover:#E4E4E7;--acc-dk-glow:rgba(255,255,255,.22);
  --wrap:1152px;--pad:clamp(18px,4vw,36px);--hdr:64.8px;
  --font-d:'Unbounded','Arial Black',system-ui,sans-serif;
  --font:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
[data-theme="mono"]{--acc:#0B0B0C;--acc-hover:#2A2A2E;--acc-soft:#ECECEE;--acc-glow:rgba(11,11,12,.22);--acc-lt:#FFFFFF;--disc:#FFFFFF}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:75.6px}
body{margin:0;font-family:var(--font);font-size:16.2px;line-height:1.55;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2.7px solid var(--acc);outline-offset:2.7px;border-radius:5.4px}
.dark :focus-visible{outline-color:var(--acc-dk)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.sect{padding:clamp(57.6px,8vw,108px) 0}
.h2{margin:0;font-family:var(--font-d);font-weight:600;font-size:clamp(25.2px,3.4vw,43.2px);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
.h3{margin:0;font-family:var(--font-d);font-weight:600;font-size:clamp(19.8px,2.2vw,27px);line-height:1.15;letter-spacing:-.02em}
.lead{margin:0;font-size:clamp(16.2px,1.5vw,18px);color:var(--muted);max-width:42em}
.sect-head{display:flex;flex-direction:column;gap:14.4px;max-width:774px;margin-bottom:clamp(28.8px,4vw,46.8px)}
.dark{background:var(--ink);color:#EDEDEF}
.dark .h2,.dark .h3{color:#fff}
.dark .lead{color:var(--muted-d)}
.mist{background:var(--mist)}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50.4px;padding:0 25.2px;border-radius:899.1px;border:2px solid transparent;font-weight:700;font-size:15.3px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--acc);color:var(--acc-ink)}
.btn-primary:hover{background:var(--acc-hover)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:#fff}
.dark .btn-primary{background:var(--acc-dk);color:var(--acc-dk-ink)}
.dark .btn-primary:hover{background:var(--acc-dk-hover)}
.dark .btn-ghost{border-color:#fff;color:#fff}
.dark .btn-ghost:hover{background:#fff;color:var(--ink)}
.btns{display:flex;flex-wrap:wrap;gap:9px}

/* шапка */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(9px);backdrop-filter:saturate(1.4) blur(9px);border-bottom:1px solid var(--line)}
.hdr{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:var(--hdr)}
.logo{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;min-height:39.6px}
.logo svg{width:27px;height:27px;flex:none}
.logo .dot{fill:var(--acc)}
.logo span{font-family:var(--font-d);font-weight:700;font-size:17.1px;letter-spacing:.06em}
.nav{display:flex;gap:23.4px}
.nav a{padding:9px 0;font-size:14.4px;font-weight:500;text-decoration:none;text-underline-offset:6.3px;text-decoration-thickness:2px}
.nav a:hover{text-decoration:underline}
.hdr-cta{display:flex;align-items:center;gap:16.2px}
.phone{font-weight:700;font-size:14.4px;text-decoration:none;white-space:nowrap;padding:9px 0}
.hdr .btn{min-height:41.4px;padding:0 19.8px;font-size:14.4px}
.menu-btn{display:none;width:41.4px;height:41.4px;border-radius:10.8px;border:1.5px solid var(--line);background:#fff;align-items:center;justify-content:center;cursor:pointer}
.menu-btn svg{width:19.8px;height:19.8px}
@media (max-width:990px){
  .nav{display:none;position:absolute;top:100%;left:calc(-1 * var(--pad));right:calc(-1 * var(--pad));flex-direction:column;gap:0;padding:7.2px var(--pad) 18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 36px -21.6px rgba(0,0,0,.3)}
  .nav.open{display:flex}
  .nav a{padding:12.6px 0;font-size:16.2px;border-bottom:1px solid var(--line)}
  .menu-btn{display:inline-flex}
  .phone{display:none}
}
@media (max-width:468px){.hdr{gap:9px}.hdr-cta{gap:9px}.hdr .btn{padding:0 12.6px;font-size:12.6px;white-space:nowrap}.logo span{font-size:14.4px}}

/* первый экран: обе рации и линия связи целиком в первом экране */
.hero{position:relative;overflow:hidden;background:#fff}
.hero-in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(7.2px,2vw,32.4px);min-height:calc(100svh - var(--hdr));padding:clamp(14.4px,2.5vh,32.4px) 0}
.unit{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;gap:9px}
.rimg{position:relative;display:block}
.unit .disc{position:absolute;top:63.6%;left:50%;width:128%;aspect-ratio:1;border-radius:50%;background:var(--mist);transform:translate(-50%,-50%);z-index:0}
.unit img{position:relative;z-index:1;height:min(64svh,576px);width:auto;max-width:none;filter:drop-shadow(0 27px 25.2px rgba(0,0,0,.28))}
.unit figcaption{position:relative;z-index:1;text-align:center;line-height:1.35}
.unit figcaption b{display:block;font-size:13.5px}
.unit figcaption span{font-size:12.6px;color:var(--muted)}
.bubble{position:absolute;z-index:2;top:1%;padding:9px 12.6px;border-radius:14.4px;font-size:13.5px;font-weight:700;white-space:nowrap;box-shadow:0 12.6px 27px -16.2px rgba(0,0,0,.5)}
.unit-l .bubble{left:calc(100% + 3.6px);background:#fff;border:1px solid var(--line);border-bottom-left-radius:3.6px}
.unit-r .bubble{right:calc(100% + 3.6px);background:var(--ink);color:#fff;border-bottom-right-radius:3.6px}
.hero-c{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(12.6px,2.4vh,23.4px);min-width:0}
.hero h1{margin:0;font-family:var(--font-d);font-weight:700;font-size:clamp(34.2px,min(5.4vw,9.5svh),82.8px);line-height:.95;letter-spacing:-.045em}
.hero-lead{margin:0;max-width:33em;font-size:clamp(14.4px,1.35vw,17.1px);color:var(--muted)}
.route{position:relative;align-self:stretch;margin:clamp(3.6px,1vh,12.6px) calc(-1 * clamp(7.2px,2vw,32.4px));padding:0 10.8px}
.route::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:repeating-linear-gradient(90deg,var(--ink) 0 9px,transparent 9px 16.2px)}
.pulse{position:absolute;z-index:1;top:50%;left:0;width:14.4px;height:14.4px;margin:-7.2px 0 0 -7.2px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 6.3px var(--acc-glow),0 0 23.4px 5.4px var(--acc-glow);opacity:0;animation:travel 12s linear infinite}
.pulse:nth-child(2){animation-delay:4s}
.pulse:nth-child(3){animation-delay:8s}
@keyframes travel{0%{left:0;opacity:0}5%{opacity:1}95%{opacity:1}100%{left:100%;opacity:0}}
.cities{position:relative;margin:0;padding:0;list-style:none;display:flex;justify-content:space-around;gap:5.4px}
.cities li{display:flex;flex-direction:column;align-items:center;gap:8.1px}
.cities .tz{font-size:10.8px;color:var(--muted)}
.cities .dt{width:12.6px;height:12.6px;border-radius:50%;background:#fff;border:2.7px solid var(--ink)}
.cities b{font-size:12.6px;font-weight:600}
.hero .btns{justify-content:center}
.feats{margin:0;padding:19.8px 0 25.2px;border-top:1px solid var(--line);list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(207px,100%),1fr));gap:10.8px 25.2px;font-size:15.3px;font-weight:600}
.feats li{display:flex;align-items:center;gap:10.8px}
.chk{flex:none;width:25.2px;height:25.2px;border-radius:50%;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center}
.chk svg{width:12.6px;height:12.6px}
@media (max-width:1062px){.cities .tz{display:none}}
@media (max-width:810px){
  .hero-in{grid-template-columns:1fr 1fr;grid-template-areas:"c c" "l r";min-height:0;padding:25.2px 0 18px;row-gap:19.8px}
  .hero-c{grid-area:c}
  .unit-l{grid-area:l}.unit-r{grid-area:r}
  .unit img{height:min(44svh,342px)}
  .route{display:none}
  .unit .disc{width:120%}
}
@media (max-width:576px){.bubble{display:none}}

/* живая демонстрация */
.demo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"text stage" "ctrl stage";gap:25.2px 50.4px;align-items:center}
.demo-text{grid-area:text;display:flex;flex-direction:column;gap:18px;align-self:end}
.demo-text p{margin:0;color:var(--muted-d);font-size:17.1px;max-width:30em}
.demo-ctrl{grid-area:ctrl;align-self:start;display:flex;flex-direction:column;gap:19.8px}
.tabs{display:inline-flex;align-self:flex-start;gap:3.6px;padding:4.5px;border-radius:899.1px;background:rgba(255,255,255,.08)}
.tab{min-height:39.6px;padding:0 16.2px;border:0;border-radius:899.1px;background:transparent;color:#DCDCE0;font-size:13.5px;font-weight:600;cursor:pointer}
.tab[aria-pressed="true"]{background:#fff;color:var(--ink)}
.ptt{display:flex;align-items:center;gap:18px}
.ptt-btn{flex:none;width:115.2px;height:115.2px;border:0;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;box-shadow:0 0 0 9px rgba(255,255,255,.08),0 21.6px 36px -16.2px rgba(0,0,0,.7);transition:background-color .12s,transform .12s,color .12s}
.ptt-btn svg{width:41.4px;height:41.4px}
.ptt-btn[aria-pressed="true"]{background:var(--red);color:#fff;transform:scale(.96);box-shadow:0 0 0 10.8px rgba(229,35,43,.3),0 21.6px 36px -16.2px rgba(0,0,0,.7)}
.ptt-hint b{display:block;font-size:18px;color:#fff}
.ptt-hint span{font-size:13.5px;color:var(--muted-d)}
.demo-status{display:flex;align-items:center;gap:9px;min-height:25.2px;margin:0;font-weight:700;color:#fff}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--red);display:none;animation:blink 1.1s ease-in-out infinite}
.talking .live-dot{display:inline-block}
@keyframes blink{50%{opacity:.3}}
.demo-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10.8px;color:#DCDCE0}
.demo-list li{display:flex;align-items:center;gap:10.8px}
.demo-list li::before{content:"";flex:none;width:7.2px;height:7.2px;border-radius:2px;background:var(--acc-lt)}
.demo-stage{grid-area:stage;position:relative;display:grid;place-items:center;min-height:min(clamp(468px,54vw,684px),calc(100svh - var(--hdr) - 24px))}
#demo{overflow:hidden;padding:clamp(36px,5vw,72px) 0}
.disc-big,.rings span{position:absolute;top:50%;left:50%;width:min(92%,522px,calc((100svh - var(--hdr) - 72px) * .8));aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%)}
.disc-big{background:var(--disc)}
.rings span{border:2.7px solid rgba(255,255,255,.85);opacity:0}
.talking .rings span{animation:ring 1.6s ease-out infinite}
.talking .rings span:nth-child(2){animation-delay:.53s}
.talking .rings span:nth-child(3){animation-delay:1.06s}
@keyframes ring{0%{transform:translate(-50%,-50%) scale(1);opacity:.75}100%{transform:translate(-50%,-50%) scale(1.32);opacity:0}}
.radio-wrap{position:relative;z-index:1;width:min(clamp(198px,24vw,279px),calc((100svh - var(--hdr) - 72px) * .41))}
.radio-wrap>img{width:100%;filter:drop-shadow(0 36px 32.4px rgba(0,0,0,.5))}
.rscr.live{position:absolute;z-index:2;border-radius:1.6%/2%;container-type:inline-size}
.rscr.live::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,0) 42%);pointer-events:none}
@media (max-width:810px){
  .demo-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "stage" "ctrl"}
  .demo-stage{min-height:0;padding:27px 0}
  .disc-big,.rings span{width:min(96%,378px)}
  .radio-wrap{width:min(180px,52vw)}
}

/* галерея: фото всегда целиком */
.gallery-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28.8px,4vw,57.6px);align-items:start}
.gallery-grid>div{min-width:0}
.viewer{position:relative;aspect-ratio:1/1;border-radius:25.2px;background:var(--mist);overflow:hidden}
.viewer img{position:absolute;left:8%;top:6%;width:84%;height:88%;max-width:none;object-fit:contain;filter:drop-shadow(0 27px 27px rgba(0,0,0,.28))}
.viewer-cap{position:absolute;left:16.2px;bottom:16.2px;padding:7.2px 12.6px;border-radius:899.1px;background:#fff;font-size:13.5px;font-weight:600}
.arrow{position:absolute;top:50%;width:43.2px;height:43.2px;margin-top:-21.6px;border:0;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 9px 21.6px -12.6px rgba(0,0,0,.5)}
.arrow svg{width:18px;height:18px}
.arrow-prev{left:14.4px}.arrow-next{right:14.4px}
.thumbs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin-top:12.6px}
.thumb{position:relative;aspect-ratio:1/1;border:2px solid transparent;border-radius:12.6px;background:var(--mist);cursor:pointer;overflow:hidden}
.thumb img{position:absolute;inset:6.3px;width:calc(100% - 12.6px);height:calc(100% - 12.6px);max-width:none;object-fit:contain}
.thumb[aria-current="true"]{border-color:var(--acc);background:#fff}
.specs{margin:25.2px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25.2px}
.specs div{display:flex;flex-direction:column;gap:2px;padding:12.6px 0;border-top:1px solid var(--line)}
.specs dt{font-size:12.6px;color:var(--muted)}
.specs dd{margin:0;font-weight:600}
.box{margin-top:23.4px;padding:18px 19.8px;border-radius:18px;background:var(--mist)}
.box b{display:block;margin-bottom:5.4px}
.box p{margin:0;color:var(--muted);font-size:14.4px}
.note{margin:10.8px 0 0;font-size:12.6px;color:var(--muted)}
@media (max-width:810px){
  .gallery-grid{grid-template-columns:minmax(0,1fr)}
  .thumbs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:68.4px;overflow-x:auto;padding-bottom:5.4px}
}
@media (max-width:432px){.specs{grid-template-columns:1fr}}

/* одна система */
.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(297px,100%),1fr));gap:18px}
.card{display:flex;flex-direction:column;gap:16.2px;padding:16.2px;border-radius:23.4px;background:#fff;border:1px solid var(--line)}
.card-visual{position:relative;height:261px;border-radius:16.2px;background:var(--mist);display:grid;place-items:center;overflow:hidden}
.card-body{display:flex;flex-direction:column;gap:7.2px;padding:0 7.2px 7.2px}
.card h3{margin:0;font-size:20.7px;font-weight:700;line-height:1.25}
.card p{margin:0;color:var(--muted)}
.cv-top{width:82%;filter:drop-shadow(0 16.2px 18px rgba(0,0,0,.28))}
.cv-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.cv-stand{position:absolute;top:4%;left:50%;height:92%;width:auto;max-width:none;transform:translateX(-50%);filter:drop-shadow(0 16.2px 18px rgba(0,0,0,.3))}
.sim{width:180px;height:225px;border-radius:19.8px 63px 19.8px 19.8px;background:var(--acc);color:var(--acc-ink);box-shadow:0 27px 36px -21.6px rgba(0,0,0,.5);display:flex;flex-direction:column;justify-content:space-between;padding:23.4px}
.sim-chip{width:75.6px;height:59.4px;border-radius:10.8px;background:linear-gradient(135deg,#F4D58D,#C9A24E);position:relative}
.sim-chip::before,.sim-chip::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(80,60,20,.45)}
.sim-chip::after{top:0;bottom:0;left:50%;right:auto;width:2px;height:auto}
.sim b{font-family:var(--font-d);font-size:30.6px;letter-spacing:-.02em}
.sim span{display:block;font-size:12.6px;font-weight:600}

/* диспетчерская */
.disp-block{display:flex;flex-direction:column;gap:25.2px;margin-top:clamp(36px,5vw,64.8px)}
.disp-block:first-of-type{margin-top:0}
.disp-tag{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;padding:7.2px 12.6px;border-radius:899.1px;background:var(--mist);font-weight:700;font-size:13.5px}
.disp-tag svg{width:16.2px;height:16.2px}
.win-shot{margin:0;border-radius:12.6px;overflow:hidden;box-shadow:0 36px 72px -36px rgba(0,0,0,.45),0 0 0 1px var(--line)}
.win-shot img{width:100%}
.disp-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:18px 36px}
.disp-cols p{margin:0;color:var(--muted)}
.ticks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.ticks li{display:flex;gap:10.8px;align-items:flex-start}
.ticks li::before{content:"";flex:none;width:7.2px;height:7.2px;margin-top:8.1px;border-radius:2px;background:var(--acc)}
.export{display:flex;gap:14.4px;align-items:flex-start;padding:19.8px;border-radius:18px;background:var(--ink);color:#fff}
.export svg{flex:none;width:27px;height:27px}
.export b{display:block;font-size:17.1px;margin-bottom:3.6px}
.export p{margin:0;color:var(--muted-d)}
.and-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(25.2px,4vw,57.6px);align-items:center}
.and-copy{display:flex;flex-direction:column;gap:14.4px}
.and-copy p{margin:0;color:var(--muted)}
.phones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(9px,1.6vw,19.8px);align-items:start}
.phone-f{margin:0}
.ph-body{position:relative;padding:6.3px;border-radius:34.2px;background:#0B0B0C;box-shadow:0 27px 54px -27px rgba(0,0,0,.55),inset 0 0 0 1.5px #34343A}
.ph-body::before{content:"";position:absolute;z-index:2;top:13.5px;left:50%;width:8.1px;height:8.1px;margin-left:-4px;border-radius:50%;background:#000;box-shadow:0 0 0 1.5px #26262B}
.ph-body img{width:100%;border-radius:27.9px}
.phone-f figcaption{margin-top:10.8px;text-align:center;color:var(--muted);font-size:13.5px;font-weight:600}
@media (max-width:810px){.and-grid{grid-template-columns:minmax(0,1fr)}}
.feat-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(225px,100%),1fr));gap:10.8px}
.feat-grid li{display:flex;align-items:center;gap:12.6px;padding:12.6px 14.4px;border-radius:14.4px;background:var(--mist);font-weight:600;font-size:14.4px;line-height:1.3}
.fi{flex:none;width:37.8px;height:37.8px;border-radius:10.8px;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center}
.fi svg{width:19.8px;height:19.8px}
.feat-grid li.hl{background:var(--ink);color:#fff}
.feat-grid li.hl .fi{background:#fff;color:var(--ink)}
@media (max-width:576px){.phones{gap:7.2px}.ph-body{padding:3.6px;border-radius:19.8px}.ph-body::before{top:7.2px;width:5.4px;height:5.4px;margin-left:-2.7px}.ph-body img{border-radius:16.2px}.phone-f figcaption{font-size:10.8px}}

/* шаги */
.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:32.4px}
.steps li{display:flex;flex-direction:column;gap:10.8px;padding-top:21.6px;border-top:2.7px solid var(--ink)}
.steps .num{font-family:var(--font-d);font-weight:700;font-size:39.6px;line-height:1;color:var(--acc)}
.steps h3{margin:0;font-size:19.8px;line-height:1.3}
.steps p{margin:0;color:var(--muted)}

/* сравнение */
.cmp{overflow-x:auto;border-radius:19.8px;border:1px solid var(--line);background:#fff}
.cmp table{width:100%;min-width:738px;border-collapse:collapse;font-size:14.4px;line-height:1.45}
.cmp th,.cmp td{padding:16.2px 19.8px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp thead th{font-weight:700}
.cmp thead th:first-child{font-weight:500;color:var(--muted)}
.cmp tbody th{font-weight:600}
.cmp td{color:var(--muted)}
.cmp .hl{background:var(--ink-2);color:#EDEDEF;border-bottom-color:#2E2E33}
.cmp thead .hl{background:var(--acc);color:var(--acc-ink);border-bottom-color:transparent}
[data-theme="mono"] .cmp thead .hl{background:#000}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}

/* отрасли */
.inds{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(234px,100%),1fr));gap:16.2px}
.ind{display:flex;flex-direction:column;gap:10.8px;padding:23.4px;border-radius:19.8px;background:var(--mist)}
.ind-ico{width:50.4px;height:50.4px;border-radius:14.4px;background:#fff;color:var(--acc);display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line)}
.ind-ico svg{width:25.2px;height:25.2px}
.ind h3{margin:0;font-size:18.9px}
.ind p{margin:0;color:var(--muted);font-size:15.3px}

/* калькулятор */
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(414px,100%),1fr));gap:18px}
.calc-card{display:flex;flex-direction:column;gap:27px;padding:28.8px;border-radius:23.4px;background:#fff;color:var(--ink)}
.calc-row{display:flex;justify-content:space-between;align-items:baseline;gap:14.4px}
.calc-row label{font-weight:600}
.calc-row output{font-family:var(--font-d);font-weight:600;font-size:30.6px}
input[type=range]{width:100%;height:39.6px;accent-color:var(--acc)}
.range-ends{display:flex;justify-content:space-between;font-size:12.6px;color:var(--muted)}
fieldset{margin:0;padding:0;border:0}
legend{padding:0;margin-bottom:10.8px;font-weight:600}
.seg{display:flex;flex-wrap:wrap;gap:7.2px}
.seg button{min-height:43.2px;padding:0 19.8px;border-radius:899.1px;border:1.5px solid #D4D4D8;background:#fff;font-size:14.4px;font-weight:600;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.check{display:flex;align-items:flex-start;gap:10.8px;min-height:39.6px;padding:5.4px 0;font-weight:500;cursor:pointer}
.check input{flex:none;width:19.8px;height:19.8px;margin:1px 0 0;accent-color:var(--acc)}
.check span{display:flex;flex-direction:column;line-height:1.35}
.check b{font-weight:600}
.check small{font-size:12.6px;color:var(--muted)}
.incl{margin-top:auto;padding:14.4px 16.2px;border-radius:14.4px;background:var(--mist)}
.incl b{display:block;margin-bottom:3.6px;font-size:13.5px}
.incl p{margin:0;color:var(--muted);font-size:13.5px}
.calc-res{display:flex;flex-direction:column;gap:19.8px;padding:28.8px;border-radius:23.4px;background:var(--acc-dk);color:var(--acc-dk-ink)}
.calc-res h3{margin:0;font-size:16.2px}
.calc-res dl{margin:0}
.calc-res dl div{display:flex;justify-content:space-between;gap:14.4px;padding:10.8px 0;border-bottom:1px solid currentColor;border-bottom-color:rgba(128,128,128,.35)}
.calc-res dd{margin:0;font-weight:700}
.totals{display:flex;flex-wrap:wrap;gap:18px 39.6px}
.totals span{display:block;font-size:13.5px;font-weight:600}
.totals strong{display:block;font-family:var(--font-d);font-weight:700;font-size:clamp(23.4px,3vw,34.2px);letter-spacing:-.02em}
.calc-res .btn{margin-top:auto;align-self:flex-start;background:var(--acc);color:var(--acc-ink)}
.calc-res .btn:hover{background:var(--acc-hover)}

/* связь при ограничениях */
.net-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(243px,100%),1fr));gap:16.2px}
.net-card{display:flex;flex-direction:column;gap:9px;padding:23.4px;border-radius:19.8px;background:var(--mist)}
.net-card .k{font-family:var(--font-d);font-weight:700;font-size:27px;letter-spacing:-.02em;line-height:1}
.net-card h3{margin:0;font-size:18px;line-height:1.3}
.net-card p{margin:0;color:var(--muted);font-size:15.3px}
.net-card.ink{background:var(--ink);color:#fff}
.net-card.ink p{color:var(--muted-d)}
.net-foot{margin:21.6px 0 0;color:var(--muted);font-size:13.5px;max-width:60em}

/* вопросы */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:36px 57.6px}
.faq-list{border-top:2px solid var(--ink)}
.faq-list details{border-bottom:1px solid #D4D4D8}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:21.6px;min-height:64.8px;padding:16.2px 0;font-weight:700;font-size:17.1px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary svg{flex:none;width:19.8px;height:19.8px;transition:transform .2s}
.faq-list details[open] summary svg{transform:rotate(180deg)}
.faq-list p{margin:0 0 19.8px;max-width:46em;color:var(--muted)}
@media (max-width:810px){.faq-grid{grid-template-columns:minmax(0,1fr)}}

/* заявка */
.lead-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:43.2px 57.6px;align-items:start}
.lead-text{display:flex;flex-direction:column;gap:19.8px}
.lead-text .h2{font-size:clamp(28.8px,4vw,50.4px);font-weight:700}
.lead-text p{margin:0;color:var(--muted-d);font-size:17.1px;max-width:28em}
.contacts{display:flex;flex-wrap:wrap;gap:3.6px 21.6px;font-weight:700}
.contacts a{color:#fff;padding:9px 0;text-underline-offset:4.5px}
.form-card{padding:clamp(21.6px,3vw,32.4px);border-radius:23.4px;background:#fff;color:var(--ink)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16.2px}
.field{display:flex;flex-direction:column;gap:5.4px}
.form .full{grid-column:1/-1}
.field label{font-size:13.5px;font-weight:600}
.field input,.field select{min-height:46.8px;padding:0 12.6px;border:1.5px solid #D4D4D8;border-radius:10.8px;background:#fff;font-size:14.4px}
.field input:focus,.field select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3.6px rgba(0,0,0,.08)}
.consent{display:flex;align-items:flex-start;gap:10.8px;font-size:12.6px;line-height:1.45;color:var(--muted);cursor:pointer}
.consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink)}
.consent a{color:var(--ink)}
.hp{position:absolute;left:-8999.1px;width:1px;height:1px;opacity:0}
.form .btn{width:100%;background:var(--acc);color:var(--acc-ink)}
.form-msg{margin:0;font-size:13.5px;font-weight:600}
.form-msg.err{color:#B42318}
.form-done{display:none;flex-direction:column;align-items:flex-start;gap:12.6px}
.form-card.done .form{display:none}
.form-card.done .form-done{display:flex}
.form-done h3{margin:0;font-size:23.4px}
.form-done p{margin:0;color:var(--muted)}
@media (max-width:810px){.lead-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:504px){.form{grid-template-columns:1fr}}

/* подвал */
.site-footer{background:var(--ink);color:var(--muted-d);border-top:1px solid #222226;padding:50.4px 0 32.4px;font-size:13.5px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:28.8px}
.site-footer .logo{color:#fff}
.site-footer .logo .dot{fill:var(--acc-lt)}
.foot-col{display:flex;flex-direction:column;gap:2px}
.foot-col>span{color:#fff;font-weight:600;padding-bottom:7.2px}
.foot-col a{color:#DCDCE0;text-decoration:none;padding:5.4px 0}
.foot-col a:hover{text-decoration:underline}
.legal{margin:32.4px 0 0;padding-top:19.8px;border-top:1px solid #222226;font-size:12.6px}

/* плавающая кнопка на телефоне */
.mcta{display:none}
@media (max-width:630px){
  .mcta{display:flex;position:fixed;left:10.8px;right:10.8px;bottom:10.8px;z-index:55;transition:transform .25s}
  .mcta .btn{width:100%;box-shadow:0 14.4px 27px -10.8px rgba(0,0,0,.5)}
  .mcta.hide{transform:translateY(140%)}
  body{padding-bottom:72px}
}

/* cookie */
.cookie{position:fixed;left:14.4px;right:14.4px;bottom:14.4px;z-index:60;max-width:648px;margin:0 auto;display:none;align-items:center;gap:14.4px;padding:14.4px 16.2px;border-radius:16.2px;background:var(--ink-2);color:#EDEDEF;font-size:13.5px;box-shadow:0 18px 36px -18px rgba(0,0,0,.6)}
.cookie.show{display:flex}
.cookie a{color:#fff}
.cookie .btn{min-height:39.6px;padding:0 16.2px;font-size:13.5px;flex:none;background:#fff;color:var(--ink)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .pulse{animation:none !important;opacity:1;left:50%}
  .pulse:nth-child(n+2){display:none}
  .talking .rings span,.live-dot{animation:none !important}
}

/* ===== экран рации: интерфейс приложения Ru PTT (980 ед. = ширина экрана) ===== */
.rscr{--u:calc(100cqw / 980);position:relative;width:100%;height:100%;overflow:hidden;background:#F1F2F4;color:#111214;font-family:var(--font);display:flex;flex-direction:column;line-height:1.1;font-weight:500}
.rscr .sb{flex:none;height:calc(var(--u)*62);background:#000;color:#fff;display:flex;align-items:center;justify-content:flex-end;gap:calc(var(--u)*14);padding:0 calc(var(--u)*26);font-size:calc(var(--u)*34);font-weight:600}
.rscr .sb svg{height:calc(var(--u)*30);width:auto;display:block}
.rscr .ab{flex:none;height:calc(var(--u)*118);background:#1C1C1F;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 calc(var(--u)*30);font-weight:700;font-size:calc(var(--u)*56)}
.rscr .ab svg{height:calc(var(--u)*46);width:auto;display:block}
.rscr .bd{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;padding:calc(var(--u)*26) calc(var(--u)*26) calc(var(--u)*22)}
.rscr .gr{width:100%;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*16)}
.rscr .gr .ar{color:#111214;font-size:calc(var(--u)*60);font-weight:700;width:calc(var(--u)*56);text-align:center}
.rscr .gr .pl{flex:1;height:calc(var(--u)*98);border-radius:calc(var(--u)*20);background:#1C1C1F;color:#fff;display:flex;align-items:center;justify-content:center;font-size:calc(var(--u)*54);font-weight:700;white-space:nowrap}
.rscr .sub{margin-top:calc(var(--u)*14);font-size:calc(var(--u)*34);color:#5A5A62;font-weight:600}
.rscr .md{flex:1;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*30)}
.rscr .md .br{width:calc(var(--u)*40);height:calc(var(--u)*150);border:calc(var(--u)*9) solid #B4B4BB;border-right:0;border-radius:50% 0 0 50%/50% 0 0 50%}
.rscr .md .br.r{transform:scaleX(-1)}
.rscr .av{width:calc(var(--u)*190);height:calc(var(--u)*190);border-radius:50%;background:#2A2A2E;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:calc(var(--u)*64)}
.rscr .av svg{width:52%;height:52%;display:block}
.rscr .st{flex:none;font-size:calc(var(--u)*58);font-weight:700;text-align:center;white-space:nowrap}
.rscr .tm{display:none;margin-left:calc(var(--u)*16);font-weight:600;color:#D61F28}
.rscr.other .md .br{border-color:#111214}
.rscr.other .av{background:#111214;box-shadow:0 0 0 calc(var(--u)*14) rgba(17,18,20,.16)}
.rscr.me .md .br{border-color:#E5232B}
.rscr.me .av{background:#111214;color:#fff;box-shadow:0 0 0 calc(var(--u)*14) rgba(229,35,43,.8)}
.rscr.me .tm{display:inline}
/* вызов 1-1: группа — обычным текстом, чёрная строка с собеседником «падает» ниже */
.rscr .peer{display:none}
.rscr.p2p .gr .pl{background:transparent;color:#111214;font-size:calc(var(--u)*58)}
.rscr.p2p .peer{display:flex;align-items:center;justify-content:center;width:72%;height:calc(var(--u)*86);margin-top:calc(var(--u)*10);border-radius:calc(var(--u)*18);background:#1C1C1F;color:#fff;font-size:calc(var(--u)*48);font-weight:700;white-space:nowrap;animation:peer-drop .4s cubic-bezier(.2,.8,.2,1)}
@keyframes peer-drop{from{transform:translateY(-115%);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.rscr.p2p .peer{animation:none}}

/* нажимаемые элементы не меньше 44px */
.hdr .btn,.cookie .btn{min-height:44px}
.menu-btn{width:44px;height:44px}
.tab,.seg button,.check{min-height:44px}
.arrow{width:44px;height:44px;margin-top:-22px}

/* комментарий в форме, ссылки на демо в вопросах, блок расчёта, приём ответа в демо */
.field textarea{min-height:104px;padding:12px 14px;border:1.5px solid #D4D4D8;border-radius:11px;background:#fff;font-size:16px;line-height:1.45;resize:vertical}
.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(0,0,0,.08)}
.field .opt{font-weight:400;color:var(--muted);font-size:13px}
.faq-list .faq-links{display:flex;flex-wrap:wrap;gap:10px}
.faq-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:var(--acc);color:var(--acc-ink);font-weight:600;font-size:15px;text-decoration:none}
.faq-links a:hover{background:var(--acc-hover)}
.calc-note b{display:block;margin-bottom:8px;font-family:var(--font-d);font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.15;letter-spacing:-.02em}
.calc-note p{margin:0;font-size:15px;opacity:.75}
.receiving .rings span{animation:ring 1.6s ease-out infinite}
.receiving .rings span:nth-child(2){animation-delay:.53s}
.receiving .rings span:nth-child(3){animation-delay:1.06s}
@media (prefers-reduced-motion:reduce){.receiving .rings span{animation:none !important}}

/* документы: компактной строкой внизу подвала */
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px}
.legal-links{display:flex;flex-wrap:wrap;gap:4px 18px}
.legal-links a{color:var(--muted-d);font-size:13px;text-decoration:none;padding:6px 0}
.legal-links a:hover{color:#fff;text-decoration:underline}

.box + .box{margin-top:12px}
.box p a{color:var(--ink);font-weight:600;text-underline-offset:3px}
.faq-list p a{color:var(--ink);font-weight:600}

/* ===================== Телефоны ===================== */
.cmp-switch,.more-btn{display:none}
.ptt-btn{-webkit-tap-highlight-color:transparent}
@media (max-width:600px){
  :root{--hdr:56px;--pad:16px}
  body{font-size:15px;line-height:1.5}
  .sect{padding:40px 0}
  .h2{font-size:25px;line-height:1.12}
  .h3{font-size:19px}
  .lead{font-size:15px}
  .sect-head{gap:10px;margin-bottom:20px}
  .btn{min-height:48px;padding:0 20px;font-size:15px}
  .logo svg{width:24px;height:24px}
  .logo span{font-size:15px}
  .hdr .btn{min-height:40px;padding:0 14px;font-size:13px}
  .menu-btn{width:44px;height:44px}
  /* первый экран целиком: заголовок, кнопки, обе рации */
  .hero-in{padding:16px var(--pad) 8px;row-gap:14px}
  .hero h1{font-size:34px}
  .hero-c{gap:12px}
  .hero-lead{font-size:14.5px;line-height:1.45}
  .hero .btns{flex-direction:column;align-items:stretch;width:100%;gap:8px}
  .hero .btns .btn{width:100%}
  .hero .btns .btn-ghost{min-height:44px}
  .unit img{height:min(34svh,290px)}
  .unit figcaption b{font-size:13px}.unit figcaption span{font-size:12px}
  .feats{grid-template-columns:1fr 1fr;gap:10px 12px;padding:14px 0 18px;font-size:13px;line-height:1.3}
  .feats li{gap:8px}
  .chk{width:22px;height:22px}.chk svg{width:11px;height:11px}
  /* демо: рация меньше, кнопка рядом и ничем не перекрыта */
  .demo-grid{gap:14px}
  .demo-text{gap:10px}
  .demo-text p{font-size:14.5px}
  .demo-list{gap:6px;font-size:14px}
  .demo-stage{padding:8px 0}
  .radio-wrap{width:min(150px,40vw)}
  .disc-big,.rings span{width:min(88%,300px)}
  .demo-ctrl{gap:14px}
  .tabs{align-self:stretch}.tab{flex:1;font-size:14px;padding:0 10px}
  .ptt{gap:16px}
  .ptt-btn{width:96px;height:96px}.ptt-btn svg{width:36px;height:36px}
  .ptt-hint b{font-size:17px}.ptt-hint span{font-size:13px}
  .demo-status{font-size:14px;min-height:22px}
  /* галерея и характеристики компактно */
  .viewer{aspect-ratio:5/4;border-radius:20px}
  .viewer-cap{left:12px;bottom:12px;font-size:13px;padding:6px 12px}
  .arrow{width:44px;height:44px;margin-top:-22px}
  .thumbs{grid-auto-columns:60px;gap:8px}
  .gallery-grid{gap:22px}
  .specs{grid-template-columns:1fr 1fr;column-gap:14px;margin-top:16px}
  .specs div{padding:9px 0}.specs dt{font-size:12px}.specs dd{font-size:13.5px;line-height:1.35}
  .box{margin-top:14px;padding:14px 16px;border-radius:16px}.box b{font-size:14.5px}.box p{font-size:13.5px}
  .note{font-size:12px}
  /* карточки листаются вбок, а не вниз */
  .cards3,.inds,.net-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 calc(-1 * var(--pad));padding:0 var(--pad) 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .cards3::-webkit-scrollbar,.inds::-webkit-scrollbar,.net-grid::-webkit-scrollbar{display:none}
  .cards3>*,.inds>*,.net-grid>*{flex:0 0 80%;scroll-snap-align:start}
  .card{padding:12px;gap:12px;border-radius:20px}
  .card-visual{height:190px;border-radius:14px}
  .card h3{font-size:18px}.card p{font-size:14px}
  .sim{width:130px;height:165px;padding:16px;border-radius:16px 46px 16px 16px}.sim-chip{width:54px;height:42px}.sim b{font-size:24px}.sim span{font-size:11.5px}
  .ind,.net-card{padding:18px;gap:8px}
  .ind h3,.net-card h3{font-size:17px}.ind p,.net-card p{font-size:14px}
  .ind-ico{width:44px;height:44px}.ind-ico svg{width:22px;height:22px}
  .net-card .k{font-size:24px}
  .net-foot{font-size:13px;margin-top:14px}
  /* диспетчерская */
  .disp-block{gap:16px;margin-top:30px}
  .disp-tag{font-size:13px;padding:6px 12px}
  .win-shot{border-radius:10px}
  .disp-cols{gap:14px}
  .disp-cols p,.and-copy p{font-size:14px}
  .export{padding:16px;gap:12px;border-radius:16px}.export b{font-size:16px}.export p{font-size:13.5px}.export svg{width:24px;height:24px}
  .and-grid{gap:18px}
  .phone-f figcaption{font-size:12px;margin-top:6px}
  .feat-grid{grid-template-columns:1fr 1fr;gap:8px}
  .feat-grid li{padding:10px;gap:9px;font-size:12.5px;line-height:1.25;border-radius:12px}
  .fi{width:30px;height:30px;border-radius:9px}.fi svg{width:16px;height:16px}
  .feat-grid:not(.open) li:nth-child(n+9){display:none}
  .more-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:10px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-size:14px;font-weight:600;cursor:pointer}
  .m-hide{display:none !important}
  /* шаги */
  .steps{gap:16px}
  .steps li{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-top:14px;border-top-width:2px}
  .steps .num{font-size:24px}
  .steps h3{font-size:16.5px;flex:1}
  .steps p{flex-basis:100%;font-size:14px}
  /* сравнение: RUPTT против одной колонки */
  .cmp-switch{display:flex;gap:4px;padding:4px;margin-bottom:12px;border-radius:999px;background:var(--mist-2)}
  .cmp-switch button{flex:1;min-height:40px;border:0;border-radius:999px;background:transparent;font-size:13.5px;font-weight:600;cursor:pointer}
  .cmp-switch button[aria-pressed="true"]{background:#fff;box-shadow:0 2px 8px -4px rgba(0,0,0,.3)}
  .cmp{overflow:visible;border-radius:16px}
  .cmp table{min-width:0;table-layout:fixed;font-size:13px;line-height:1.35}
  .cmp th,.cmp td{padding:10px 8px}
  .cmp thead th{font-size:12.5px}
  .cmp tbody th{width:31%;font-size:12.5px}
  .cmp[data-show="radio"] .c-msg,.cmp[data-show="msg"] .c-radio{display:none}
  /* расчёт */
  .calc-grid{gap:12px}
  .calc-card,.calc-res{padding:18px;gap:16px;border-radius:20px}
  .calc-row output{font-size:26px}
  .calc-res dl div{padding:8px 0;font-size:14px}
  .calc-note b{font-size:19px}
  .incl{padding:12px 14px}.incl b,.incl p{font-size:13px}
  /* вопросы */
  .faq-grid{gap:16px}
  .faq-list summary{min-height:54px;padding:12px 0;font-size:15.5px;gap:12px}
  .faq-list p{font-size:14px;margin-bottom:14px}
  .faq-links a{min-height:40px;font-size:13.5px;padding:0 14px}
  /* заявка */
  .lead-grid{gap:20px}
  .lead-text{gap:12px}
  .lead-text .h2{font-size:27px}
  .lead-text p{font-size:14.5px}
  .contacts{gap:0 16px;font-size:14.5px}
  .form-card{padding:18px;border-radius:20px}
  .form{grid-template-columns:1fr 1fr;gap:12px}
  .field label{font-size:13px}
  .field input,.field select{min-height:46px;font-size:16px;padding:0 12px}
  .field textarea{min-height:84px}
  .consent{font-size:12px}
  /* подвал короче: навигация дублирует меню */
  .site-footer{padding:32px 0 calc(24px + env(safe-area-inset-bottom,0px))}
  .foot-grid{grid-template-columns:1fr 1fr;gap:18px}
  .foot-grid>nav{display:none}
  .legal{margin-top:20px;padding-top:14px;font-size:12px}
  /* плавающая кнопка аккуратнее */
  .mcta{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .mcta .btn{min-height:50px}
}
@media (max-width:360px){
  .hero h1{font-size:30px}
  .form{grid-template-columns:1fr}
  .feats{font-size:12px}
}

/* поля формы и таблица не распирают экран телефона */
.field{min-width:0}
.field input,.field select,.field textarea{width:100%;min-width:0}
.disc-big,.rings,.rings span{pointer-events:none}
@media (max-width:600px){
  .cmp table{width:100%}
  .cmp th,.cmp td{overflow-wrap:anywhere;hyphens:auto}
  .export{display:none}
}

@media (max-width:810px){.hero-in{padding-left:var(--pad);padding-right:var(--pad)}}

/* ===== реплики с «голосовой» волной ===== */
.bubble{display:inline-flex;align-items:center;gap:8px}
.wave{display:inline-flex;align-items:center;gap:2px;height:13px;flex:none}
.wave b{display:block;width:3px;height:100%;border-radius:2px;background:currentColor;opacity:.85;transform-origin:center;animation:wv 1.1s ease-in-out infinite}
.wave b:nth-child(2){animation-delay:-.2s}.wave b:nth-child(3){animation-delay:-.45s}.wave b:nth-child(4){animation-delay:-.7s}.wave b:nth-child(5){animation-delay:-.9s}
@keyframes wv{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.unit-l .bubble .wave{color:var(--acc)}

/* ===== полоса с главными цифрами ===== */
.stats{background:var(--ink);color:#fff;padding:clamp(24px,3vw,36px) 0}
.stats-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.stats-grid li{display:flex;flex-direction:column;gap:8px;padding:2px clamp(12px,1.4vw,22px);border-left:1px solid #2A2A2E}
.stats-grid li:first-child{border-left:0;padding-left:0}
.stats-grid b{font-family:var(--font-d);font-weight:700;font-size:clamp(26px,2.5vw,38px);line-height:1;letter-spacing:-.03em;color:#fff;white-space:nowrap}
.stats-grid b em{font-style:normal;color:var(--acc-lt)}
.stats-grid li:nth-child(odd) b{color:var(--acc-lt)}
.stats-grid li:nth-child(odd) b em{color:#fff}
.stats-grid span{font-size:clamp(12.5px,1vw,14.5px);line-height:1.4;color:#C9C9CE}
@media (max-width:1100px){
  .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}
  .stats-grid li:nth-child(4){border-left:0;padding-left:0}
}

/* ===== телефон: разговор и линия городов, без листания вбок ===== */
.m-chat,.m-route{display:none}
@media (max-width:600px){
  .hero-in{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"c c c" "l chat r" "rt rt rt";column-gap:6px;row-gap:12px}
  .hero-c{grid-area:c}
  .unit-l{grid-area:l}.unit-r{grid-area:r}
  .unit img{height:min(29svh,240px)}
  .unit .disc{width:150%}
  .unit figcaption b{font-size:12.5px}.unit figcaption span{display:none}
  .m-chat{grid-area:chat;display:flex;flex-direction:column;justify-content:center;gap:14px;align-self:center;padding-bottom:22px}
  .bub{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:8px 10px;border-radius:14px;font-size:12.5px;font-weight:700;line-height:1.2;box-shadow:0 10px 22px -14px rgba(0,0,0,.5);opacity:0}
  .bub .wave{height:11px}.bub .wave b{width:2.5px}
  .bub-l{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px;animation:bubL 6s ease-in-out infinite}
  .bub-l .wave{color:var(--acc)}
  .bub-r{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px;animation:bubR 6s ease-in-out infinite}
  @keyframes bubL{0%{opacity:0;transform:translateY(6px)}6%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:none}}
  @keyframes bubR{0%,44%{opacity:0;transform:translateY(6px)}52%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:none}}
  .m-route{grid-area:rt;display:block;position:relative;height:96px;margin:2px 4px 0}
  .mr-line{position:absolute;left:0;right:0;top:34px;height:2px;background:repeating-linear-gradient(90deg,var(--ink) 0 8px,transparent 8px 14px)}
  .mr-pulse{position:absolute;top:35px;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 6px var(--acc-glow),0 0 22px 6px var(--acc-glow);opacity:0;animation:mtr 6s linear infinite;z-index:1}
  .mr-pulse+.mr-pulse{animation-delay:.35s}
  @keyframes mtr{0%{left:0;opacity:0}4%{opacity:1}42%{left:100%;opacity:1}46%,100%{left:100%;opacity:0}}
  .mr-cities{margin:0;padding:0;list-style:none}
  .mr-cities li{position:absolute;left:var(--x);top:35px}
  .mr-cities i{position:absolute;left:0;top:0;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:#fff;border:2.5px solid var(--ink)}
  .mr-cities span{position:absolute;top:11px;left:0;transform:translateX(-50%);font-size:11.5px;font-weight:600;white-space:nowrap;color:var(--ink)}
  .mr-cities .up span{top:auto;bottom:11px}
  .mr-cities .end i{width:13px;height:13px;margin:-6.5px 0 0 -6.5px;background:var(--acc);border-color:var(--acc)}
  .mr-cities .end span{transform:none;font-weight:700;font-size:12.5px}
  .mr-cities .last span{transform:translateX(-100%)}
  .mr-cap{position:absolute;left:0;right:0;bottom:0;margin:0;text-align:center;font-size:12px;color:var(--muted)}
  /* полоса цифр на телефоне: плитки 2 в ряд */
  .stats{padding:18px 0 20px}
  .stats-grid{grid-template-columns:1fr 1fr;gap:8px}
  .stats-grid li,.stats-grid li:first-child,.stats-grid li:nth-child(4){padding:14px 12px;border:0;border-radius:14px;background:#17171A;gap:6px}
  .stats-grid b{font-size:24px}
  .stats-grid span{font-size:12px;line-height:1.35}
  /* никакого листания вбок: всё помещается сеткой */
  .cards3,.inds,.net-grid{display:grid;overflow:visible;margin:0;padding:0;scroll-snap-type:none}
  .cards3>*,.inds>*,.net-grid>*{flex:none}
  .cards3{grid-template-columns:1fr;gap:8px}
  .card{flex-direction:row;align-items:center;padding:10px;gap:12px;border-radius:16px}
  .card-visual{flex:none;width:92px;height:92px;border-radius:12px}
  .card-body{padding:0;gap:3px}
  .card h3{font-size:15.5px}.card p{font-size:12.5px;line-height:1.4}
  .card-visual .sim{width:52px;height:66px;padding:8px;border-radius:8px 18px 8px 8px}
  .card-visual .sim-chip{width:22px;height:17px;border-radius:4px}
  .card-visual .sim b{font-size:13px}.card-visual .sim span{display:none}
  .inds{grid-template-columns:1fr 1fr;gap:8px}
  .ind{padding:12px;gap:6px;border-radius:14px}
  .ind-ico{width:34px;height:34px;border-radius:10px}.ind-ico svg{width:18px;height:18px}
  .ind h3{font-size:14.5px;line-height:1.25}.ind p{font-size:12.5px;line-height:1.35}
  .net-grid{grid-template-columns:1fr;gap:8px}
  .net-card{display:grid;grid-template-columns:74px minmax(0,1fr);column-gap:12px;row-gap:3px;padding:12px 14px;border-radius:14px;align-items:start}
  .net-card .k{grid-row:1/3;align-self:center;font-size:15px;line-height:1.15}
  .net-card h3{font-size:14.5px}.net-card p{font-size:12.5px;line-height:1.4}
}
@media (max-width:600px) and (prefers-reduced-motion:reduce){
  .bub-l,.bub-r{animation:none;opacity:1}
  .mr-pulse{display:none}
}

@media (max-width:600px){.unit .bubble{display:none}}

@media (min-width:601px){.stats-grid b{font-size:clamp(22px,1.9vw,32px)}}
@media (max-width:600px){
  .m-chat{position:relative;z-index:2;min-width:0}
  .bub{font-size:12px;padding:7px 9px;gap:5px}
  .bub .wave b:nth-child(n+4){display:none}
}

@media (max-width:600px){.m-route{height:100px}.mr-cap{white-space:nowrap;font-size:11.5px}}
@media (max-width:350px){.mr-cap{white-space:normal}}

/* ===== «Что умеет диспетчерская»: четыре живые плитки ===== */
.bento-tabs{display:none}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.tile{display:flex;flex-direction:column;gap:16px;padding:18px;border-radius:24px;min-width:0}
.t-talk{grid-column:span 7;background:var(--ink);color:#fff}
.t-sos{grid-column:span 5;background:#151518;color:#fff}
.t-map{grid-column:span 7;background:var(--mist);color:var(--ink)}
.t-data{grid-column:span 5;background:var(--acc);color:#fff}
.tile-vis{position:relative;height:150px;border-radius:16px;overflow:hidden}
.tile-txt{display:flex;flex-direction:column;gap:6px}
.tile h4{margin:0;font-family:var(--font-d);font-weight:600;font-size:clamp(19px,1.7vw,24px);line-height:1.15;letter-spacing:-.02em}
.tile p{margin:0;font-size:15px;line-height:1.45;opacity:.78}
.chips{margin:auto 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.chips li{padding:7px 12px;border-radius:999px;font-size:13.5px;font-weight:600;line-height:1.2;background:rgba(255,255,255,.09);color:#EDEDEF}
.t-map .chips li{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.t-data .chips li{background:rgba(255,255,255,.16);color:#fff}
.t-data .chips li.hl{background:#fff;color:var(--acc)}
/* связь: микрофон и голосовая волна */
.vis-talk{background:#18181C;display:flex;align-items:center;gap:18px;padding:0 22px}
.vt-mic{position:relative;flex:none;width:58px;height:58px;border-radius:50%;background:var(--acc);display:grid;place-items:center;color:#fff}
.vt-mic svg{width:26px;height:26px}
.vt-mic::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(36,64,240,.55);animation:micPulse 1.8s ease-out infinite}
@keyframes micPulse{0%{box-shadow:0 0 0 0 rgba(36,64,240,.55)}100%{box-shadow:0 0 0 22px rgba(36,64,240,0)}}
.vt-wave{flex:1;display:flex;align-items:center;gap:4px;height:56px;min-width:0}
.vt-wave i{flex:1;max-width:5px;height:100%;border-radius:3px;background:#fff;opacity:.85;transform-origin:center;animation:wv 1.2s ease-in-out infinite}
.vt-wave i:nth-child(3n){animation-duration:.9s}.vt-wave i:nth-child(4n){animation-duration:1.4s}
.vt-wave i:nth-child(2n){animation-delay:-.3s}.vt-wave i:nth-child(5n){animation-delay:-.7s}.vt-wave i:nth-child(7n){animation-delay:-1s}
.vt-tag{position:absolute;right:14px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(255,255,255,.1);color:#EDEDEF}
.vt-1{top:14px}.vt-2{bottom:14px}
/* SOS: пульсирующая кнопка и карточка тревоги */
.vis-sos{background:radial-gradient(circle at 26% 50%,rgba(229,35,43,.22),rgba(229,35,43,0) 55%),#1D1012;display:flex;align-items:center;gap:22px;padding:0 26px}
.vs-btn{position:relative;flex:none;width:66px;height:66px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-family:var(--font-d);font-weight:700;font-size:15px;letter-spacing:.02em}
.vs-btn i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--red);animation:sosRing 1.8s ease-out infinite}
.vs-btn i+i{animation-delay:.9s}
@keyframes sosRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.vs-card{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.07);border-left:3px solid var(--red);font-size:12px;color:#C9C9CE;min-width:0}
.vs-card b{color:#fff;font-size:14px}
/* карта */
.vis-map svg{display:block;width:100%;height:100%}
/* данные: журнал и экспорт */
.vis-data{background:rgba(0,0,0,.18);display:flex;align-items:center;gap:14px;padding:0 18px}
.vd-rows{flex:1;display:flex;flex-direction:column;gap:7px;min-width:0}
.vd-rows i{display:flex;gap:10px;padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.12);font-style:normal;font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vd-rows b{font-weight:700;opacity:.75}
.vd-btn{flex:none;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;background:#fff;color:var(--acc);font-size:13.5px;font-weight:700}
.vd-btn svg{width:17px;height:17px;animation:dlBounce 1.6s ease-in-out infinite}
@keyframes dlBounce{0%,100%{transform:translateY(-2px)}50%{transform:translateY(2px)}}
@media (max-width:900px){.t-talk,.t-sos,.t-map,.t-data{grid-column:span 12}}
@media (max-width:600px){
  .bento-tabs{display:flex;gap:4px;padding:4px;margin-bottom:10px;border-radius:999px;background:var(--mist-2)}
  .bento-tabs button{flex:1;min-height:40px;border:0;border-radius:999px;background:transparent;font-size:13.5px;font-weight:600;cursor:pointer}
  .bento-tabs button[aria-selected="true"]{background:#fff;box-shadow:0 2px 8px -4px rgba(0,0,0,.3)}
  .tile{display:none;padding:14px;gap:12px;border-radius:20px}
  .tile.is-active{display:flex}
  .tile-vis{height:118px;border-radius:14px}
  .tile h4{font-size:18px}.tile p{font-size:13.5px}
  .chips li{font-size:12px;padding:6px 10px}
  .vis-talk{gap:12px;padding:0 14px}.vt-mic{width:46px;height:46px}.vt-mic svg{width:21px;height:21px}
  .vt-tag{font-size:10.5px;padding:4px 8px;right:10px}.vt-1{top:10px}.vt-2{bottom:10px}
  .vis-sos{gap:16px;padding:0 16px}.vs-btn{width:54px;height:54px;font-size:13px}
  .vd-rows i{font-size:11px;padding:6px 8px}.vd-btn{font-size:12px;padding:8px 11px}
}
@media (prefers-reduced-motion:reduce){.vt-wave i,.vt-mic::after,.vs-btn i,.vd-btn svg{animation:none !important}}

/* ===== полоса цифр: одинаковые просветы, разделители ровно посередине ===== */
.stats-grid{display:flex;justify-content:space-between;align-items:flex-start;--sg:clamp(18px,2.6vw,44px);gap:var(--sg)}
.stats-grid li,.stats-grid li:first-child{position:relative;flex:0 1 auto;min-width:0;padding:0;border:0}
.stats-grid li + li::before{content:"";position:absolute;top:2px;bottom:2px;left:calc(var(--sg) / -2);width:1px;background:#2A2A2E}
.stats-grid span{max-width:12.5em}
@media (max-width:1100px){
  .stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 0}
  .stats-grid li,.stats-grid li:first-child{padding:0 22px;border-left:1px solid #2A2A2E}
  .stats-grid li:nth-child(3n+1){padding-left:0;border-left:0}
  .stats-grid li + li::before{display:none}
}
@media (max-width:600px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:8px}
  .stats-grid li,.stats-grid li:first-child,.stats-grid li:nth-child(3n+1){padding:14px 12px;border:0;border-radius:14px;background:#17171A}
}

/* полоса цифр: каждая цифра по центру своей колонки, линии ровно между колонками */
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.stats-grid li,.stats-grid li:first-child,.stats-grid li:nth-child(3n+1){align-items:center;text-align:center;padding:0 clamp(8px,1vw,16px);border:0;border-radius:0;background:none;min-width:auto}
.stats-grid li + li{border-left:1px solid #2A2A2E}
.stats-grid li + li::before{display:none}
.stats-grid span{max-width:14em}
@media (min-width:601px){.stats-grid b{font-size:clamp(20px,1.55vw,26px)}}
@media (max-width:1100px){
  .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px}
  .stats-grid li:nth-child(4){border-left:0}
}
@media (max-width:600px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:8px}
  .stats-grid li,.stats-grid li:first-child,.stats-grid li:nth-child(3n+1),.stats-grid li + li{align-items:center;text-align:center;padding:14px 10px;border:0;border-radius:14px;background:#17171A}
}
/* плитки: фичи сразу под текстом, лишнее место забирает картинка */
.tile h4{font-family:var(--font);font-weight:700;letter-spacing:-.01em;font-size:clamp(20px,1.7vw,25px)}
.tile .chips{margin-top:2px}
.tile-vis{height:auto;min-height:150px;flex:1 0 150px}
@media (max-width:600px){.tile-vis{flex:none;height:118px;min-height:0}.tile h4{font-size:18.5px}}

@media (min-width:601px){.stats-grid b{font-size:clamp(20px,1.45vw,23px)}.stats-grid li,.stats-grid li:first-child,.stats-grid li:nth-child(3n+1){padding:0 10px}}

/* одна бегущая точка на линии городов (и на компьютере, и на телефоне) */
.pulse ~ .pulse,.mr-pulse ~ .mr-pulse{display:none}
/* документы внизу без строки с реквизитами */
.legal{justify-content:center}
/* iPhone: тень через filter иногда рисует серый прямоугольник вокруг фото рации - на телефоне тень делаем иначе */
@media (max-width:600px){
  .unit img,.radio-wrap img,.viewer img,.cv-stand,.cv-top,.card-visual img{filter:none !important}
  .rimg::after{content:"";position:absolute;left:18%;right:18%;bottom:-2px;height:16px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.28),rgba(0,0,0,0));z-index:0;pointer-events:none}
}
