
@import url('https://fonts.googleapis.com/css2?family=Onest:wght@300;400;500;600;700;800&display=swap');
:root{
  --bg:#1d1817;--bg2:#171312;--s1:#2a2321;--s2:#342c2a;--s3:#403633;--line:#3a312e;--line2:#4c403c;
  --t1:#f6f0ed;--t2:#c0b3ae;--t3:#8e817c;--ok:#46d39a;--warn:#f2b33d;--photo:#f4f1ee;--hdr:rgba(29,24,23,.9);
  --a:#e3342f;--ag:rgba(227,52,47,.4);--al:rgba(227,52,47,.13);
  --r:24px;--wrap:1500px;--sh:0 20px 60px rgba(0,0,0,.35);
  --font:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
[data-theme=light]{--bg:#f4f0ec;--bg2:#e9e2dc;--s1:#ffffff;--s2:#f3eeea;--s3:#e8e0da;--line:#e4dcd5;--line2:#d4c9c1;
  --t1:#1f1918;--t2:#5f5450;--t3:#948782;--photo:#f6f3f0;--hdr:rgba(244,240,236,.9);--sh:0 18px 50px rgba(60,40,30,.12)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--t1);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .3s,color .3s}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit;color:inherit}
button{background:none;border:none;cursor:pointer}
.i{width:22px;height:22px;flex:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px}
.muted{color:var(--t2)}.fine{font-size:12.5px;color:var(--t3)}
::selection{background:var(--a);color:#fff}

/* ── шапка ── */
.header{position:sticky;top:0;z-index:50;background:var(--hdr);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:78px;display:flex;align-items:center;transition:box-shadow .25s}
.header.scrolled{box-shadow:0 8px 30px rgba(0,0,0,.22)}
.catbtn{height:78px;padding:0 28px;background:var(--a);color:#fff;font-weight:600;font-size:17px;display:flex;align-items:center;gap:10px;transition:filter .2s;flex:none}
.catbtn:hover{filter:brightness(1.08)}.catbtn .i{display:none}
.hicons{display:flex;align-items:center;gap:2px;padding-left:14px}
.hb{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;position:relative;transition:background .2s,color .2s;color:var(--t1)}
.hb:hover{background:var(--s1);color:var(--a)}
.hb .cnt{position:absolute;top:3px;right:1px;min-width:19px;height:19px;border-radius:10px;background:var(--a);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px}
.hb .cnt[data-n="0"],.hb .cnt:empty{display:none}
.hphone{color:var(--a);font-size:20px;font-weight:500;margin-left:12px;white-space:nowrap}
.hphone:hover{filter:brightness(1.15)}
.logo{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;text-align:left}
.logo img{height:46px;width:46px;object-fit:cover;border-radius:50%}
.logo b{font-size:30px;font-weight:800;letter-spacing:.02em;color:var(--a);line-height:1;text-transform:uppercase;display:block}
.logo small{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);margin-top:5px}
.hright{margin-left:auto;display:flex;align-items:center;gap:2px;padding-right:22px}
.theme{width:72px;height:40px;border-radius:20px;background:var(--s1);position:relative;margin-right:10px;border:1px solid var(--line)}
.theme i{position:absolute;top:4px;left:4px;width:30px;height:30px;border-radius:50%;background:var(--a);color:#fff;display:grid;place-items:center;transition:transform .3s}
.theme i .i{width:17px;height:17px}.theme .sun{display:none}
[data-theme=light] .theme i{transform:translateX(32px)}[data-theme=light] .theme .sun{display:block}[data-theme=light] .theme .moon{display:none}
.hright .hb.srch-m{display:none}

/* ── выезжающие панели ── */
.overlay{position:fixed;inset:0;background:rgba(10,7,6,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:80;opacity:0;pointer-events:none;transition:.25s}
.overlay.on{opacity:1;pointer-events:auto}
.panel{position:fixed;top:0;bottom:0;z-index:90;width:min(440px,100vw);background:var(--bg);display:flex;flex-direction:column;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility .32s;box-shadow:var(--sh);visibility:hidden}
.panel.left{left:0;transform:translateX(-102%)}.panel.right{right:0;transform:translateX(102%)}
.panel.on{transform:none;visibility:visible}
.panel .ph{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;gap:12px}
.panel .ph h3{font-size:24px;font-weight:700}
.panel .pb{flex:1;overflow:auto;padding:0 14px 20px}
.panel .pf{padding:18px 24px 24px;border-top:1px solid var(--line);background:var(--s1)}
.xbtn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--s1);color:var(--t2);flex:none}.xbtn:hover{color:var(--a)}
.cat-head{display:flex;justify-content:space-between;align-items:center;margin:0 10px 12px;padding:20px 22px;background:var(--a);color:#fff;border-radius:16px;font-weight:700;font-size:17px}
.cat-head:hover{filter:brightness(1.08)}
.cat-list{background:var(--s1);border-radius:18px;padding:8px;margin:0 10px}
.cat-list a{display:flex;align-items:center;gap:16px;padding:9px 12px;border-radius:14px;font-size:17px;font-weight:500;transition:background .2s}
.cat-list a:hover{background:var(--s2);color:var(--a)}
.cat-list a .n{margin-left:auto;color:var(--t3);font-size:13px}
.cc{width:56px;height:56px;border-radius:50%;background:var(--s2);display:grid;place-items:center;flex:none;overflow:hidden;color:var(--a)}
.cc img{width:100%;height:100%;object-fit:cover}.cc .i{width:25px;height:25px}
.cc.big{width:112px;height:112px;background:var(--s2)}.cc.big .i{width:44px;height:44px}
.menu-list a{display:block;font-size:22px;font-weight:600;padding:14px 12px;border-bottom:1px solid var(--line)}
.menu-list a:hover{color:var(--a)}
.contact-box{margin:20px 12px 0;padding:20px;background:var(--s1);border-radius:18px;display:grid;gap:12px}
.contact-box a,.contact-box div{display:flex;gap:12px;align-items:center;color:var(--t2)}.contact-box .i{color:var(--a);width:20px;height:20px}
.contact-box a:hover{color:var(--t1)}
.searchbox{position:fixed;left:0;right:0;top:0;z-index:95;background:var(--bg);padding:22px 0 26px;transform:translateY(-105%);transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility .3s;box-shadow:var(--sh);visibility:hidden}
.searchbox.on{transform:none;visibility:visible}
.searchbox .row{display:flex;gap:12px;align-items:center}
.searchbox input{flex:1;min-width:0;height:62px;border-radius:18px;border:2px solid var(--line);background:var(--s1);padding:0 22px;font-size:19px;outline:none}
.searchbox input:focus{border-color:var(--a)}
.sres{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-top:16px;max-height:62vh;overflow:auto}
.sres a{display:flex;gap:14px;align-items:center;padding:10px;border-radius:16px;background:var(--s1)}.sres a:hover{outline:2px solid var(--a)}
.sres img{width:64px;height:64px;border-radius:12px;background:var(--photo);object-fit:contain;padding:4px;flex:none}
.sres b{font-weight:600;display:block}.sres span{font-size:13px;color:var(--t3)}
.sres .empty{grid-column:1/-1}

/* ── кнопки ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 30px;border-radius:14px;font-weight:600;font-size:16px;background:var(--s2);transition:.2s;white-space:nowrap;cursor:pointer;border:1px solid transparent}
.btn:hover{background:var(--s3)}
.btn.primary{background:var(--a);color:#fff}.btn.primary:hover{filter:brightness(1.08);box-shadow:0 12px 30px -10px var(--ag)}
.btn.white{background:#fff;color:#16110f}.btn.white:hover{background:#f1ece9}
.btn.green{background:#1a8f5c;color:#fff}.btn.green:hover{filter:brightness(1.08)}
.btn.max{background:linear-gradient(135deg,#3f7cff,#8a3dff);color:#fff}.btn.max:hover{filter:brightness(1.1)}
.btn.line{background:transparent;border-color:var(--line2)}.btn.line:hover{border-color:var(--a);color:var(--a)}
.btn.sm{height:44px;padding:0 18px;font-size:14px;border-radius:12px}
.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:default}

/* ── слайдер ── */
.slider{margin-top:10px;position:relative}
.slides{position:relative;border-radius:var(--r);overflow:hidden;height:clamp(420px,40vw,620px);background:var(--s1)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;display:grid;place-items:center;padding:40px}
.slide.on{opacity:1;visibility:visible;z-index:1}
.slide .bg{position:absolute;inset:0;background:radial-gradient(110% 120% at 15% 0%,var(--s3),var(--bg2));overflow:hidden}
.slide .bg img.cover{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 7s ease}
.slide.on .bg img.cover{transform:scale(1)}
.slide .bg .tools{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;padding:0 3%}
.slide .bg .tools img{width:24%;aspect-ratio:1;object-fit:contain;border-radius:26px;background:var(--photo);padding:2.5%;box-shadow:var(--sh);transform:rotate(-5deg)}
.slide .bg .tools img+img{transform:rotate(5deg)}
.card-a{position:relative;z-index:2;background:var(--a);color:#fff;border-radius:28px;padding:clamp(28px,3.6vw,56px) clamp(26px,4.6vw,70px);text-align:center;max-width:720px;width:100%;
  box-shadow:0 30px 80px -20px var(--ag);transform:translateY(16px);opacity:0;transition:.7s .15s}
.slide.on .card-a{transform:none;opacity:1}
.card-a h2{font-size:clamp(30px,4.6vw,72px);font-weight:700;line-height:1.04;letter-spacing:-.02em}
.card-a p{font-size:clamp(16px,1.6vw,24px);margin:20px auto 30px;opacity:.95;max-width:620px;line-height:1.35}
.dots{display:flex;justify-content:center;gap:10px;margin-top:24px}
.dots button{width:clamp(36px,7vw,115px);height:5px;border-radius:3px;background:var(--s2);overflow:hidden;position:relative}
.dots button i{position:absolute;inset:0;width:0;background:var(--a)}
.dots button.done i{width:100%}
.dots button.on i{animation:fill var(--dur,6s) linear forwards}
@keyframes fill{to{width:100%}}
.sarrow{position:absolute;top:50%;z-index:3;width:54px;height:54px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;display:grid;place-items:center;transform:translateY(-50%);transition:.2s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sarrow:hover{background:var(--a)}.sarrow.l{left:20px}.sarrow.r{right:20px}

/* ── секции ── */
.sec{padding-top:80px}
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.h2{font-size:clamp(30px,3.3vw,46px);font-weight:400;letter-spacing:-.01em;line-height:1.1}
.more{display:inline-flex;gap:8px;align-items:center;color:var(--t2);font-weight:500;white-space:nowrap}.more:hover{color:var(--a)}
.more .i{width:18px;height:18px}
.cats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.cat-tile{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:26px 12px 22px;border-radius:var(--r);background:var(--s1);transition:.25s}
.cat-tile:hover{transform:translateY(-4px);box-shadow:var(--sh)}.cat-tile:hover b{color:var(--a)}
.cat-tile b{font-weight:500;font-size:16px;line-height:1.25}.cat-tile span{font-size:13px;color:var(--t3);margin-top:-8px}

/* ── карточки ── */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--s1);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s;position:relative}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.card .pic{position:relative;margin:14px 14px 0;border-radius:18px;background:var(--photo);aspect-ratio:1/.9;overflow:hidden}
.card .pic a{display:block;height:100%;padding:8%}
.card .pic img{width:100%;height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover .pic img{transform:scale(1.05)}
.badge{position:absolute;left:12px;top:12px;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#167248;display:inline-flex;align-items:center;gap:6px}
.badge:before{content:'';width:7px;height:7px;border-radius:50%;background:#1fbf78}
.badge.busy{color:#6f6662}.badge.busy:before{background:#a39a96}
.fav{position:absolute;right:10px;top:10px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.94);color:#6f6662;display:grid;place-items:center;transition:.2s;z-index:2}
.fav .i{width:19px;height:19px}.fav:hover{color:var(--a)}.fav.on{color:var(--a)}.fav.on .i{fill:var(--a)}
.card .body{padding:20px 22px 20px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:21px;font-weight:500;line-height:1.22}
.card h3 a:hover{color:var(--a)}
.card .desc{color:var(--t3);font-size:14.5px;margin-top:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .note{font-size:13px;color:var(--warn);margin-top:6px}
.card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:20px;gap:10px}
.price{font-size:19px;font-weight:500;white-space:nowrap}.price small{color:var(--t3);font-size:14px;font-weight:400}
.add{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--t1);transition:.2s;flex:none}
.add .i{width:24px;height:24px}
.add:hover{background:var(--a);color:#fff}.add.in{background:var(--ok);color:#06281a}
.card.busy .pic img{filter:grayscale(1);opacity:.5}
.card.busy h3,.card.busy .price{color:var(--t3)}
.when{font-size:14px;font-weight:600;color:var(--a);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.when .i{width:16px;height:16px}
.grid.list{grid-template-columns:1fr;gap:12px}
.grid.list .card{flex-direction:row;align-items:center}
.grid.list .card .pic{width:170px;flex:none;margin:12px;aspect-ratio:1}
.grid.list .card .body{flex-direction:row;align-items:center;gap:24px;padding:16px 22px 16px 6px}
.grid.list .card .body>div:first-child{flex:1}.grid.list .card .foot{margin:0;padding:0;gap:18px}

/* ── каталог ── */
.page-top{padding-top:36px;padding-bottom:28px}
.bc{display:flex;gap:10px;font-size:14px;color:var(--t3);flex-wrap:wrap}.bc a:hover{color:var(--a)}
.h1{font-size:clamp(34px,4.2vw,58px);font-weight:500;letter-spacing:-.015em;line-height:1.05;margin-top:14px}
.cat-layout{display:grid;grid-template-columns:300px 1fr;gap:28px;padding-bottom:30px}.cat-layout>*{min-width:0}
.side{background:var(--s1);border-radius:var(--r);padding:10px;align-self:start;position:sticky;top:96px}
.side a{display:flex;align-items:center;gap:14px;padding:7px 10px;border-radius:14px;font-size:15.5px;font-weight:500;transition:.2s}
.side a .cc{width:44px;height:44px}.side a .cc .i{width:21px;height:21px}
.side a .n{margin-left:auto;font-size:13px;color:var(--t3)}
.side a:hover{background:var(--s2)}.side a.on{background:var(--a);color:#fff}.side a.on .n{color:rgba(255,255,255,.8)}
.side a.on .cc{background:rgba(255,255,255,.2);color:#fff}
.tbar{display:flex;align-items:center;gap:12px;background:var(--s1);border-radius:18px;padding:8px 8px 8px 18px;margin-bottom:18px}
.tbar .s{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.tbar .s .i{color:var(--t3)}
.tbar input{flex:1;background:none;border:none;outline:none;font-size:16px;padding:10px 0;min-width:0}
.tbar select{background:var(--s2);border:none;border-radius:12px;padding:12px 14px;font-size:14px;outline:none;cursor:pointer}
.switch{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--t2);cursor:pointer;user-select:none;white-space:nowrap;padding:0 6px}
.switch input{display:none}.switch i{width:42px;height:24px;border-radius:99px;background:var(--s3);position:relative;transition:.2s;flex:none}
.switch i:after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--t2);transition:.2s}
.switch input:checked+i{background:var(--a)}.switch input:checked+i:after{left:21px;background:#fff}
.vt{display:flex;gap:4px}.vt button{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--t3)}.vt button.on{background:var(--s2);color:var(--t1)}
.subh{display:flex;justify-content:space-between;color:var(--t3);font-size:14px;margin:0 4px 14px;gap:10px}
.empty{padding:50px 20px;text-align:center;color:var(--t3)}.empty .i{width:40px;height:40px;margin:0 auto}

/* ── страница инструмента ── */
.tool{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;padding-bottom:30px}.tool>*{min-width:0}
.tool .gal{background:var(--s1);border-radius:var(--r);padding:16px}
.tool .big{background:var(--photo);border-radius:18px;aspect-ratio:1/.85;padding:6%;position:relative}
.tool .big img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}
.tool.busy .big img{filter:grayscale(1);opacity:.55}
.tool .info{background:var(--s1);border-radius:var(--r);padding:36px}
.tool h1{font-size:clamp(28px,3vw,42px);font-weight:600;line-height:1.1;margin:8px 0 16px}
.st-pill{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;background:rgba(70,211,154,.12);color:var(--ok)}
.st-pill:before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.st-pill.busy{background:var(--s2);color:var(--t2)}
.pbox{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.pbox>div{background:var(--s2);border-radius:18px;padding:18px 20px}.pbox span{font-size:13px;color:var(--t3)}.pbox b{display:block;font-size:30px;font-weight:600;margin-top:2px}
.specs{list-style:none}.specs li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}.specs li span:first-child{color:var(--t3)}
.desc-full{color:var(--t2);margin:20px 0;white-space:pre-line}
.tool .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

/* ── шаги, условия, подбор, вопросы, контакты ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{background:var(--s1);border-radius:var(--r);padding:30px}
.step .n{width:52px;height:52px;border-radius:16px;background:var(--al);color:var(--a);display:grid;place-items:center;font-weight:800;font-size:20px}
.step b{display:block;font-size:20px;font-weight:600;margin:22px 0 8px}.step p{color:var(--t2);font-size:15px}
.conds{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.cond{border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;gap:16px}
.cond .i{color:var(--a);width:26px;height:26px;margin-top:2px}.cond b{display:block;margin-bottom:4px}.cond p{color:var(--t2);font-size:14px}
.promo{border-radius:var(--r);background:var(--a);color:#fff;padding:clamp(28px,4vw,60px);display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;position:relative;overflow:hidden}
.promo:after{content:'';position:absolute;right:-120px;top:-140px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.promo h2{font-size:clamp(30px,3.5vw,52px);font-weight:700;line-height:1.05}.promo p{opacity:.92;margin-top:16px;font-size:18px;max-width:460px}
.promo .inp{background:rgba(255,255,255,.96);color:#1a1414}.promo .inp::placeholder{color:#8d817c}
.promo .btn{background:#1a1414;color:#fff}.promo .fine{color:rgba(255,255,255,.75)}
/* ── вагончики, леса, вышки ── */
.slide .bg .tools.svc img{object-fit:cover;padding:0;border:8px solid var(--photo)}
.card-a .lbl2{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.18);border-radius:30px;padding:6px 14px;margin-bottom:14px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn.glass{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.55)}.btn.glass:hover{background:rgba(255,255,255,.26)}
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-card{background:var(--s1);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.svc-card .pics{position:relative;aspect-ratio:4/3;background:var(--photo);cursor:zoom-in;overflow:hidden}
.svc-card .pics>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.svc-card:hover .pics>img{transform:scale(1.04)}
.svc-card .thumbs{position:absolute;left:12px;bottom:12px;display:flex;gap:8px}
.svc-card .thumbs img{width:58px;height:58px;border-radius:12px;border:2px solid #fff;object-fit:cover;box-shadow:var(--sh)}
.svc-card .body{padding:24px;display:flex;flex-direction:column;gap:14px;flex:1}
.svc-card h3{font-size:24px;font-weight:700}.svc-card p{color:var(--t2)}
.svc-card ul{list-style:none;display:grid;gap:8px;font-size:15px}.svc-card li{display:flex;gap:10px}.svc-card li .i{color:var(--a);width:18px;height:18px;flex:none;margin-top:2px}
.svc-card .cta{margin-top:auto;justify-content:stretch}.svc-card .cta .btn{flex:1;padding:0 16px}
.form{display:grid;gap:12px;position:relative;z-index:1}
.field{display:grid;gap:7px}.field span{font-size:13px;color:var(--t2);font-weight:500}
.inp{width:100%;background:var(--s2);border:2px solid transparent;border-radius:14px;padding:14px 16px;font-size:16px;outline:none;transition:.2s;color:var(--t1)}
textarea.inp{min-height:100px;resize:vertical}
.inp:focus{border-color:var(--a)}.inp::placeholder{color:var(--t3)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.faq{display:grid;gap:12px}
.faq details{background:var(--s1);border-radius:20px;padding:0 26px}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{transition:.25s;color:var(--a)}.faq details[open] summary .i{transform:rotate(45deg)}
.faq details p{color:var(--t2);padding:0 0 22px;max-width:820px}
.contacts{display:grid;grid-template-columns:1fr 1.5fr;gap:16px}.contacts>*{min-width:0}
.cbox{background:var(--s1);border-radius:var(--r);padding:26px 30px;display:grid;align-content:start}
.cbox a,.cbox div{display:flex;gap:16px;align-items:center;padding:12px 0;font-size:18px}
.cbox .ic{width:48px;height:48px;border-radius:14px;background:var(--al);color:var(--a);display:grid;place-items:center;flex:none}
.cbox small{display:block;font-size:13px;color:var(--t3)}
.map{border-radius:var(--r);overflow:hidden;min-height:420px;background:var(--s1)}
.map iframe{width:100%;height:100%;min-height:420px;border:0}
html:not([data-theme=light]) .map iframe{filter:invert(.9) hue-rotate(180deg) saturate(.5) brightness(.95)}

/* ── подвал ── */
.footer{margin-top:90px;background:var(--bg2);padding:56px 0 30px}
.footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer h4{font-size:14px;color:var(--t3);margin-bottom:14px;font-weight:500}
.footer a{display:block;color:var(--t2);padding:4px 0}.footer a:hover{color:var(--a)}
.footer .copy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;color:var(--t3);font-size:13px;gap:10px}
.flogo{font-size:26px;font-weight:800;color:var(--a);text-transform:uppercase;letter-spacing:.02em}

/* ── чат, модальные окна, комплект ── */
.fab{position:fixed;right:30px;bottom:30px;z-index:60}
.fab .main{width:74px;height:74px;border-radius:50%;background:var(--a);color:#fff;display:grid;place-items:center;position:relative;box-shadow:0 14px 34px -8px var(--ag)}
.fab .main:before{content:'';position:absolute;inset:-11px;border-radius:50%;border:1px solid var(--ag)}
.fab .main:after{content:'';position:absolute;inset:-11px;border-radius:50%;border:2px solid var(--a);animation:pulse 2.6s infinite;opacity:0}
@keyframes pulse{0%{transform:scale(.85);opacity:.8}100%{transform:scale(1.25);opacity:0}}
.fab .main .i{width:30px;height:30px}
.fab .items{position:absolute;right:0;bottom:92px;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
.fab .items>*{display:flex;align-items:center;gap:10px;background:var(--s1);border-radius:99px;padding:12px 18px 12px 14px;font-size:15px;font-weight:600;box-shadow:var(--sh);
  opacity:0;transform:translateY(10px);transition:.22s;white-space:nowrap}
.fab .items .i{color:var(--a)}
.fab.open .items{pointer-events:auto}.fab.open .items>*{opacity:1;transform:none}
.greet{position:absolute;right:98px;bottom:4px;width:360px;background:#fff;color:#1d1817;border:2px solid var(--a);border-radius:18px;padding:16px 34px 16px 16px;display:flex;gap:14px;
  box-shadow:var(--sh);opacity:0;visibility:hidden;transform:translateX(12px);transition:.35s;cursor:pointer;text-align:left}
.greet:after{content:'';position:absolute;right:-9px;bottom:28px;width:14px;height:14px;background:#fff;border-right:2px solid var(--a);border-top:2px solid var(--a);transform:rotate(45deg)}
.greet.on{opacity:1;visibility:visible;transform:none}
.greet .av{width:48px;height:48px;border-radius:50%;background:var(--a);color:#fff;display:grid;place-items:center;font-weight:700;font-size:20px;flex:none;overflow:hidden}
.greet .av img{width:100%;height:100%;object-fit:cover}
.greet b{display:block;font-size:16px}.greet p{font-size:14px;color:#4c4441;line-height:1.38;margin-top:2px}
.fab .fcnt{position:absolute;top:-2px;right:-2px;min-width:24px;height:24px;border-radius:12px;background:#fff;color:var(--a);font-size:13px;font-weight:800;display:grid;place-items:center;padding:0 6px;box-shadow:var(--sh);z-index:2}
.fab .fcnt:empty{display:none}
.chatbox{position:fixed;right:30px;bottom:122px;z-index:70;width:390px;height:min(600px,calc(100vh - 150px));background:var(--bg);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.45);
  display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transform-origin:bottom right;transition:.25s;border:1px solid var(--line)}
.chatbox.on{opacity:1;visibility:visible;transform:none}
.ch-h{display:flex;align-items:center;gap:12px;padding:16px 16px 14px 18px;background:var(--a);color:#fff}
.ch-h .av{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-weight:700;font-size:19px;overflow:hidden;flex:none}
.ch-h .av img{width:100%;height:100%;object-fit:cover}
.ch-h b{display:block;font-size:16.5px;line-height:1.2}.ch-h small{font-size:12.5px;opacity:.85;display:flex;align-items:center;gap:6px}
.ch-h small:before{content:'';width:8px;height:8px;border-radius:50%;background:#7dffb8}
.ch-h .xbtn{margin-left:auto;background:rgba(255,255,255,.18);color:#fff}
.ch-q{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);overflow-x:auto}
.ch-q>*{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px;font-weight:600;padding:8px 12px;border-radius:99px;background:var(--s1)}
.ch-q>*:hover{color:var(--a)}.ch-q .i{width:16px;height:16px;color:var(--a)}
.ch-m{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:8px}
.bm{max-width:82%;padding:10px 14px;border-radius:18px 18px 18px 6px;background:var(--s1);font-size:15px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;align-self:flex-start}
.bm small{display:block;font-size:11px;color:var(--t3);margin-top:3px}
.bm.me{align-self:flex-end;background:var(--a);color:#fff;border-radius:18px 18px 6px 18px}.bm.me small{color:rgba(255,255,255,.75);text-align:right}
.ch-f{padding:10px 12px 12px;border-top:1px solid var(--line);display:grid;gap:8px;position:relative}
.ch-who{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ch-who input{background:var(--s1);border:2px solid transparent;border-radius:12px;padding:10px 12px;font-size:14px;outline:none;min-width:0}
.ch-who input:focus{border-color:var(--a)}
.ch-row{display:flex;gap:8px;align-items:flex-end}
.ch-row textarea{flex:1;resize:none;background:var(--s1);border:2px solid transparent;border-radius:14px;padding:11px 14px;font-size:15px;outline:none;max-height:120px;min-height:46px}
.ch-row textarea:focus{border-color:var(--a)}
.ch-row button{width:46px;height:46px;border-radius:14px;background:var(--a);color:#fff;display:grid;place-items:center;flex:none}.ch-row button:disabled{opacity:.5}
.greet .gx{position:absolute;right:6px;top:4px;width:26px;height:26px;color:#b0a6a2;font-size:20px;line-height:1}
.modal{position:fixed;left:50%;top:50%;z-index:96;width:min(540px,calc(100vw - 28px));max-height:calc(100vh - 32px);overflow:auto;background:var(--bg);border-radius:28px;
  padding:36px;transform:translate(-50%,-46%) scale(.97);opacity:0;visibility:hidden;transition:.25s;box-shadow:var(--sh)}
.modal.on{transform:translate(-50%,-50%);opacity:1;visibility:visible}
.modal .xbtn{position:absolute;top:16px;right:16px}
.modal h3{font-size:26px;font-weight:700;line-height:1.15;padding-right:44px}
.modal .sub{color:var(--t2);margin:10px 0 22px}
.lbl{font-size:13px;color:var(--a);font-weight:600;margin-bottom:6px;display:block}
.crow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.sep{display:flex;align-items:center;gap:14px;color:var(--t3);font-size:13px;margin:4px 0 16px}.sep:before,.sep:after{content:'';flex:1;height:1px;background:var(--line)}
.okbox{text-align:center;padding:14px 0}.okbox .ic{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;background:rgba(70,211,154,.14);color:var(--ok);display:grid;place-items:center}
.okbox .ic .i{width:36px;height:36px}.okbox h3{padding:0}
.kit-item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:10px;border-radius:16px;background:var(--s1);margin-bottom:8px}
.kit-item img{width:72px;height:72px;object-fit:contain;background:var(--photo);border-radius:12px;padding:5px}
.kit-item b{font-weight:600;display:block;line-height:1.3}.kit-item span{font-size:13px;color:var(--t3)}
.kit-item button.rm{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--t3)}.kit-item button.rm:hover{color:var(--a);background:var(--s2)}
.sum{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0}.sum b{font-size:28px;font-weight:700}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,160%);z-index:120;background:var(--s1);border-radius:16px;padding:14px 22px;font-weight:600;
  transition:.3s;display:flex;align-items:center;gap:10px;box-shadow:var(--sh);visibility:hidden}
.toast.on{transform:translate(-50%,0);visibility:visible}.toast .i{color:var(--ok)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.shown{opacity:1;transform:none}

@media (max-width:1280px){.wrap{padding:0 24px}.grid{grid-template-columns:repeat(3,1fr)}.grid.c3{grid-template-columns:repeat(2,1fr)}.hphone{font-size:17px}.logo b{font-size:24px}
  .hicons .hb.mail{display:none}}
@media (max-width:1020px){
  .hphone,.theme,.hicons .hb.pin{display:none}
  .catbtn{padding:0 18px}.logo small{display:none}
  .grid,.grid.c3{grid-template-columns:repeat(2,1fr)}
  .steps,.conds{grid-template-columns:repeat(2,1fr)}.svcs{grid-template-columns:1fr 1fr}
  .cat-layout{grid-template-columns:1fr}.side{position:static;display:flex;gap:8px;overflow-x:auto;padding:8px}
  .side a{flex:none;padding:5px 14px 5px 5px;background:var(--s2)}.side a .n{margin-left:4px}
  .tool,.contacts,.promo{grid-template-columns:1fr}
  .footer .wrap{grid-template-columns:1fr 1fr}.footer .wrap>div:first-child{grid-column:1/-1}
}
@media (max-width:640px){
  .wrap{padding:0 14px}
  .header{height:64px}.catbtn{height:64px;width:64px;padding:0;justify-content:center;font-size:0}.catbtn .i{display:block;width:26px;height:26px}
  .hicons{padding-left:2px}.hb{width:42px;height:42px}.hicons .hb.srch{display:none}
  .logo b{font-size:19px}.logo img{height:30px;width:30px}.logo{gap:8px;position:static;transform:none;margin:0 auto 0 4px;min-width:0}.logo b{overflow:hidden;text-overflow:ellipsis}.hright{padding-right:6px}.hright .hb.srch-m{display:grid}
  .slides{height:540px;border-radius:20px}.slide{padding:14px;align-items:end}.card-a{border-radius:20px}.card-a p{margin:12px auto 20px}
  .slide .bg .tools{align-items:flex-start;padding:22px 14px}.slide .bg .tools img{width:47%;border-radius:18px}
  .sarrow{display:none}
  .card-a .lbl2{font-size:11px;margin-bottom:8px}.card-a .cta{gap:8px}.card-a .cta .btn{flex:1 1 100%;height:48px}
  .svcs{grid-template-columns:1fr}
  .sec{padding-top:56px}.grid,.grid.c3{gap:10px}.cats-row{grid-template-columns:repeat(2,1fr);gap:10px}.cc.big{width:84px;height:84px}
  .card{border-radius:18px}.card .pic{margin:8px 8px 0;border-radius:13px}.card .body{padding:12px 12px 12px}.card h3{font-size:15.5px}.card .desc{display:none}
  .card .foot{padding-top:12px}.price{font-size:15px}.price small{font-size:12px}.add{width:36px;height:36px}.when{font-size:12.5px}
  .badge{font-size:10.5px;padding:3px 8px;left:7px;top:7px}.fav{width:32px;height:32px;right:6px;top:6px}.fav .i{width:16px;height:16px}
  .steps,.conds{grid-template-columns:1fr}.row2,.crow{grid-template-columns:1fr}
  .tbar{flex-wrap:wrap;padding:8px}.tbar .s{flex-basis:100%;padding-left:8px}.tbar select{flex:1}.vt{display:none}
  .tool .info{padding:22px}.pbox b{font-size:23px}.modal{padding:26px 20px;border-radius:22px}
  .cbox{padding:18px 20px}.cbox a,.cbox div{font-size:16px}
  .chatbox{right:0;bottom:0;width:100vw;height:100%;max-height:100dvh;border-radius:0;border:0}.chatbox.on~.fab,.fab.hide{display:none}
  .fab{right:16px;bottom:16px}.fab .main{width:60px;height:60px}.fab .main .i{width:26px;height:26px}.greet{width:min(290px,calc(100vw - 100px));right:76px}
  .footer .wrap{grid-template-columns:1fr}.footer .copy{flex-direction:column}
}
