:root{
 --paper:#EEE8DD;--paper2:#F6F2EA;--card:#FBF8F2;--navy:#13233F;--navy2:#0D1A31;--navy3:#0F1E38;--ink:#13233F;--txt:#2E3542;--mut:#5C6270;
 --red:#B3261E;--red2:#C9342A;--line:#D5CCBC;--nline:#2A3B5C;--white:#fff;
 --fd:Anton,'Arial Narrow',Impact,sans-serif;--fc:Oswald,'Arial Narrow',sans-serif;--fb:'Source Serif 4',Georgia,serif;--fs:Kalam,'Comic Sans MS',cursive;
 --gut:max(16px,env(safe-area-inset-left,0px));--gutr:max(16px,env(safe-area-inset-right,0px));
 color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--txt);font:17px/1.6 var(--fb);-webkit-text-size-adjust:100%;padding-bottom:calc(66px + env(safe-area-inset-bottom,0px));overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,p{margin:0}
ol,ul{margin:0;padding:0;list-style:none}
.w{max-width:1240px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gutr)}
.st{width:1em;height:1em;fill:currentColor;display:inline-block;vertical-align:-.12em;flex:none}
.ar{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ph-ic{width:18px;height:18px;fill:currentColor;flex:none}
.pr{font-weight:600;color:var(--ink)}
p a,li a{color:var(--red);font-weight:600}
.skip{position:absolute;left:-999px;top:0;z-index:99;background:var(--navy);color:#fff;padding:10px 14px}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--red2);outline-offset:2px}

/* бумага с топографией */
.topo{position:relative;isolation:isolate}
.topo::before{content:"";position:absolute;inset:0;background:url(/img/topo.png) center/700px;opacity:.13;z-index:-1;pointer-events:none}

/* дисплейная типографика: потёртый Anton */
.dh,h1 .g,h1 .o{font-family:var(--fd);font-weight:400;text-transform:uppercase;line-height:.95;letter-spacing:.005em;color:var(--navy);text-wrap:balance;overflow-wrap:anywhere}
.dh .g,h1 .g,.dh .o,h1 .o,.dh .r{-webkit-mask:url(/img/grunge.png) 0 0/300px;mask:url(/img/grunge.png) 0 0/300px}
.dh .o,h1 .o{color:var(--paper2);-webkit-text-stroke:1.5px var(--navy);paint-order:stroke fill}
.dh .r{color:var(--red)}
.dh{font-size:clamp(34px,9vw,58px);margin-bottom:6px}
.dh.huge{font-size:clamp(42px,11.5vw,88px)}
.how .dh.huge span{display:block}
.eb{display:flex;align-items:center;gap:10px;font:600 13px/1.2 var(--fc);letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.eb::before{content:"";width:22px;height:2px;background:currentColor;flex:none}
.script{font-family:var(--fs);color:var(--white);font-size:22px;line-height:1.2}
.k{font:600 11.5px var(--fc);letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.big{font:400 44px/1 var(--fd);color:var(--navy);letter-spacing:.01em}
.big small{font:600 14px var(--fc);color:var(--mut);margin-left:4px;letter-spacing:.06em}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;font:600 16px/1.1 var(--fc);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s,color .15s;text-align:center}
.btn.red{background:var(--red);color:#fff;box-shadow:inset 0 -3px 0 #0003}
.btn.red:hover{background:var(--red2)}
.btn.line{border-color:var(--navy);color:var(--navy);background:transparent}
.btn.line:hover{background:var(--navy);color:#fff}
.navy .btn.line,.ft .btn.line{border-color:#fff;color:#fff}
.btn:active{transform:translateY(1px)}
.btn.full{width:100%}

/* верхняя полоса + шапка */
.topbar{background:var(--navy2);color:#fff;font:600 12px/1.2 var(--fc);letter-spacing:.16em;text-transform:uppercase}
.topbar .w{display:flex;justify-content:center;align-items:center;min-height:34px;text-align:center}
.topbar p{font-size:10.5px;letter-spacing:.08em}
.topbar .st{color:var(--red2)}
.topbar ul{display:none}
.hd{position:sticky;top:0;z-index:40;background:var(--paper2);border-bottom:1px solid var(--line);box-shadow:0 6px 18px -14px #0006}
.hd .w{display:flex;align-items:center;gap:10px;min-height:66px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;margin-right:auto;min-width:0}
.mark{width:52px;height:52px;flex:none}
.bt{display:grid;line-height:1;min-width:0}
.bt b{font:400 23px/1 var(--fd);letter-spacing:.04em;color:var(--navy)}
.bt i{font:600 10.5px/1.3 var(--fc);font-style:normal;letter-spacing:.3em;color:var(--navy);white-space:nowrap}
.bt em{font:600 8.5px/1.2 var(--fc);font-style:normal;letter-spacing:.18em;color:var(--red);white-space:nowrap}
.bt em .st{font-size:7px}
.brand.inv b,.brand.inv i{color:#fff}
.nav{position:fixed;inset:0;z-index:49;background:var(--navy);display:flex;flex-direction:column;justify-content:flex-start;gap:2px;padding:96px var(--gutr) 120px var(--gut);transform:translateX(100%);transition:transform .3s;visibility:hidden;overflow-y:auto}
.nav.open{transform:none;visibility:visible}
.nav a{font:400 30px/1.25 var(--fd);color:#fff;text-decoration:none;text-transform:uppercase;border-bottom:1px solid #ffffff1f;padding:8px 0}
.dd-m{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:4px 0 10px}
.dd-m a{font:500 15px/1.3 var(--fc);letter-spacing:.06em;color:#C9D1E0;border:0;padding:7px 0}
.nav .nav-call{color:var(--red2);border:0;margin-top:16px}
.hd-cta{display:none}
.hd-ph{width:46px;height:46px;display:grid;place-items:center;background:var(--red);border-radius:50%;flex:none;color:#fff}
.hd-ph .ph-ic{width:22px;height:22px}
.burger{position:relative;z-index:50;width:46px;height:46px;display:grid;place-content:center;gap:5px;background:var(--navy);border:0;cursor:pointer;flex:none}
.burger span{width:22px;height:2.5px;background:#fff;transition:.25s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* hero — телефон: заголовок, фото целиком (знак виден), текст, форма */
.hero{display:flex;flex-direction:column;position:relative}
.hero-in,.hero-tx{display:contents}
.hero-tx>*,.hero-form{margin-left:var(--gut);margin-right:var(--gutr)}
.crumbs{order:0;margin-top:16px;font:500 12.5px/1.4 var(--fc);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--navy);text-decoration:none}.crumbs a:hover{color:var(--red)}
.crumbs b{color:var(--red);font-weight:600}
.hero-tx .eb{order:1;margin-top:18px}
.hero h1{order:2}
.hero-ph{order:3;margin-top:20px}
.hero-ph .d{display:none}
.wm-tag{display:none}
.lede{order:4;margin-top:20px;font-size:16.5px}
.readmore{order:5;margin-top:8px}
.hero-cta{order:6;margin-top:18px;display:grid;gap:10px}
.trust{order:7;margin-top:20px}
.hero-form{order:8;margin-top:26px;margin-bottom:40px}
h1{display:grid;gap:0}
h1 .l1,h1 .l2{display:block;font-size:clamp(46px,14.5vw,96px)}
h1.h1-l .l1,h1.h1-l .l2{font-size:clamp(40px,11.5vw,80px)}
h1.h1-m .l1,h1.h1-m .l2{font-size:clamp(34px,9.6vw,66px)}
h1 .l3{font:600 clamp(18px,5vw,23px)/1.22 var(--fc);text-transform:uppercase;letter-spacing:.02em;color:var(--navy);margin-top:14px;padding-top:14px;position:relative;max-width:36ch}
h1 .l3::before{content:"";position:absolute;top:0;left:0;width:56px;height:4px;background:var(--red)}
.lede.clamp .more{display:none}
.lede.clamp p::after{content:" …"}
.readmore{justify-self:start;background:none;border:0;padding:0;font:600 14px var(--fc);letter-spacing:.12em;text-transform:uppercase;color:var(--red);text-decoration:underline;text-underline-offset:4px;cursor:pointer;text-align:left}
.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.trust li{display:flex;align-items:center;gap:8px;font:600 11.5px/1.2 var(--fc);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);min-width:0}
.trust svg{width:28px;height:28px;flex:none;fill:var(--navy)}
.trust li:nth-child(2) svg{stroke:#fff;stroke-width:1.6}
.trust li:nth-child(3) svg{fill:none;stroke:var(--navy);stroke-width:2}

/* форма */
.qf{position:relative;background:var(--card);border:1px solid var(--line);padding:22px 18px 18px;display:grid;gap:12px;box-shadow:0 22px 40px -24px #13233f80}
.qf::before{content:"";position:absolute;inset:0;background:url(/img/topo.png) center/520px;opacity:.07;pointer-events:none}
.qf>*{position:relative}
.qf .eb{margin:0;font-size:11.5px}.qf .eb::before{display:none}
.qf .qf-t{font:400 32px/1 var(--fd);text-transform:uppercase;color:var(--navy)}
.qf-sub{font-size:14.5px;color:var(--mut);line-height:1.45}
.qf label{display:grid;gap:5px;font:600 13px var(--fc);letter-spacing:.04em;color:var(--navy);min-width:0}
.qf label i{color:var(--red);font-style:normal}.qf label em{font-style:normal;font-weight:500;color:var(--mut)}
.qf input,.qf select{width:100%;min-width:0;min-height:48px;padding:0 12px;border:1px solid #CFC6B6;background:#fff;font:16px var(--fb);color:var(--txt);border-radius:2px;appearance:none}
.qf select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%2313233F' stroke-width='2'/%3E%3C/svg%3E") right 10px center/16px no-repeat;padding-right:32px;text-overflow:ellipsis}
.qf input:focus,.qf select:focus{outline:2px solid var(--navy);outline-offset:1px}
.qf .bad{border-color:var(--red);background:#fff4f2}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.lock{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--mut);line-height:1.35}
.lock svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--mut);stroke-width:2}
.qf-ok{background:var(--navy);color:#fff;padding:16px;font-size:15px}
.qf-ok b{font:400 26px var(--fd);text-transform:uppercase;display:block;color:#fff}
.qf-ok .st{color:var(--red2)}
.qf-foot{display:grid;justify-items:center;gap:6px;border-top:1px dashed var(--line);padding-top:12px;color:var(--red);text-align:center}
.qf-foot span{display:flex;gap:6px;font-size:18px}
.qf-foot small{font:600 10.5px/1.5 var(--fc);letter-spacing:.2em;color:var(--navy)}
.qf-foot small .st{color:var(--red);font-size:8px}
.qf [hidden]{display:none!important}

/* синяя полоса */
.strip{background:var(--navy);color:#fff;position:relative}
.strip .w{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;padding-block:24px}
.strip .w>div{display:flex;align-items:center;gap:10px;min-width:0}
.strip svg{width:38px;height:30px;flex:none;fill:var(--red2);stroke:var(--red2);stroke-width:1.5}
.strip .w>div:nth-of-type(2) svg,.strip .w>div:nth-of-type(3) svg{fill:none;stroke-width:2.2}
.strip b{display:block;font:400 clamp(20px,6vw,26px)/1 var(--fd);text-transform:uppercase;letter-spacing:.02em}
.strip small{display:block;font:600 10px/1.25 var(--fc);letter-spacing:.14em;text-transform:uppercase;color:#C9D1E0;margin-top:4px}
.strip i{display:none;color:var(--red2)}

/* разделы */
.sec{padding-block:56px;scroll-margin-top:70px}
.paper2{background:var(--paper2);border-block:1px solid var(--line)}
.intro{max-width:68ch;margin-top:16px}
.body{display:grid;gap:16px;max-width:72ch;margin-top:14px}
.body.wide{max-width:none}
.body>p{max-width:72ch}
.two{display:grid;gap:26px;align-items:start}
.col{display:grid;gap:0;min-width:0}
.fig{margin:0;position:relative}
.fig::after{content:"";position:absolute;inset:10px -10px -10px 10px;border:2px solid var(--red);z-index:-1}
.fig{isolation:isolate}
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}
.js .rv.in{opacity:1;transform:none}

/* списки */
.nlist{display:grid;gap:0;border-top:2px solid var(--navy)}
.nlist li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.nlist .n{font:400 28px/1 var(--fd);color:var(--red)}
.nlist h3,.plist h3,.steps h3,.jobs h3{font:600 18px/1.2 var(--fc);text-transform:uppercase;color:var(--navy);letter-spacing:.02em;margin-bottom:4px}
.nlist p,.plist p{font-size:15.5px;line-height:1.55}
.slist{display:grid;gap:10px}
.slist li{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.slist .st{color:var(--red);margin-top:.3em}
.slist b{color:var(--navy)}
.plist{display:grid;border-top:1px solid var(--line)}
.plist li{padding:14px 0;border-bottom:1px solid var(--line)}
.steps{display:grid;gap:12px}
.steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;background:var(--card);border:1px solid var(--line);padding:16px}
.steps>li>b{font:400 50px/1 var(--fd);color:var(--red)}
.steps p{font-size:15px;line-height:1.55}
.jobs{display:grid;gap:14px}
.jobs li{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--red);padding:18px 16px;display:grid;gap:6px;align-content:start}
.jobs .big{font-size:40px}
.jobs p{font-size:15px}
.limits{border-left:4px solid var(--red);padding:4px 0 4px 16px;font-style:italic;color:var(--navy)}

/* таблицы: на телефоне карточки, без горизонтального скролла */
.tbl table{width:100%;border-collapse:collapse;font-size:15px}
.tbl th{font:600 12.5px/1.3 var(--fc);letter-spacing:.12em;text-transform:uppercase;text-align:left;background:var(--navy);color:#fff;padding:12px 14px}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tbody tr:nth-child(odd){background:#fffdf8}
.tbl td:first-child{font:600 16px/1.3 var(--fc);color:var(--navy);text-transform:uppercase;letter-spacing:.02em}
@media (max-width:699px){
 .tbl thead{display:none}
 .tbl table,.tbl tbody,.tbl tr,.tbl td{display:block}
 .tbl tr{background:var(--card)!important;border:1px solid var(--line);border-top:4px solid var(--navy);margin-bottom:12px;padding:6px 0}
 .tbl td{border:0;padding:6px 14px;display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:10px}
 .tbl td::before{content:attr(data-l);font:600 11.5px/1.4 var(--fc);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
 .tbl td:first-child{display:block;font-size:18px;padding-top:8px}
 .tbl td:first-child::before{display:none}
}

/* синие разделы */
.navy{background:var(--navy);color:#DCE2EE;position:relative;overflow:hidden;isolation:isolate}
.navy::before{content:"";position:absolute;inset:0;background:url(/img/topo.png) center/700px;opacity:.07;filter:invert(1);z-index:-1}
.navy .dh{color:#fff}.navy .dh .o{color:var(--navy);-webkit-text-stroke-color:#fff}
.navy .pr,.navy p a,.navy li a{color:#fff}
.navy .nlist,.navy .plist{border-color:var(--nline)}
.navy .nlist li,.navy .plist li{border-color:var(--nline)}
.navy h3{color:#fff!important}
.navy .slist b{color:#fff}
.navy .tbl td{border-color:var(--nline)}
.navy .tbl tbody tr:nth-child(odd){background:#ffffff08}
.navy .tbl td:first-child{color:#fff}
@media (max-width:699px){.navy .tbl tr{background:var(--navy3)!important;border-color:var(--nline);border-top-color:var(--red)}.navy .tbl td::before{color:#AEB8CC}}
.navy .steps li,.navy .jobs li{background:var(--navy3);border-color:var(--nline)}
.navy .jobs .big{color:#fff}

/* карта */
.flag{position:absolute;right:-30%;top:0;height:70%;width:auto;max-width:none;opacity:.2;-webkit-mask:linear-gradient(90deg,transparent,#000 60%);mask:linear-gradient(90deg,transparent,#000 60%);z-index:-1;pointer-events:none}
.map-grid{display:grid;gap:26px}
.map-tx{display:grid;gap:14px;align-content:start;min-width:0}
.map-tx .btn{justify-self:start}
.map-fig{display:grid;gap:14px;min-width:0}
.usmap{width:100%;height:auto;overflow:visible}
.usmap path{fill:#1B3053;stroke:#8FA2C4;stroke-width:.9;stroke-linejoin:round;transition:fill .2s}
.usmap a:hover path{fill:#2A4A7C}
.usmap path.on{fill:var(--red);stroke:#fff;stroke-width:1.6}
.pin{fill:var(--red2);pointer-events:none}
.pin.on{fill:#fff}
.pin .halo{fill:var(--red2);opacity:.25;transform-box:fill-box;transform-origin:center;animation:pulse 2.6s ease-out infinite;animation-delay:calc(var(--i)*-0.21s)}
.pin.on .halo{fill:#fff}
@keyframes pulse{0%{transform:scale(.4);opacity:.6}100%{transform:scale(1.8);opacity:0}}
.st-48{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;border-top:3px solid var(--red);padding-top:12px}
.st-48 b{font:400 72px/.9 var(--fd);color:#fff}
.st-48 b.on-st{font-size:clamp(34px,8vw,48px)}
.st-48>span{font:400 22px/1.05 var(--fd);text-transform:uppercase;color:#fff;letter-spacing:.04em}
.permits{margin-top:30px;background:var(--navy3);border:1px solid var(--nline);padding:18px 16px;color:#DCE2EE}
.sec:not(.navy) .permits{background:var(--navy);}
.permits h3{font:600 17px var(--fc);text-transform:uppercase;color:#fff;letter-spacing:.06em;margin-bottom:12px}
.permits h3 small{display:block;font-size:11.5px;color:#AEB8CC;letter-spacing:.14em;margin-top:2px}
.permits li{display:grid;grid-template-columns:minmax(0,110px) minmax(0,1fr) 64px;gap:10px;align-items:center;font:500 13px var(--fc);letter-spacing:.04em;padding:4px 0}
.permits li a{color:#fff;text-decoration:none;font-weight:500}
.permits i{height:12px;background:linear-gradient(90deg,var(--red),var(--red2));width:var(--w);transform-origin:left;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.js .permits:not(.in) i{transform:scaleX(0)}
.permits b{text-align:right;font-weight:600;color:#fff}
.st-p{margin-top:22px;max-width:75ch;font-size:16px}
.regions{display:grid;gap:8px;margin-top:4px}
.rg{border:1px solid var(--line);background:var(--card)}
.navy .rg{border-color:var(--nline);background:var(--navy3)}
.rg summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;font:600 17px/1.25 var(--fc);text-transform:uppercase;letter-spacing:.05em;color:var(--navy)}
.navy .rg summary{color:#fff}
.rg summary span{min-width:0}
.rg summary::-webkit-details-marker{display:none}
.rg summary em{font-style:normal;font-size:12px;color:var(--red2);letter-spacing:.14em;white-space:nowrap;margin-left:auto}
.rg summary::after{content:"+";font:600 26px/1 var(--fc);color:var(--red2);width:16px;text-align:center}
.rg[open] summary::after{content:"–"}
.rg p,.rg-p{padding:0 16px 16px;font-size:15px}
.rg-p{padding:0}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 14px}
.chips a,.chips span{font:500 13px var(--fc);letter-spacing:.06em;text-decoration:none;color:var(--navy);border:1px solid var(--line);padding:7px 10px;background:#fff}
.navy .chips a{color:#fff;border-color:#3B4F75;background:transparent}
.chips a:hover{background:var(--red);border-color:var(--red);color:#fff}
.chips.light{padding:0}

/* услуги (главная) */
.svc-grid{display:grid;gap:26px}
.svc-l{display:grid;gap:16px;align-content:start}
.svc-l .btn{justify-self:start}
.svc-air{margin:10px 0 0;position:relative;max-width:420px}
.svc-air figcaption{position:absolute;left:18px;top:22px;right:18px;text-shadow:0 2px 10px #000c;transform:rotate(-6deg);transform-origin:left top}
.svc-list{display:grid;border-top:2px solid var(--navy)}
.svc-a{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
a.svc-a:hover h3{color:var(--red)}
.svc-list figure{margin:0}
.svc-list .n{font:400 26px/1 var(--fd);color:var(--red);float:left;margin-right:10px}
.svc-list h3{font:600 19px/1.15 var(--fc);text-transform:uppercase;color:var(--navy);letter-spacing:.02em;margin:2px 0 6px}
.svc-list p{font-size:14.5px;line-height:1.5;clear:both}

/* для кого */
.who-list{display:grid;gap:12px;margin-top:22px}
.who-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;background:var(--card);border:1px solid var(--line);padding:16px}
.who-list svg{width:44px;height:44px;padding:9px;background:var(--navy);fill:none;stroke:#fff;stroke-width:1.7;stroke-linejoin:round}
.who-list li:nth-child(2n) svg{background:var(--red)}
.who-list h3{font:600 19px var(--fc);text-transform:uppercase;color:var(--navy);margin-bottom:4px}
.who-list p{font-size:15px;line-height:1.5}

/* до/после: подпись НЕ на фото, знак домена не перекрыт */
.work-grid{display:grid;gap:24px}
.work-tx{display:grid;gap:14px;min-width:0}
.ba-wrap{display:grid;gap:12px;min-width:0}
.ba{position:relative;overflow:hidden;max-width:100%;user-select:none;background:var(--navy);touch-action:pan-y}
.ba img{width:100%}
.ba-b{position:absolute;inset:0;clip-path:inset(0 0 0 var(--x))}
.ba::after{content:"";position:absolute;top:0;bottom:0;left:var(--x);width:3px;margin-left:-1.5px;background:#fff;pointer-events:none}
.ba-h{position:absolute;top:50%;left:var(--x);width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#fff;display:grid;place-items:center;z-index:2;box-shadow:0 4px 14px #0006;pointer-events:none}
.ba-h svg{width:22px;fill:none;stroke:var(--navy);stroke-width:2.4}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3;margin:0}
.tag{position:absolute;top:12px;z-index:2;font:600 11px/1 var(--fc);letter-spacing:.18em;text-transform:uppercase;color:#fff;padding:7px 10px;background:var(--navy)}
.tag.l{left:12px}.tag.r{right:12px;background:var(--red)}
.ba-cap{color:var(--navy);font-size:22px;text-align:center}

/* mulching vs */
.mvt-grid{display:grid;gap:14px;margin-top:24px}
.mvt article{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--navy);padding:20px 18px;display:grid;gap:8px;align-content:start}
.mvt article.alt{border-top-color:var(--red)}
.mvt h3{font:600 22px var(--fc);text-transform:uppercase;color:var(--navy)}
.mvt p{font-size:15px;line-height:1.55}
.vs{justify-self:center;font:400 28px/1 var(--fd);color:#fff;background:var(--red);width:58px;height:58px;display:grid;place-items:center;border-radius:50%;text-transform:uppercase;margin:-28px 0;z-index:1;position:relative;border:4px solid var(--paper2)}

/* регионы: карточки-«кладка», без пустот */
.grow-grid{columns:1;column-gap:14px;margin-top:24px}
.grow article{break-inside:avoid;margin-bottom:14px;background:var(--card);border:1px solid var(--line);display:block}
.grow figure{margin:0}
.g-tx{padding:14px 16px 18px}
.grow h3{font:600 16px var(--fc);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);border-left:4px solid var(--red);padding-left:10px;margin-bottom:8px}
.grow article p{font-size:15px;line-height:1.55}
.big-script{color:var(--navy);font-size:26px;text-align:center;margin:30px auto 0;max-width:24ch}

/* как это работает */
.how{overflow:hidden}
.sketch-bg{position:absolute;right:0;bottom:0;width:100%;max-width:900px;opacity:.25;z-index:-1;pointer-events:none}
.how-grid{display:grid;gap:28px}
.how-h,.how-b{display:grid;gap:16px;align-content:start;min-width:0}
.how .hero-cta{margin:0}

/* калькулятор */

/* CTA-раздел */
.cta-grid{display:grid;gap:22px}
.cta-btns{display:grid;gap:10px;align-content:center}

/* FAQ + Гил */
.faq{background:var(--paper2);border-top:1px solid var(--line)}
.faq-grid{display:grid;gap:28px}
.faq-grid>div{min-width:0}
.acc{display:grid;border-top:2px solid var(--navy)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font:600 18px/1.3 var(--fc);color:var(--navy);text-transform:uppercase;letter-spacing:.02em}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";flex:none;width:32px;height:32px;display:grid;place-items:center;background:var(--navy);color:#fff;font:600 24px/1 var(--fc)}
.acc details[open] summary::after{content:"–";background:var(--red)}
.acc p{padding:0 0 18px;font-size:15.5px}
.gil{margin-top:26px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;background:var(--navy);color:#DCE2EE;padding:20px 18px;border-left:6px solid var(--red)}
.gil-badge{width:64px;height:64px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;position:relative}
.gil-badge b{font:400 26px var(--fd);color:#fff}
.gil-badge .st{position:absolute;bottom:-6px;left:50%;margin-left:-10px;width:20px;height:20px;color:var(--red2);background:var(--navy);border-radius:50%}
.gil h3{font:400 26px/1 var(--fd);text-transform:uppercase;color:#fff}
.gil small{display:block;font:600 11.5px/1.4 var(--fc);letter-spacing:.12em;text-transform:uppercase;color:var(--red2);margin:4px 0 10px}
.gil p{font-size:14.5px;line-height:1.55}

/* связанные */
.related{border-top:1px solid var(--line);padding-block:44px}
.related h3{font:600 15px var(--fc);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin:22px 0 10px}
.twin{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);padding:10px;text-decoration:none;max-width:560px}
.twin small{font:600 11.5px var(--fc);letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.twin b{display:flex;align-items:center;gap:8px;font:400 24px/1.05 var(--fd);text-transform:uppercase;color:var(--navy)}
.twin:hover b{color:var(--red)}
.svc-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.svc-links a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);padding:6px 10px 6px 6px;text-decoration:none;color:var(--navy);font:600 13.5px/1.2 var(--fc);text-transform:uppercase;letter-spacing:.04em}
.svc-links a:hover{color:var(--red);border-color:var(--red)}

/* финал */
.final{border-top:1px solid var(--line);padding-block:56px}
.final-grid{display:grid;gap:28px;align-items:center}
.final-h{display:grid;gap:14px;position:relative;min-width:0}
.final-h a{color:var(--red);font-weight:600}
.final .dh .g,.final .dh .r{display:block}
.seal{width:116px;height:116px;position:relative;color:var(--red)}
.seal svg{width:100%;height:100%;animation:spin 28s linear infinite}
.seal circle{fill:none;stroke:var(--navy);stroke-width:2}
.seal text{font:600 11px var(--fc);letter-spacing:.24em;fill:var(--navy)}
.seal>.st{position:absolute;inset:0;margin:auto;width:40px;height:40px}
@keyframes spin{to{transform:rotate(360deg)}}

/* подвал */
.ft{background:var(--navy2);color:#AEB8CC;padding-block:44px 24px;font-size:14.5px}
.ft-top{display:grid;gap:28px}
.ft-b{display:grid;gap:14px}.ft-b p{max-width:42ch}
.ft-tel{font:400 30px var(--fd);color:#fff;text-decoration:none}
.ft h4{font:600 14px var(--fc);letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:10px}
.ft nav{display:grid;gap:6px;align-content:start}
.ft nav a,.ft-states a,.ft-bot a{text-decoration:none;color:#AEB8CC}
.ft a:hover{color:#fff}
.ft-seal{display:grid;justify-items:start;gap:6px;color:#fff}
.ft-seal>.st{width:44px;height:44px;padding:9px;border:2px solid #fff;border-radius:50%}
.ft-seal p{font:600 15px/1.25 var(--fc);letter-spacing:.14em;text-transform:uppercase}
.ft-seal small{font:600 10.5px var(--fc);letter-spacing:.2em;text-transform:uppercase;color:#AEB8CC}
.ft-seal small .st{color:var(--red2)}
.ft-states{margin-top:34px;border-top:1px solid #23355A;padding-top:24px}
.ft-states div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;font-size:13.5px}
.ft-bot{margin-top:28px;border-top:1px solid #23355A;padding-top:16px;display:grid;gap:8px;font-size:12.5px}

/* липкий низ */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:1fr 1fr;background:var(--navy2);padding:8px var(--gutr) calc(8px + env(safe-area-inset-bottom,0px)) var(--gut);gap:8px;box-shadow:0 -8px 20px -10px #0007}
.dock a{min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;font:600 15px var(--fc);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#fff}
.dock .call{background:var(--red);letter-spacing:.03em}
.dock .call{white-space:nowrap}
.dock .est{border:2px solid #fff}
.nav-open .dock{z-index:50}
.nav-open .cx-bar{display:none!important}

/* очень узкие телефоны */
@media (max-width:359px){
 .bt b{font-size:20px}.bt i{letter-spacing:.2em}.mark{width:44px;height:44px}
 .trust{grid-template-columns:1fr}
 .row2{grid-template-columns:1fr}
 .dock a{font-size:13px;letter-spacing:.04em}
}

/* --- планшет --- */
@media (min-width:640px){
 .hero-cta{display:flex;flex-wrap:wrap}
 .strip .w{grid-template-columns:repeat(4,minmax(0,1fr))}
 .grow-grid{columns:2}
 .who-list{grid-template-columns:1fr 1fr}
 .jobs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
 .ft-states div{grid-template-columns:repeat(4,1fr)}
 .svc-a{grid-template-columns:120px minmax(0,1fr)}
 .svc-links{grid-template-columns:repeat(4,minmax(0,1fr))}
 .hero-ph{max-width:620px;margin-left:var(--gut);margin-right:var(--gutr)}
 .nlist{grid-template-columns:1fr 1fr;column-gap:32px}
}
/* --- десктоп --- */
@media (min-width:900px){
 body{padding-bottom:0}
 .dock{display:none}
 html{scroll-padding-top:104px}
 .topbar .w{justify-content:space-between}
 .topbar p{font-size:12px;letter-spacing:.16em}
 .topbar ul{display:flex;gap:14px;font-size:11px;color:#C9D1E0}
 .topbar ul .st{font-size:9px}
 .hd .w{min-height:86px;gap:22px}
 .mark{width:64px;height:64px}
 .bt b{font-size:28px}
 .burger,.hd-ph{display:none}
 .nav{position:static;transform:none;visibility:visible;flex-direction:row;align-items:center;background:none;padding:0;gap:clamp(14px,2vw,26px);justify-content:center;overflow:visible}
 .nav>a,.nav .dd-t{font:600 14.5px var(--fc);letter-spacing:.1em;color:var(--navy);border:0;padding:8px 0;position:relative;text-transform:uppercase}
 .nav>a::after,.dd-t::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--red);transition:right .2s}
 .nav>a:hover::after,.dd:hover .dd-t::after{right:0}
 .dd{position:relative}
 .dd-t{padding-right:16px!important}
 .dd-t::before{content:"";position:absolute;right:0;top:50%;margin-top:-5px;width:6px;height:6px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg)}
 .dd-m{position:absolute;top:100%;left:-18px;min-width:280px;grid-template-columns:1fr;background:var(--paper2);border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 18px 30px -18px #0006;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
 .dd:hover .dd-m,.dd:focus-within .dd-m{opacity:1;visibility:visible;transform:none}
 .dd-m a{color:var(--navy);font:500 14.5px var(--fc);letter-spacing:.06em;text-transform:uppercase;padding:9px 18px}
 .dd-m a:hover{background:var(--card);color:var(--red)}
 .nav .nav-call{display:none}
 .hd-cta{display:inline-flex;min-height:48px;white-space:nowrap}

 /* hero: фото справа на всю высоту, без затемнения снизу; знак домена — в нижней полосе, где ничего нет */
 .hero{display:block}
 .hero-in{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;padding-top:40px;padding-bottom:92px;align-items:start;position:relative}
 .hero-tx{display:grid;gap:14px;max-width:600px;align-content:start}
 .hero-tx>*,.hero-form{margin:0!important}
 .crumbs{margin:0}
 .hero-ph{position:absolute;inset:0 0 0 36%;margin:0;max-width:none;overflow:hidden}
 .hero-ph .m{display:none}
 .hero-ph .d{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 45%}
 .hero-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0,#eee8ddd8 14%,#eee8dd00 42%)}
 .wm-tag{display:flex;position:absolute;right:max(16px,calc((100vw - 1240px)/2 + 16px));bottom:24px;z-index:3;align-items:center;gap:10px;background:#13233Feb;color:#fff;font:600 15px/1 var(--fc);letter-spacing:.16em;padding:12px 16px 12px 14px;border-left:6px solid var(--red)}
 .wm-tag .st{color:var(--red2)}
 h1 .l1,h1 .l2{font-size:clamp(70px,7.4vw,112px)}
 h1.h1-l .l1,h1.h1-l .l2{font-size:clamp(56px,5.6vw,86px)}
 h1.h1-m .l1,h1.h1-m .l2{font-size:clamp(46px,4.5vw,68px)}
 .lede{max-width:50ch;text-shadow:0 0 12px var(--paper),0 0 4px var(--paper)}
 .trust{max-width:520px}

 .strip .w{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;padding-block:22px}
 .strip i{display:block;font-size:18px}
 .strip b{font-size:28px}

 .dh{font-size:clamp(44px,4.4vw,64px)}
 .two{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:center}
 .two.flip .fig{order:-1}
 .nlist{column-gap:40px}
 .svc-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:48px;align-items:start}
 .svc-air{max-width:360px}
 .limits{grid-column:1/-1}
 .who-list{grid-template-columns:repeat(5,minmax(0,1fr))}
 .who-list li{grid-template-columns:1fr;align-content:start}
 .work-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;align-items:center}
 .mvt-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch}
 .vs{margin:0 -30px;align-self:center}
 .grow-grid{columns:3}
 .map-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:48px}
 .flag{right:-6%;height:100%;opacity:.22}
 .permits ul{columns:2;column-gap:40px}
 .permits li{break-inside:avoid}
 .regions{grid-template-columns:1fr 1fr;align-items:start}
 .how-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start}
 .cta-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:center}
 .faq-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px}
 .final-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px}
 .ft-top{grid-template-columns:1.4fr 1fr 1fr 1fr}
 .ft-states div{grid-template-columns:repeat(6,1fr)}
 .ft-bot{grid-template-columns:1fr auto}
 .related .w{display:grid;gap:4px}
}
@media (min-width:900px) and (max-width:1099px){
 .hero-in{grid-template-columns:minmax(0,1fr) 340px;gap:28px}
 .nav{gap:14px}
 .nav>a,.nav .dd-t{font-size:13px;letter-spacing:.06em}
 .bt em{display:none}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .js .rv{opacity:1;transform:none}
}
.m-w{fill:#fff}.m-n{fill:var(--navy)}
.map-body{margin-top:28px}
.paper2.flat .pr{color:var(--ink)}

/* ---------- калькулятор стоимости ---------- */
.cxs .intro{margin:8px 0 22px}
.cx{display:grid;gap:18px;margin:0;min-width:0}
.cx fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:10px}
.cx fieldset[hidden],.cx label[hidden]{display:none}
.cx legend{display:flex;align-items:center;gap:10px;font:600 15px/1.2 var(--fc);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);padding:0;margin-bottom:10px}
.cx legend b{display:grid;place-items:center;width:28px;height:28px;background:var(--navy);color:#fff;font:400 16px/1 var(--fd);flex:none}
.cx-in{display:grid;gap:26px;background:var(--card);border:1px solid var(--line);border-top:5px solid var(--navy);padding:20px 16px;min-width:0}
.cx input[type=radio],.cx input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px}
.cx-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cx-pills label,.cx-cards label{position:relative;cursor:pointer;min-width:0}
.cx-pills span,.cx-cards span{display:grid;align-content:center;gap:2px;min-height:52px;height:100%;padding:8px 10px;border:1.5px solid var(--line);background:#fff;transition:border-color .15s,background .15s}
.cx-pills b,.cx-cards b{font:600 14.5px/1.15 var(--fc);letter-spacing:.03em;text-transform:uppercase;color:var(--navy)}
.cx-pills small,.cx-cards small{font:13px/1.3 var(--fb);color:var(--mut)}
.cx-cards{display:grid;gap:8px}
.cx-cards span{padding:10px 12px 10px 42px;position:relative}
.cx-cards span::before{content:"";position:absolute;left:12px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid var(--line);border-radius:50%;background:#fff}
.cx input:checked+span{border-color:var(--navy);background:var(--navy)}
.cx input:checked+span b{color:#fff}
.cx input:checked+span small{color:#C5CEDF}
.cx-cards input:checked+span::before{border-color:#fff;background:var(--red);box-shadow:inset 0 0 0 3px var(--navy)}
.cx input:focus-visible+span{outline:3px solid var(--red2);outline-offset:2px}
.cx-svc{grid-template-columns:repeat(2,minmax(0,1fr))}
.cx select,.cx input[type=number]{width:100%;min-height:50px;border:1.5px solid var(--line);background:#fff;font:600 17px var(--fc);color:var(--navy);padding:0 12px;border-radius:0}
.cx select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%2313233F' stroke-width='2.4'/%3E%3C/svg%3E") right 12px center/18px no-repeat;padding-right:40px}
.cx-sel{display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cx-chk{display:flex;gap:12px;align-items:flex-start;cursor:pointer;position:relative;font-size:15.5px;line-height:1.35;color:var(--txt)}
.cx-chk::before{content:"";width:22px;height:22px;border:2px solid var(--navy);background:#fff;flex:none;margin-top:1px}
.cx-chk:has(input:checked)::before{background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 5 5 9-10' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--red)}
.cx-chk small{display:block;font-size:13px;color:var(--mut)}
.cx-area{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;align-items:end}
.cx-num{display:grid;gap:6px;min-width:0}
.cx-num>span:first-child{font:600 12.5px var(--fc);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.cx-num em{font:13px var(--fb);color:var(--mut);margin-top:-2px}
.cx-step{display:grid;grid-template-columns:48px minmax(0,1fr) 48px}
.cx-step button{border:1.5px solid var(--navy);background:var(--navy);color:#fff;font:600 22px/1 var(--fc);cursor:pointer;min-height:50px}
.cx-step input{text-align:center;border-inline:0!important;-moz-appearance:textfield}
.cx-step input::-webkit-inner-spin-button{-webkit-appearance:none}
.cx-chips{display:flex;flex-wrap:wrap;gap:6px}
.cx-chips button{min-height:40px;padding:0 12px;border:1.5px solid var(--line);background:#fff;font:600 13.5px var(--fc);letter-spacing:.04em;color:var(--navy);cursor:pointer}
.cx-chips button:hover{border-color:var(--navy)}
.cx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cx-more{border-top:1px dashed var(--line);padding-top:14px}
.cx-more summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font:600 15px var(--fc);letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.cx-more summary::-webkit-details-marker{display:none}
.cx-more summary::before{content:"+";font:400 22px/1 var(--fd);width:28px;height:28px;display:grid;place-items:center;border:2px solid var(--red)}
.cx-more[open] summary::before{content:"−"}
.cx-more summary small{font:13px var(--fb);letter-spacing:0;text-transform:none;color:var(--mut)}
.cx-more-in{display:grid;gap:22px;margin-top:18px}
.cx-more-in legend{font-size:13.5px;margin-bottom:6px}
.cx-more-in .cx-pills{grid-template-columns:repeat(3,minmax(0,1fr))}
.cx-out{background:var(--navy);color:#DCE2EE;border-top:5px solid var(--red);padding:22px 18px;display:grid;gap:14px;align-content:start;min-width:0}
.cx-out .k{color:#F0A49D}
.cx-range{display:block;font:400 clamp(36px,10.5vw,54px)/1 var(--fd);color:#fff;letter-spacing:.01em}
.cx-typ{font-size:16px;color:#C5CEDF}.cx-typ b{color:#fff}
.cx-bd{display:grid;border-top:1px solid var(--nline)}
.cx-bd li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--nline);font-size:14.5px;line-height:1.35}
.cx-bd li span{min-width:0}
.cx-bd small{display:block;font-size:12.5px;color:#93A0B8}
.cx-bd b{font:600 15px var(--fc);color:#fff;white-space:nowrap}
.cx-bd .tot span{font:600 14px var(--fc);letter-spacing:.12em;text-transform:uppercase;color:#fff}
.cx-bd .tot b{font-size:18px}
.cx-cmp{display:grid;gap:8px}
.cx-cmp h4{font:600 13px var(--fc);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.cx-cmp a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;text-decoration:none;color:#C5CEDF;font:600 13.5px var(--fc);letter-spacing:.04em;text-transform:uppercase}
.cx-cmp a i{grid-column:1/-1;grid-row:2;height:8px;background:#ffffff14;position:relative}
.cx-cmp a i::after{content:"";position:absolute;top:0;bottom:0;left:var(--l);width:max(var(--w),4px);background:#8FA2C4}
.cx-cmp a.on{color:#fff}.cx-cmp a.on i::after{background:var(--red2)}
.cx-cmp a b{color:#fff;font-weight:600}
.cx-cmp a:hover span{text-decoration:underline}
.cx-copy{background:none;border:1.5px solid #ffffff55;color:#fff;min-height:44px;font:600 13.5px var(--fc);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.cx-copy:hover{border-color:#fff}
.cx-fine{font-size:13px;line-height:1.45;color:#93A0B8}
.cx-fine .st{color:var(--red2)}
.cx-full{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font:600 15px var(--fc);letter-spacing:.08em;text-transform:uppercase;color:var(--red);text-decoration:none}
.cx-full:hover{text-decoration:underline}
.cx-bar{position:fixed;left:0;right:0;bottom:calc(66px + env(safe-area-inset-bottom,0px));z-index:44;display:flex;align-items:center;gap:10px;background:var(--red);color:#fff;padding:8px var(--gutr) 8px var(--gut);box-shadow:0 -6px 16px -8px #0006}
.cx-bar span{font:600 12px var(--fc);letter-spacing:.14em;text-transform:uppercase}
.cx-bar b{font:400 22px/1 var(--fd);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-bar a{font:600 13px var(--fc);letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;display:flex;align-items:center;gap:6px;white-space:nowrap}
.cx-bar[hidden]{display:none}
/* первый экран калькулятора */
.cx-teaser{background:var(--card);border-top:5px solid var(--red);padding:22px 18px;display:grid;gap:12px;box-shadow:0 20px 40px -24px #0006}
.cx-teaser .qf-t{font:400 32px/1 var(--fd);text-transform:uppercase;color:var(--navy)}
.cx-teaser ul{display:grid}
.cx-teaser li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font:600 15px var(--fc);text-transform:uppercase;letter-spacing:.04em;color:var(--navy)}
.cx-teaser li b{font:400 30px/1 var(--fd);color:var(--red)}
.cx-teaser p{font-size:14px;color:var(--mut)}
/* тепловая карта индекса штатов */
.usmap path.h1{fill:#2C4B7A}.usmap path.h2{fill:#4E6C99}.usmap path.h3{fill:#B5655F}.usmap path.h4{fill:var(--red)}
.usmap a:hover path.h1,.usmap a:hover path.h2,.usmap a:hover path.h3,.usmap a:hover path.h4{fill:#fff}
.heat-key{display:flex;flex-wrap:wrap;gap:6px 16px;font:600 12.5px var(--fc);letter-spacing:.08em;text-transform:uppercase;color:#C5CEDF}
.heat-key li{display:flex;align-items:center;gap:6px}
.heat-key li::before{content:"";width:14px;height:14px}
.heat-key .h1::before{background:#2C4B7A}.heat-key .h2::before{background:#4E6C99}.heat-key .h3::before{background:#B5655F}.heat-key .h4::before{background:var(--red)}
.t-calculator .pin{display:none}
/* компактные таблицы калькулятора: на телефоне остаются таблицей */
.tbl small{display:block;font:400 12.5px/1.3 var(--fb);text-transform:none;letter-spacing:0;color:var(--mut)}
.navy .tbl small{color:#AEB8CC}
@media (max-width:699px){
 .ctbl table{display:table;width:100%}
 .ctbl tbody{display:table-row-group}
 .ctbl thead{display:table-header-group}
 .ctbl tr{display:table-row;border:0;margin:0;padding:0;background:none!important}
 .ctbl tbody tr:nth-child(odd){background:#fffdf8!important}
 .navy .ctbl tbody tr:nth-child(odd){background:#ffffff08!important}
 .ctbl th,.ctbl td,.ctbl td:first-child{display:table-cell;padding:9px 6px;font-size:14px;line-height:1.3;border-bottom:1px solid var(--line)}
 .navy .ctbl td{border-color:var(--nline)}
 .ctbl th{font-size:11px;letter-spacing:.06em}
 .ctbl td::before{display:none}
 .ctbl td:first-child{font-size:14px;padding-left:0}
 .ctbl th:first-child{padding-left:8px}
 .st-tbl th:nth-child(2),.st-tbl td:nth-child(2),.st-tbl td small{display:none}
}
@media (min-width:640px){
 .cx-svc{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cx-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cx-pills:not(.cx-svc){grid-template-columns:repeat(4,minmax(0,1fr))}
 .cx-in{padding:26px 24px}
}
@media (min-width:900px){
 .cx{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:24px}
 .cx-out{position:sticky;top:96px;padding:26px 24px}
 .cx-bar{display:none!important}
}
.cx-home{margin-top:26px}
.cx-chips button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
@media (max-width:899px){.fig{margin-right:8px}.fig::after{inset:8px -8px -8px 8px}}
.qf-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0}
.qf .qf-ck{display:flex;gap:10px;align-items:flex-start;font:400 12.5px/1.45 var(--fb);letter-spacing:0;color:var(--mut);cursor:pointer}
.qf .qf-ck input{flex:none;width:20px;height:20px;min-height:0;padding:0;margin:1px 0 0;appearance:auto;accent-color:var(--red)}
.qf-ck.bad span{color:var(--red)}
.qf-err{margin:0;font-size:13.5px;color:var(--red);font-weight:600}.qf-err a{color:inherit}
.legal .w{max-width:760px;padding-block:28px 56px}
.legal h1{font:400 clamp(40px,8vw,64px)/1 var(--fd);text-transform:uppercase;color:var(--navy);margin:14px 0 6px}
.legal .legal-up{color:var(--mut);font-size:14px;margin:0 0 22px}
.legal h2{font:400 26px/1.1 var(--fd);text-transform:uppercase;color:var(--navy);margin:30px 0 10px}
.legal p,.legal li{font:17px/1.65 var(--fb);color:var(--txt)}.legal ul{padding-left:22px;display:grid;gap:6px;list-style:disc}.legal li::marker{color:var(--red)}.legal section,.t-legal main{padding-top:0}
.legal a{color:var(--red)}
.qf-ck a{color:inherit;text-decoration:underline}
.ft-adr{margin:6px 0 0;font-size:14px;opacity:.8}
.nf .nf-cta{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 8px}
.legal .nf-l{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 18px}
.legal .nf-l li{font-size:16px}
