:root{
 --ink:#1b1f24; --ink2:#525a63; --mut:#7d858e; --dim:#9aa1a8;
 --line:#e8e9e6; --bg:#fff; --soft:#f2f2f0; --brand:#1f3a4d; --brand2:#16303f;
 --acc:#c62b22; --ok:#2f6b4f; --max:1560px; --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{background:var(--bg);color:var(--ink);font-family:'Manrope',system-ui,sans-serif;font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block}
button{font-family:inherit}
[hidden]{display:none!important}
.wrap{max-width:var(--max);margin:0 auto;padding:0 44px}
h1,h2,h3{font-weight:600;letter-spacing:-.015em;line-height:1.1}
h1,h2,.giant,.story .num b,.fbig,.calc .res b,.gal .stats b,.bt .num,.dstats b{font-family:'Unbounded','Manrope',sans-serif;font-weight:500;letter-spacing:-.03em}
h2{font-size:46px;line-height:1.06}
.kick{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.kick::before{content:"";width:22px;height:2px;background:var(--acc);display:block}
.sdesc{color:var(--ink2);font-size:16.5px;max-width:56ch;line-height:1.6}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px;flex-wrap:wrap}
.slink{font-size:15px;font-weight:600;color:var(--brand);display:inline-flex;align-items:center;gap:8px;position:relative}
.slink i{font-style:normal;transition:transform .3s var(--ease)}
.slink:hover i{transform:translate(3px,-3px)}
section{padding:120px 0;position:relative}
.grey{background:var(--soft) radial-gradient(rgba(27,31,36,.075) 1px,transparent 1px);background-size:28px 28px}
.grain::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.idx{position:absolute;left:44px;top:34px;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--mut);text-transform:uppercase;display:flex;gap:10px;align-items:center}
.idx::after{content:"";width:40px;height:1px;background:var(--line)}
.tick{position:absolute;width:14px;height:14px;pointer-events:none;z-index:3;opacity:.7}
.tick::before,.tick::after{content:"";position:absolute;background:#fff}
.tick::before{left:0;top:6px;width:14px;height:1px}.tick::after{left:6px;top:0;width:1px;height:14px}
.tick.tl{left:16px;top:16px}.tick.tr{right:16px;top:16px}.tick.bl{left:16px;bottom:16px}.tick.br{right:16px;bottom:16px}

/* кнопки */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:99px;padding:15px 26px 15px 28px;font-size:15px;font-weight:600;cursor:pointer;border:0;transition:background .25s,color .25s,transform .35s var(--ease),box-shadow .35s;white-space:nowrap;position:relative}
.pill.white{background:#fff;color:var(--ink)}.pill.white:hover{background:#f3f3f1}
.pill.brand{background:var(--brand);color:#fff}.pill.brand:hover{background:var(--brand2)}
.pill.glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.34);backdrop-filter:blur(10px)}.pill.glass:hover{background:rgba(255,255,255,.26)}
.pill.line{background:transparent;border:1px solid var(--line);color:var(--ink)}.pill.line:hover{background:var(--soft)}
.pill.sm{padding:11px 18px 11px 20px;font-size:14px}
.arw{width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:13px;font-style:normal;flex:none;transition:transform .35s var(--ease)}
.pill:hover .arw{transform:translateX(4px)}
.pill.brand .arw{background:rgba(255,255,255,.18)}
.pill.glass .arw{background:#fff;color:var(--ink)}

/* ── шапка ── */
.top{position:fixed;top:0;left:0;right:0;z-index:40;transition:background .4s,box-shadow .4s}
.top .wrap{display:flex;align-items:center;gap:34px;height:80px;color:#fff;transition:color .4s,height .4s}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.12em;font-size:14px;white-space:nowrap}
.logo i{width:30px;height:30px;background:url(../img/logo_mark.webp?v=a8b1ee0c) center/contain no-repeat;display:block;flex:none;transition:transform .6s var(--ease)}
.logo:hover i{transform:rotate(180deg)}
.top nav{display:flex;gap:26px;font-size:14.5px}
.top nav a{position:relative;padding:4px 0;opacity:.88}
.top nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.top nav a:hover{opacity:1}.top nav a:hover::after{transform:scaleX(1);transform-origin:left}
.top .right{margin-left:auto;display:flex;align-items:center;gap:14px}
.top .tel{font-size:15px;font-weight:600;white-space:nowrap}
.rico{display:flex;gap:7px}
.rico a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;backdrop-filter:blur(6px);transition:.25s}
.rico a svg{display:block}
.rico a:hover{background:#fff;color:var(--ink)}
.burger{display:none;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.16);cursor:pointer;place-items:center;color:#fff}
.burger span{display:block;width:18px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
.top.solid{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line)}
.top.solid .wrap{color:var(--ink);height:68px}
.top.solid .rico a{background:var(--soft);color:var(--ink2)}
.top.solid .pill.white{background:var(--brand);color:#fff}
.top.solid .burger{background:var(--soft);color:var(--ink)}
.prog{position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--acc);transform:scaleX(0);transform-origin:left;opacity:0;transition:opacity .3s}
.top.solid .prog{opacity:1}
.drawer{position:fixed;inset:0;z-index:60;background:#16303f;color:#fff;padding:96px 28px 40px;display:none;flex-direction:column;gap:4px;font-size:26px;font-weight:600}
.drawer.open{display:flex}
.drawer a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.drawer .x{position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);border:0;color:#fff;font-size:22px;cursor:pointer}
.drawer small{display:block;margin-top:auto;font-size:14px;color:rgba(255,255,255,.7);font-weight:400;line-height:1.6}

/* ── герой ── */
.hero{position:relative;height:100vh;min-height:700px;overflow:hidden;display:flex;align-items:flex-end;background:#0e1418}
.slides{position:absolute;inset:0}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1.1s ease}
.slides img.on{opacity:1;animation:kb 7s linear forwards}
/* MITSUI стоит правее центра: сдвиг кадра, чтобы станция не пряталась под калькулятор */
.slides img:nth-child(1){object-position:100% center}
@keyframes kb{from{transform:scale(1.08) translate(0,0)}to{transform:scale(1.18) translate(-1.5%,-1%)}}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(10,14,18,.55) 0%,rgba(10,14,18,.05) 28%,rgba(10,14,18,.22) 56%,rgba(10,14,18,.88) 100%),
 linear-gradient(96deg,rgba(10,14,18,.7) 0%,rgba(10,14,18,.38) 40%,rgba(10,14,18,.02) 68%)}
.hero>.wrap{position:relative;z-index:5;width:100%;padding-bottom:72px;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:end}
.hero .hk{color:rgba(255,255,255,.72);font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:flex;gap:14px;align-items:center;margin-bottom:22px}
.hero .hk i{width:8px;height:8px;border-radius:50%;background:var(--acc);display:block;box-shadow:0 0 0 4px rgba(198,43,34,.28);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(198,43,34,.45)}70%{box-shadow:0 0 0 10px rgba(198,43,34,0)}100%{box-shadow:0 0 0 0 rgba(198,43,34,0)}}
.hero h1{color:#fff;font-size:68px;max-width:14ch;line-height:1.02;letter-spacing:-.03em}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.hero h1 .w span{display:inline-block;transform:translateY(110%);will-change:transform}
.hero p{color:rgba(255,255,255,.88);font-size:18px;margin-top:22px;max-width:44ch;line-height:1.55}
.hero .btns{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.hero .fade{opacity:0;transform:translateY(24px)}
/* калькулятор */
.calc{background:rgba(255,255,255,.97);border-radius:20px;padding:22px 22px 30px;box-shadow:0 30px 80px rgba(0,0,0,.28);backdrop-filter:blur(12px);max-width:440px;margin-left:auto;margin-bottom:0;position:relative;z-index:8}
.calc .note{margin-top:22px;font-size:12.5px;color:var(--mut)}
.calc .t{font-size:13px;font-weight:600;color:var(--mut);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px;display:flex;justify-content:space-between}
.calc .t b{color:var(--acc);font-weight:600;letter-spacing:0;text-transform:none}
.calc .opts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;background:var(--soft);padding:5px;border-radius:14px}
.calc .opts button{border:0;background:transparent;border-radius:10px;padding:11px 6px;font-size:13px;font-weight:600;color:var(--mut);cursor:pointer;transition:.25s;line-height:1.25}
.calc .opts button.on{background:#fff;color:var(--ink);box-shadow:0 4px 14px rgba(20,24,28,.10)}
.calc .res{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.calc .res div{background:var(--soft);border-radius:12px;padding:12px 14px}
.calc .res small{display:block;font-size:11.5px;color:var(--mut);font-weight:600;letter-spacing:.03em;text-transform:uppercase}
.calc .res b{display:block;font-size:24px;font-weight:600;color:var(--brand);letter-spacing:-.02em;margin-top:2px;line-height:1.1}
.calc .res b em{font-style:normal;font-size:14px;color:var(--ink2);font-weight:500;margin-left:3px}
.calc .mods{margin-top:12px;font-size:13px;color:var(--ink2)}
.calc .mods b{color:var(--ink);font-weight:600}
.calc .go{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.calc .go span{flex:1;min-width:0;line-height:1.35}
.hero .foot{position:absolute;left:0;right:0;bottom:0;z-index:6;max-width:55%;display:flex;justify-content:space-between;align-items:center;padding:0 44px 18px;color:rgba(255,255,255,.6);font-size:12.5px}
.hero .dots{display:flex;gap:8px}
.hero .dots i{width:34px;height:4px;border-radius:2px;background:rgba(255,255,255,.3);display:block;overflow:hidden;position:relative}
.hero .dots i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.hero .dots i.on::after{animation:dot 5.5s linear forwards}
@keyframes dot{to{transform:scaleX(1)}}
.hero .scr{display:flex;align-items:center;gap:10px}
.hero .scr i{width:1px;height:34px;background:rgba(255,255,255,.35);display:block;position:relative;overflow:hidden}
.hero .scr i::after{content:"";position:absolute;left:0;top:-34px;width:1px;height:34px;background:#fff;animation:scr 1.8s var(--ease) infinite}
@keyframes scr{to{top:34px}}

/* ── бегущая строка ── */
.marq{padding:44px 0 40px;border-bottom:1px solid var(--line);overflow:hidden;background:#fff;display:flex;align-items:center;gap:40px}

.marq .lbl{padding-left:calc(max(0px,(100% - var(--max)) / 2) + 44px)}
.marq .lbl{font-size:13px;color:var(--mut);white-space:nowrap;font-weight:600;flex:none}
.marq .lbl b{color:var(--ink);display:block;font-size:15px}
.track{overflow:hidden;flex:1;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 72px,#000 calc(100% - 120px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 72px,#000 calc(100% - 120px),transparent 100%)}
.track ul{display:flex;gap:64px;list-style:none;width:max-content;animation:mq var(--mqt,34s) linear infinite;will-change:transform;backface-visibility:hidden}
.track:hover ul{animation-play-state:paused}
.track li{display:flex;align-items:center;height:44px;filter:grayscale(1);opacity:.7;transition:.3s}
.track li:hover{filter:none;opacity:1}
.track img{height:38px;width:auto;image-rendering:auto}
.track b{font-size:22px;font-weight:700;letter-spacing:.04em}
.track b em{font-style:normal;color:var(--acc)}
@keyframes mq{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1 * var(--mqw,50%)),0,0)}}

/* ── три задачи (sticky story) ── */
.story{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.story .left{position:sticky;top:100px;height:min(74vh,690px);min-height:480px;border-radius:24px;overflow:hidden;background:#222}
.story .left img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 1.4s var(--ease)}
.story .left img.on{opacity:1;transform:none}
.story .left::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,18,.1),rgba(10,14,18,.65))}
.story .left .num{position:absolute;left:34px;bottom:30px;z-index:2;color:#fff;font-size:96px;font-weight:600;letter-spacing:-.04em;line-height:1;display:flex;align-items:baseline;gap:14px}
.story .left .num small{font-size:14px;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:.06em;text-transform:uppercase}
.story .left .num b{display:inline-block;min-width:1.2em}
.story .steps{padding-top:10px}
.step{min-height:78vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0;border-top:1px solid var(--line);opacity:.35;transition:opacity .5s}
.step:first-child{border-top:0}
.step.on{opacity:1}
.step .n{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.step h3{font-size:44px;max-width:15ch;overflow:visible;padding-right:2px}
.step p{margin-top:18px;font-size:16.5px;color:var(--ink2);max-width:46ch;line-height:1.6}
.step .kv{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:28px;max-width:560px}
.step .kv div{border-top:2px solid var(--ink);padding-top:10px}
.step .kv b{display:block;font-size:24px;font-weight:600;letter-spacing:-.02em}
.step .kv span{font-size:12.5px;color:var(--mut)}
.step .pill{margin-top:28px;align-self:flex-start}

/* ── карусель моделей ── */
.tabs{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:99px;padding:5px;gap:3px;max-width:100%;overflow-x:auto;position:relative}
.tabs button{border:0;background:transparent;font-size:14.5px;font-weight:600;color:var(--mut);padding:11px 24px;border-radius:99px;cursor:pointer;white-space:nowrap;position:relative;z-index:1;transition:color .3s}
.tabs button.on{color:var(--ink)}
.tabs .ind{position:absolute;top:5px;bottom:5px;left:0;width:0;background:var(--soft);border-radius:99px;transition:left .4s var(--ease),width .4s var(--ease)}
.car{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 44px 62px;margin:0 -44px -30px;scrollbar-width:none;cursor:grab}
.car::-webkit-scrollbar{display:none}
.car.drag{cursor:grabbing;scroll-snap-type:none}
.mc{flex:0 0 420px;scroll-snap-align:start;position:relative;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s;box-shadow:0 2px 12px rgba(20,24,28,.05)}
.mc:hover{box-shadow:0 26px 52px rgba(20,24,28,.15)}
.mc::before{content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:4/3;background:linear-gradient(178deg,#f7f7f5 0%,#eceeec 100%)}
.mc>img{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;mix-blend-mode:multiply;padding:56px 12px 10px;transition:transform .8s var(--ease)}
.mc:hover>img{transform:scale(1.045)}
.mc .chips{position:absolute;top:16px;left:16px;right:16px;z-index:4;display:flex;gap:7px;flex-wrap:wrap}
.chip{background:rgba(255,255,255,.95);border:1px solid rgba(20,24,28,.07);border-radius:99px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--ink)}
.chip.new{background:var(--acc);color:#fff;border-color:transparent}
.chip.dk{background:rgba(31,58,77,.9);color:#fff;border-color:transparent;backdrop-filter:blur(6px)}
.mc .in{position:relative;z-index:4;padding:20px 24px 24px;width:100%;color:var(--ink);display:flex;flex-direction:column;flex:1;border-top:1px solid var(--line)}
.mc .brand{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc h3{font-size:26px;margin-top:5px;overflow-wrap:break-word;word-break:normal;hyphens:auto;line-height:1.12}
.mc .specs{display:flex;gap:6px 14px;margin-top:11px;font-size:12.5px;color:var(--mut);flex-wrap:wrap}
.mc .row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.mc .row:first-child{margin-top:18px}
.mc .price{font-size:24px;font-weight:600;letter-spacing:-.01em;line-height:1}
.mc .price small{display:block;font-size:12px;font-weight:500;color:var(--mut);margin-top:6px}
.mc .go{width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:15px;flex:none;transition:transform .35s var(--ease)}
.mc:hover .go{transform:rotate(-45deg)}
.carfoot{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:6px}
.pbar{flex:1;height:2px;background:var(--line);position:relative;overflow:hidden;border-radius:2px}
.pbar i{position:absolute;left:0;top:0;bottom:0;width:20%;background:var(--ink);border-radius:2px}
.warr{display:flex;gap:10px}
.warr button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:16px;color:var(--brand);transition:.25s}
.warr button:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ── бенто услуг ── */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:18px}
.bt{position:relative;border-radius:20px;overflow:hidden;background:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .5s var(--ease),box-shadow .5s;border:1px solid var(--line)}
.bt:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(20,24,28,.12)}
.bt.ph{border:0;color:#fff}
.bt.ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.bt.ph:hover>img{transform:scale(1.06)}
.bt.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,18,.15),rgba(10,14,18,.78))}
.bt.dk{background:var(--brand);color:#fff;border:0}
.bt.acc{background:var(--acc);color:#fff;border:0}
.bt .in{position:relative;z-index:2}
.bt .ic{width:46px;height:46px;flex:none;border-radius:50%;border:1px solid currentColor;opacity:.9;display:grid;place-items:center;font-size:20px;margin-bottom:auto;position:relative;z-index:2}
.bt h3{font-size:24px;max-width:16ch}
.bt.big h3{font-size:36px}
.bt p{font-size:14px;margin-top:10px;opacity:.82;max-width:40ch;line-height:1.55;max-height:0;overflow:hidden;transition:max-height .5s var(--ease),margin .5s}
.bt:hover p,.bt.open p{max-height:120px}
.bt .num{font-size:64px;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--brand)}
.bt.dk .num,.bt.acc .num{color:#fff}
.bt .num em{font-style:normal;font-size:22px;margin-left:4px}
.bt .lnk{display:inline-flex;gap:8px;font-size:14px;font-weight:600;margin-top:14px;align-items:center}
.bt .lnk i{font-style:normal;transition:transform .3s}
.bt:hover .lnk i{transform:translateX(4px)}
.c2{grid-column:span 2}.r2{grid-row:span 2}

/* ── тёмная промышленная ── */
.dark{background:var(--brand2);color:#fff;overflow:hidden}
.dark::before{content:"";position:absolute;right:-10%;top:-30%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.07),transparent 60%);pointer-events:none}
.dark .kick{color:rgba(255,255,255,.6)}
.dark .sdesc{color:rgba(255,255,255,.72)}
.dgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}.dgrid>div{min-width:0}
.giant{font-size:180px;font-weight:600;letter-spacing:-.05em;line-height:.9;display:flex;align-items:baseline;gap:14px}
.giant em{font-style:normal;font-size:38px;letter-spacing:-.01em;color:rgba(255,255,255,.7)}
.dstats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;border-top:1px solid rgba(255,255,255,.16);padding-top:26px}
.dstats b{display:block;font-size:27px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.dstats span{font-size:13px;color:rgba(255,255,255,.62);display:block;margin-top:6px;line-height:1.45}
.dcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px}
.dc{background:#fff;color:var(--ink);border-radius:18px;padding:18px 18px 20px;transition:transform .5s var(--ease)}
.dc:hover{transform:translateY(-6px)}
.dc img{width:100%;height:170px;object-fit:contain}
.dc b{display:block;font-size:19px;font-weight:600;margin-top:10px}
.dc span{display:block;font-size:13px;color:var(--mut);margin-top:3px}
.dc .pr{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-weight:600;font-size:16px}
.dc .pr i{font-style:normal;color:var(--brand)}

/* ── бренды ── */
.bfeat{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:stretch;margin-bottom:22px}
.bfeat .ph{position:relative;border-radius:22px;overflow:hidden;background:#e9eae7;min-height:430px}
.bfeat .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bfeat .ph{background:linear-gradient(178deg,#fafaf9,#e9eae7)}
.bfeat .ph img.contain{object-fit:contain;padding:0;mix-blend-mode:multiply;background:transparent;max-width:min(74%,560px);max-height:420px;left:50%;top:50%;right:auto;bottom:auto;width:auto;height:auto;transform:translate(-50%,-50%)}
.bfeat .ph .tag{position:absolute;left:20px;top:20px;z-index:2}
.bfeat .tx{padding:30px 10px 10px;display:flex;flex-direction:column}
.bfeat .tx .kick{margin-bottom:14px}
.bfeat h3{font-size:44px}
.bfeat .rng{font-size:15.5px;color:var(--ink2);margin-top:8px}
.bfeat p{font-size:16px;color:var(--ink2);margin-top:20px;max-width:46ch;line-height:1.6}
.uses{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.uses span{border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink2);background:#fff}
.bfeat .act{margin-top:auto;padding-top:28px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.bfeat .act .cnt{font-size:14px;color:var(--mut)}
.brow{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.bc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 16px 16px;cursor:pointer;transition:.3s var(--ease);text-align:left;position:relative;overflow:hidden}
.bc::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.bc:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(20,24,28,.10)}
.bc.on{background:#fff;border-color:var(--ink)}.bc.on::before{transform:scaleX(1)}
.bc .lg{height:36px;display:flex;align-items:center;margin-bottom:14px}
.bc .lg img{max-height:34px;max-width:100%;object-fit:contain}
.bc .lg b{font-size:18px;font-weight:700;letter-spacing:.03em}
.bc .lg b em{font-style:normal;color:var(--acc)}
.bc .nm{display:block;font-size:14px;font-weight:600;margin-bottom:3px}
.bc small{display:block;font-size:12.5px;color:var(--mut);line-height:1.4}

/* ── галерея монтажей ── */
.gal{overflow:hidden;padding:0}
.gal .wrap{padding-top:120px;padding-bottom:40px}
.grows{transform:rotate(-2.5deg) scale(1.06);transform-origin:center;padding:30px 0}
.grow{display:flex;gap:16px;width:max-content;padding:8px 0;will-change:transform}
.grow+.grow{margin-top:16px}
.gi{position:relative;width:420px;aspect-ratio:4/3;border-radius:16px;overflow:hidden;flex:none;background:#ddd}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gi:hover img{transform:scale(1.06)}
.gi span{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);border-radius:10px;padding:8px 12px;font-size:12.5px;font-weight:600;color:var(--ink);transform:translateY(8px);opacity:0;transition:.35s var(--ease)}
.gi:hover span{transform:none;opacity:1}
.gal .stats{display:flex;gap:50px;flex-wrap:wrap}
.gal .stats b{display:block;font-size:48px;font-weight:600;letter-spacing:-.03em;color:var(--brand);line-height:1}
.gal .stats span{display:block;font-size:13px;color:var(--ink2);margin-top:8px;max-width:18ch;line-height:1.45}
.gal .wrap.bot{padding:36px 44px 120px;display:flex;justify-content:flex-end}

/* ── этапы ── */
.tl{position:relative;margin-top:60px}
.tl .line{position:absolute;left:0;right:0;top:22px;height:2px;background:var(--line)}
.tl .line i{position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left}
.tl ol{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.tl li{padding-top:48px;position:relative}
.tl li::before{content:"";position:absolute;left:0;top:14px;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--ink);z-index:1;transition:background .4s,transform .4s var(--ease)}
.tl li.on::before{background:var(--ink);transform:scale(1.15)}
.tl li .n{font-size:12.5px;color:var(--mut);font-weight:600;letter-spacing:.06em}
.tl li b{display:block;font-size:19px;font-weight:600;margin-top:6px;line-height:1.3;min-height:2.6em}
.tl li p{font-size:13.5px;color:var(--ink2);margin-top:10px;line-height:1.55}

/* ── статьи + faq ── */
.two{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.arts{display:flex;flex-direction:column;gap:14px}
.ac{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;transition:.35s var(--ease)}
.ac>div{align-self:center;min-width:0}
.ac:hover{transform:translateX(6px);box-shadow:0 14px 30px rgba(20,24,28,.08)}
.ac img{width:150px;height:100%;min-height:104px;object-fit:cover;border-radius:10px}
.ac small{font-size:12px;color:var(--mut);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.ac b{display:block;font-size:17px;font-weight:600;margin-top:6px;line-height:1.35}
.ac i{font-style:normal;display:inline-flex;gap:6px;margin-top:8px;font-size:13.5px;font-weight:600;color:var(--brand)}
.faq{display:flex;flex-direction:column}
.q{border-top:1px solid var(--line)}
.q:last-child{border-bottom:1px solid var(--line)}
.q button{width:100%;text-align:left;background:none;border:0;padding:22px 0;font-size:19px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center}
.q button i{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:18px;flex:none;transition:transform .4s var(--ease),background .3s}
.q.open button i{transform:rotate(45deg);background:var(--ink);color:#fff;border-color:var(--ink)}
.q .a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.q .a p{padding:0 60px 24px 0;font-size:15.5px;color:var(--ink2);line-height:1.6}

/* ── заявка ── */
.lead{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lf{background:var(--soft);border-radius:22px;padding:48px 44px;display:flex;flex-direction:column}
.lf h3{font-size:40px;max-width:13ch}
.lf p{font-size:15.5px;color:var(--ink2);margin-top:16px;max-width:44ch;line-height:1.6}
.lf form{margin-top:28px;padding-top:0}
.lf .callrow{margin-top:auto;padding-top:30px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--ink2)}
.lf .callrow a{font-family:'Unbounded','Manrope',sans-serif;font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--brand)}
.lf label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.lf .row{display:flex;gap:12px;flex-wrap:wrap}
.lf input[type=text],.lf input[type=tel]{flex:1 1 200px;height:54px;border:1px solid var(--line);border-radius:14px;padding:0 18px;font:inherit;font-size:15px;background:#fff;outline:none;transition:border .25s,box-shadow .25s}
.lf input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(31,58,77,.08)}
.lf .chk{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink2);margin-top:12px}
.lf .chk input{margin-top:2px;width:20px;height:20px;flex:none;accent-color:var(--brand)}
.lf .pill{margin-top:22px}
.lf .ok{display:none;margin-top:22px;font-weight:600;color:var(--ok)}
.lf.sent form>*:not(.ok){display:none}.lf.sent .ok{display:block}
.lm{position:relative;border-radius:22px;overflow:hidden;min-height:460px;display:flex;align-items:flex-end;background:#222}
.lm>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lm::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,18,.3),rgba(10,14,18,.25) 40%,rgba(10,14,18,.84))}
.lm .in{position:relative;z-index:3;padding:40px;color:#fff}
.lm h3{font-size:40px;max-width:13ch}
.lm p{font-size:15.5px;color:rgba(255,255,255,.82);margin-top:12px}
.lm .btns{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}

/* ── подвал ── */
footer{background:var(--brand);color:#fff;padding:80px 0 30px;overflow:hidden;position:relative}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.2fr;gap:36px;position:relative;z-index:2}
footer h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.9);margin-bottom:16px}
footer ul{list-style:none}
footer li{margin-bottom:9px;font-size:14px;color:rgba(255,255,255,.72)}
footer li a:hover{color:#fff}
footer .flogo{color:#fff;margin-bottom:18px}
footer .fabout{font-size:14px;color:rgba(255,255,255,.72);max-width:32ch;line-height:1.6}
footer .ctel{font-size:22px;font-weight:600;display:block;margin-bottom:6px}
footer .cmail{display:block;font-size:15px;color:rgba(255,255,255,.85);margin-bottom:18px}
footer address{font-style:normal;font-size:14px;color:rgba(255,255,255,.72);line-height:1.6}
footer address b{display:block;color:#fff;font-weight:600}
footer address+address{margin-top:12px}
.fbig{font-size:15vw;font-weight:500;letter-spacing:-.02em;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);margin-top:60px;white-space:nowrap;user-select:none;position:relative;z-index:1}
.fbot{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding:22px 84px 0 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.6);position:relative;z-index:2}
.fbot .rico a{background:rgba(255,255,255,.14);color:#fff}
.cur{position:fixed;left:0;top:0;z-index:70;width:12px;height:12px;border-radius:50%;background:var(--acc);pointer-events:none;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),background .3s;display:none;place-items:center;overflow:hidden}
.cur span{font-size:12px;font-weight:600;color:#fff;opacity:0;transition:opacity .2s;white-space:nowrap}
.cur.big{width:78px;height:78px;background:rgba(27,31,36,.9)}
.cur.big span{opacity:1}

.totop{position:fixed;right:24px;bottom:24px;box-shadow:0 8px 24px rgba(20,24,28,.28);z-index:35;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;border:0;cursor:pointer;opacity:0;transform:translateY(12px);transition:.35s var(--ease);font-size:16px}
.totop.on{opacity:1;transform:none}

/* ── reveal helpers ── */
.rv{opacity:0;transform:translateY(30px)}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.split .w span{display:inline-block;transform:translateY(110%)}
.clip{clip-path:inset(0 0 100% 0);}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.split .w span,.hero h1 .w span{transform:none}.clip{clip-path:none}.hero .fade{opacity:1;transform:none}}

@media(max-width:1280px){.brow{grid-template-columns:repeat(4,1fr)}.bento{grid-template-columns:repeat(2,1fr)}.tl ol{grid-template-columns:repeat(3,1fr)}.fgrid{grid-template-columns:1fr 1fr 1fr}.hero h1{font-size:64px}.giant{font-size:140px}}
@media(max-width:1080px){.hero>.wrap{grid-template-columns:1fr}.calc{margin-left:0;max-width:520px;margin-bottom:0}.marq .wrap{padding-right:44px}.hero .foot{max-width:100%}.hero h1{font-size:52px}.story{grid-template-columns:1fr}.story .left{position:relative;top:0;height:380px;min-height:0;margin-bottom:10px}
 .step{min-height:0;padding:34px 0;opacity:1}.two,.dgrid,.bfeat,.lead{grid-template-columns:1fr}.bfeat .ph{min-height:340px}.bfeat .tx{padding:8px 0 0}
 .top nav{display:none}.burger{display:grid}h2{font-size:38px}.mc{flex-basis:380px}.giant{font-size:110px}}
@media(max-width:760px){.top .tel,.top .rico{display:none}.wrap{padding:0 20px}section{padding:70px 0}
 .hero{min-height:0;height:auto;padding-top:0}.hero .slides{inset:0 0 auto 0;height:60vh;min-height:360px;overflow:hidden}.hero::after{inset:0 0 auto 0;height:60vh;min-height:360px;background:linear-gradient(180deg,rgba(10,14,18,.62) 0%,rgba(10,14,18,.10) 26%,rgba(10,14,18,.42) 56%,rgba(10,14,18,.93) 76%,#0e1418 90%)}.slides img,.slides img:nth-child(1){object-position:63% center}.slides img:nth-child(2){object-position:50% center}.slides img:nth-child(3){object-position:40% center}.hero>.wrap{padding-top:calc(60vh - 172px);padding-bottom:70px;gap:26px}.hero h1{font-size:40px}.hero p{font-size:16px}
 .hero .foot{padding:0 20px 14px;max-width:100%}.hero .scr{display:none}.calc{padding:16px;margin-bottom:0}.calc .note{display:none}.marq .wrap{padding-right:20px}.grows{transform:none;padding:10px 0}.idx{left:20px;top:22px}.calc .res b{font-size:20px}
 .marq .lbl{display:none}.track{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20px,#000 calc(100% - 44px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 20px,#000 calc(100% - 44px),transparent 100%)}.car{padding:12px 20px 52px;margin:0 -20px -26px}.mc{flex-basis:290px}.mc h3{font-size:22px}.mc .price{font-size:21px}.mc>img{padding:50px 12px 8px}.mc .chip.dk{display:none}.mc .chips{top:14px;left:14px;right:14px}.mc .in{padding:16px 18px 20px}
 .bento{grid-template-columns:1fr;grid-auto-rows:auto}.bt{min-height:200px}.bt.ph::after{background:linear-gradient(180deg,rgba(10,14,18,.22) 0%,rgba(10,14,18,.5) 42%,rgba(10,14,18,.9) 100%)}.c2,.r2{grid-column:auto;grid-row:auto}.bt.big h3{font-size:28px}.bt p{max-height:200px}
 .giant{font-size:58px;flex-wrap:wrap;gap:8px}.giant em{font-size:24px}.dgrid>div{min-width:0}.dstats,.dcards{grid-template-columns:1fr}.dstats{gap:16px}.dark::before{display:none}.brow{grid-template-columns:1fr 1fr}.bfeat h3{font-size:30px}
 .gi{width:260px}.gal .wrap{padding-top:70px}.gal .wrap.bot{padding:26px 20px 70px}.tl ol{grid-template-columns:1fr;gap:10px}.tl .line{display:none}.tl li{padding-top:0;padding-left:34px}.tl li::before{top:2px}.tl li b{min-height:0}
 .ac{grid-template-columns:110px 1fr}.ac img{width:110px}.lf{padding:30px 22px}.lf h3,.lm h3{font-size:28px}.fgrid{grid-template-columns:1fr}.fbig{font-size:22vw}.step h3{font-size:30px}.story .left .num{font-size:64px}.step .kv{grid-template-columns:1fr 1fr}}

/* ══════════════ ВНУТРЕННИЕ СТРАНИЦЫ ══════════════ */
body.inner{padding-top:0}
.inner .top{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line)}
.inner .top .wrap{color:var(--ink);height:72px}
.inner .top .rico a{background:var(--soft);color:var(--ink2)}
.inner .top .pill.white{background:var(--brand);color:#fff}
.inner .top .burger{background:var(--soft);color:var(--ink)}
.inner .top .prog{opacity:1}
.top nav a.on{opacity:1}
.top nav a.on::after{transform:scaleX(1)}

/* мега-меню каталога */
.mm{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 30px 60px rgba(20,24,28,.16);border-top:1px solid var(--line);
 opacity:0;visibility:hidden;transform:translateY(-8px);transition:.32s var(--ease);z-index:41}
.mm.open{opacity:1;visibility:visible;transform:none}
.mm .wrap{padding-top:34px;padding-bottom:34px}
/* .top .wrap (flex, height:72px) цеплял и контейнер мега-меню: колонки вылезали за белую подложку поверх страницы */
.top .mm .wrap,.top.solid .mm .wrap{display:block;height:auto;color:var(--ink)}
.mm-grid{display:grid;grid-template-columns:repeat(4,1fr) .9fr;gap:30px}
.mm-col h5{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);font-weight:700;margin-bottom:14px}
.mm-col a{display:block;font-size:14.5px;color:var(--ink2);padding:6px 0;transition:.2s;position:relative}
.mm-col a:hover{color:var(--ink);transform:translateX(4px)}
.mm-card{position:relative;border-radius:16px;overflow:hidden;min-height:210px;display:flex;align-items:flex-end;background:#222}
.mm-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mm-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,18,.12),rgba(10,14,18,.86))}
.mm-card .in{position:relative;z-index:2;padding:20px;color:#fff}
.mm-card b{font-size:18px;font-weight:600;display:block;line-height:1.25}
.mm-card span{display:block;font-size:13px;color:rgba(255,255,255,.78);margin:8px 0 14px;line-height:1.45}

/* хлебные крошки */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;margin-bottom:26px}
.crumbs a{color:rgba(255,255,255,.66);transition:.2s}
.crumbs a:hover{color:#fff}
.crumbs i{font-style:normal;color:rgba(255,255,255,.34)}
.crumbs span{color:rgba(255,255,255,.94)}
.light .crumbs a{color:var(--mut)}.light .crumbs a:hover{color:var(--ink)}
.light .crumbs i{color:var(--dim)}.light .crumbs span{color:var(--ink)}

/* внутренний герой */
.phero{position:relative;background:var(--brand2);color:#fff;overflow:hidden;padding:132px 0 62px}
.phero.withimg{padding:152px 0 74px}
.phero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,20,26,.86) 0%,rgba(12,20,26,.55) 42%,rgba(12,20,26,.9) 100%),
 linear-gradient(96deg,rgba(12,20,26,.8),rgba(12,20,26,.2) 72%)}
.phero .wrap{position:relative;z-index:3}
.phero .hk{color:rgba(255,255,255,.7);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:flex;gap:12px;align-items:center;margin-bottom:18px}
.phero .hk i{width:8px;height:8px;border-radius:50%;background:var(--acc);display:block;box-shadow:0 0 0 4px rgba(198,43,34,.28)}
.phero h1{font-family:'Unbounded','Manrope',sans-serif;font-weight:500;font-size:58px;line-height:1.04;letter-spacing:-.03em;max-width:19ch}
.phero .ph-lead{font-size:17.5px;color:rgba(255,255,255,.84);margin-top:20px;max-width:62ch;line-height:1.6}
.phstats{display:flex;gap:46px;flex-wrap:wrap;margin-top:38px;border-top:1px solid rgba(255,255,255,.18);padding-top:24px}
.phstats b{display:block;font-family:'Unbounded','Manrope',sans-serif;font-weight:500;font-size:34px;letter-spacing:-.03em;line-height:1}
.phstats span{display:block;font-size:13px;color:rgba(255,255,255,.66);margin-top:8px;max-width:22ch;line-height:1.45}
.phero .ph-act{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.phero.light{background:var(--bg);color:var(--ink);padding:120px 0 40px}
.phero.light::after{display:none}
.phero.light h1{color:var(--ink)}
.phero.light .ph-lead{color:var(--ink2)}
.phero.light .hk{color:var(--mut)}
.phero.light .phstats{border-color:var(--line)}
.phero.light .phstats span{color:var(--mut)}
.phero.light .phstats b{color:var(--brand)}

/* ── каталог ── */
.cat-wrap{display:grid;grid-template-columns:296px 1fr;gap:46px;align-items:start}
.filters{position:sticky;top:96px}
.fgroup{border-top:1px solid var(--line);padding:20px 0}
.fgroup:first-child{border-top:0;padding-top:0}
.fgroup .fh{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);font-weight:700;margin-bottom:14px}
.fchecks{display:flex;flex-direction:column;gap:2px}
.fchecks label{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--ink2);cursor:pointer;padding:7px 0;transition:.2s}
.fchecks label:hover{color:var(--ink)}
.fchecks input{width:21px;height:21px;accent-color:var(--brand);cursor:pointer;flex:none}
.fchecks label em{font-style:normal;margin-left:auto;font-size:12.5px;color:var(--dim)}.fchecks label.zero{opacity:.4;cursor:default}.fchecks label.zero:hover{color:var(--ink2)}.fchecks input:disabled{cursor:default}
.frange{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink2)}
.frange input[type=range]{width:100%;accent-color:var(--brand)}
.fval{font-weight:600;color:var(--ink)}
.fclear{margin-top:8px;font-size:13.5px;color:var(--acc);background:none;border:0;cursor:pointer;padding:0;font-weight:600}
.cat-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.cat-count{font-size:14.5px;color:var(--mut)}
.cat-count b{color:var(--ink);font-weight:600}
.sortbar{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:99px;padding:4px;gap:2px}
.sortbar button{border:0;background:transparent;font-size:13.5px;font-weight:600;color:var(--mut);padding:9px 16px;border-radius:99px;cursor:pointer;transition:.25s}
.sortbar button.on{background:var(--soft);color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid .mc{flex:none}
.mobfilters{display:none}
.empty{padding:60px 0;text-align:center;color:var(--mut);font-size:16px}
.morebtn{display:flex;justify-content:center;margin-top:34px}

/* чипы выбранных фильтров */
.fchips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.fchips span{display:inline-flex;align-items:center;gap:8px;background:var(--soft);border-radius:99px;padding:8px 12px 8px 14px;font-size:13px;font-weight:600;color:var(--ink2)}
.fchips span b{cursor:pointer;font-weight:700;color:var(--acc)}

/* ── карточка товара ── */
.prod{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.pgal{position:sticky;top:96px}
.pgal .big{position:relative;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);aspect-ratio:4/3.4;display:grid;place-items:center}
.pgal .big img{width:100%;height:100%;object-fit:contain;padding:6%}
.pgal .big img.cover{object-fit:cover;padding:0}
.pgal .chips{position:absolute;left:18px;top:18px;display:flex;gap:7px;flex-wrap:wrap;z-index:2}
.pthumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pthumbs button{width:88px;height:70px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff;cursor:pointer;padding:0;transition:.25s}
.pthumbs button.on{border-color:var(--ink)}
.pthumbs img{width:100%;height:100%;object-fit:cover}
.pinfo .brandline{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:12px}
.pinfo .brandline a{color:var(--brand)}
.pinfo h1{font-family:'Unbounded','Manrope',sans-serif;font-weight:500;font-size:44px;letter-spacing:-.03em;line-height:1.05;margin-top:12px}
.keyspec{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.keyspec div{border-top:2px solid var(--ink);padding-top:10px}
.keyspec b{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em;font-family:'Unbounded','Manrope',sans-serif}
.keyspec span{font-size:12.5px;color:var(--mut);display:block;margin-top:4px}
.pricebox{margin-top:32px;background:var(--soft);border-radius:20px;padding:26px}
.pricebox .now{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.pricebox .now b{font-family:'Unbounded','Manrope',sans-serif;font-weight:500;font-size:38px;letter-spacing:-.03em;color:var(--brand)}
.pricebox .now small{font-size:13px;color:var(--mut)}
.popts{margin-top:18px;display:flex;flex-direction:column;gap:2px}
.popts label{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--ink2);cursor:pointer;padding:9px 0;border-top:1px solid var(--line)}
.popts label b{margin-left:auto;color:var(--ink);font-weight:600}
.popts input{width:17px;height:17px;accent-color:var(--brand)}
.pbtns{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.pnote{font-size:12.5px;color:var(--mut);margin-top:16px;line-height:1.5}
.ptrust{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.ptrust div{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--ink2);line-height:1.45}
.ptrust i{font-style:normal;width:30px;height:30px;border-radius:50%;background:var(--soft);display:grid;place-items:center;flex:none;color:var(--brand)}
.spec-table{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.spec-table div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line);font-size:15px}
.spec-table dt{color:var(--ink2)}
.spec-table dd{font-weight:600;text-align:right}
.longread{max-width:74ch}
.longread p{font-size:17px;line-height:1.72;color:var(--ink2);margin-top:20px}
.longread p:first-child{margin-top:0;font-size:19px;color:var(--ink)}
.longread h3{font-size:26px;margin-top:40px}
.longread ul{margin-top:18px;padding-left:20px;color:var(--ink2);font-size:16.5px;line-height:1.7}
.longread li{margin-top:8px}

/* ── услуги ── */
.slist{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.scard{position:relative;border:1px solid var(--line);border-radius:20px;padding:28px 26px 26px;background:#fff;display:flex;flex-direction:column;min-height:250px;transition:.4s var(--ease);overflow:hidden}
.scard::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.scard:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(20,24,28,.12)}
.scard:hover::before{transform:scaleX(1)}
.scard .n{font-family:'Unbounded','Manrope',sans-serif;font-size:15px;color:var(--dim);font-weight:500}
.scard h3{font-size:23px;margin-top:16px;max-width:16ch}
.scard p{font-size:14.5px;color:var(--ink2);margin-top:12px;line-height:1.55}
.scard .lnk{margin-top:auto;padding-top:20px;display:inline-flex;gap:9px;align-items:center;font-size:14px;font-weight:600;color:var(--brand)}
.scard .lnk i{font-style:normal;transition:transform .3s}
.scard:hover .lnk i{transform:translateX(4px)}
.steps2{display:grid;grid-template-columns:repeat(2,1fr);gap:0 60px}
.st2{border-top:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:64px 1fr;gap:20px}
.st2 b{font-family:'Unbounded','Manrope',sans-serif;font-weight:500;font-size:19px;color:var(--acc)}
.st2 h4{font-size:19px;font-weight:600}
.st2 p{font-size:14.5px;color:var(--ink2);margin-top:8px;line-height:1.6}

/* ── портфолио ── */
.pf{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.pfi{position:relative;border-radius:20px;overflow:hidden;background:#eceded;aspect-ratio:16/11;display:flex;align-items:flex-end;color:#fff}
.pfi.wide{grid-column:span 2;aspect-ratio:16/7}
.pfi>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.pfi:hover>img{transform:scale(1.05)}
.pfi::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,18,.05) 30%,rgba(10,14,18,.82))}
.pfi .in{position:relative;z-index:3;padding:28px}
.pfi small{font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.pfi h3{font-size:25px;margin-top:8px;max-width:22ch}
.pfi .meta{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.pfi .meta span{background:rgba(255,255,255,.16);backdrop-filter:blur(6px);border-radius:99px;padding:7px 13px;font-size:12.5px;font-weight:600}

/* ── статьи ── */
.alist{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ai{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:.4s var(--ease)}
.ai:hover{transform:translateY(-6px);box-shadow:0 24px 46px rgba(20,24,28,.11)}
.ai .ph{aspect-ratio:16/10;overflow:hidden;background:#eee}
.ai .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ai:hover .ph img{transform:scale(1.06)}
.ai .in{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.ai small{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--acc)}
.ai h3{font-size:20px;margin-top:10px;line-height:1.32}
.ai p{font-size:14px;color:var(--ink2);margin-top:10px;line-height:1.55}
.ai .lnk{margin-top:auto;padding-top:18px;font-size:14px;font-weight:600;color:var(--brand);display:inline-flex;gap:8px;align-items:center}
.art{display:grid;grid-template-columns:1fr 300px;gap:60px;align-items:start}
.toc{position:sticky;top:96px;border-left:2px solid var(--line);padding-left:20px}
.toc h4{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin-bottom:14px;font-weight:700}
.toc a{display:block;font-size:14px;color:var(--ink2);padding:7px 0;line-height:1.4;transition:.2s}
.toc a:hover{color:var(--acc)}

/* ── таблица цен ── */
.ptable{width:100%;border-collapse:collapse;font-size:15px}
.ptable th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);font-weight:700;padding:0 16px 14px 0;border-bottom:1px solid var(--line);white-space:nowrap}
.ptable td{padding:16px 16px 16px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.ptable tr:hover td{background:rgba(31,58,77,.03)}
.ptable .nm{font-weight:600;font-size:16px}
.ptable .nm small .pwm{display:none;font-weight:700;color:var(--ink2)}
.ptable .nm small{display:block;font-size:12.5px;color:var(--mut);font-weight:500;margin-top:3px}
.ptable .pr{font-family:'Unbounded','Manrope',sans-serif;font-weight:500;letter-spacing:-.02em;white-space:nowrap}
.ptable .go{width:38px;height:38px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--brand);transition:.25s}
.ptable tr:hover .go{background:var(--brand);color:#fff}
.tablewrap{overflow-x:auto;margin:0 -4px;padding:0 4px}

/* ── контакты ── */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ccard{border:1px solid var(--line);border-radius:20px;padding:32px;background:#fff}
.ccard h3{font-size:24px}
.ccard address{font-style:normal;font-size:15.5px;color:var(--ink2);line-height:1.65;margin-top:14px}
.ccard .row2{display:flex;gap:26px;flex-wrap:wrap;margin-top:20px;font-size:15px}
.ccard .row2 b{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin-bottom:4px}
.cmap{border-radius:20px;overflow:hidden;border:1px solid var(--line);min-height:380px;background:var(--soft)}
.cmap iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
.reqs{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;margin-top:10px}
.reqs div{border-top:1px solid var(--line);padding:14px 0;font-size:14.5px}
.reqs b{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin-bottom:5px;font-weight:700}

/* прочее */
.sec-narrow{max-width:var(--max)}
.sec-narrow .longread{max-width:min(74ch,900px)}
.tagrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.tagrow a{border:1px solid var(--line);background:#fff;border-radius:99px;padding:10px 17px;font-size:13.5px;font-weight:600;color:var(--ink2);transition:.25s}
.tagrow a:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-2px)}
.tagrow a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.rel{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rel .mc{flex:none}

@media(max-width:1280px){.cat-wrap{grid-template-columns:250px 1fr}.grid{grid-template-columns:repeat(2,1fr)}
 .phero h1{font-size:48px}.slist{grid-template-columns:repeat(2,1fr)}.alist{grid-template-columns:repeat(2,1fr)}
 .rel{grid-template-columns:repeat(2,1fr)}.mm-grid{grid-template-columns:repeat(4,1fr)}.mm-card{display:none}}
@media(max-width:1080px){.prod{grid-template-columns:1fr;gap:32px}.pgal{position:static}.art{grid-template-columns:1fr}
 .toc{display:none}.cat-wrap{grid-template-columns:1fr}.filters{position:static;display:none;margin-bottom:24px}
 .filters.open{display:block}.mobfilters{display:inline-flex}.keyspec{grid-template-columns:repeat(2,1fr)}
 .spec-table{grid-template-columns:1fr}.steps2{grid-template-columns:1fr}.cgrid{grid-template-columns:1fr}
 .pf{grid-template-columns:1fr}.pfi.wide{grid-column:auto}.reqs{grid-template-columns:1fr 1fr}.mm{display:none}}
@media(max-width:760px){.phero{padding:104px 0 44px}.phero.withimg{padding:112px 0 52px}.phero h1{font-size:33px}
 .phero .ph-lead{font-size:16px}.phstats{gap:26px}.phstats b{font-size:26px}
 .grid{grid-template-columns:1fr}.slist{grid-template-columns:1fr}.alist{grid-template-columns:1fr}
 .rel{grid-template-columns:1fr}.pinfo h1{font-size:30px}.pricebox .now b{font-size:30px}
 .ptrust{grid-template-columns:1fr}.reqs{grid-template-columns:1fr}.ccard{padding:24px}
 .keyspec b{font-size:19px}.pfi .in{padding:20px}.pfi h3{font-size:20px}}

/* акцентные карточки услуг */
.scard.photo{border:0;color:#fff;justify-content:flex-end;min-height:300px}
.scard.photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.scard.photo:hover>img{transform:scale(1.06)}
.scard.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,18,.10) 30%,rgba(10,14,18,.88))}
.scard.photo .n{position:absolute;top:26px;left:26px;color:rgba(255,255,255,.8)}
.scard.photo h3{margin-top:auto}
.scard.photo .lnk{margin-top:16px}
.scard.photo p{max-height:none}
.scard.photo>*:not(img){position:relative;z-index:2}
.scard.photo .n{color:rgba(255,255,255,.72)}
.scard.photo p{color:rgba(255,255,255,.84)}
.scard.photo .lnk{color:#fff}
.scard.dk{background:var(--brand);border-color:var(--brand);color:#fff}
.scard.dk .n{color:rgba(255,255,255,.6)}.scard.dk p{color:rgba(255,255,255,.82)}.scard.dk .lnk{color:#fff}
.scard.acc{background:var(--acc);border-color:var(--acc);color:#fff}
.scard.acc .n{color:rgba(255,255,255,.7)}.scard.acc p{color:rgba(255,255,255,.86)}.scard.acc .lnk{color:#fff}

@media(max-width:760px){
 h2,.phero h1{overflow-wrap:break-word;word-break:normal;hyphens:auto}
 h2{font-size:29px;line-height:1.12}
 .shead>div,.shead>p{min-width:0;max-width:100%}
 .split .w{max-width:100%}
 .longread p{font-size:16px}
 .spec-table div{font-size:14.5px}
 .mm{display:none}
}
.blogo{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:12px 20px;min-height:56px}
.blogo img{height:30px;width:auto;max-width:190px;object-fit:contain}

/* мобильные наезды */
@media(max-width:1080px){
 .calc{margin-bottom:0}
 .marq{padding:28px 0}
}
@media(max-width:760px){
 .hero .foot{display:none}
 .hero>.wrap{padding-bottom:28px}
 .fbot{padding-right:0}
 .totop{right:14px;bottom:14px;width:44px;height:44px;font-size:15px}          /* на телефоне перекрывала «+» в FAQ и иконки подвала */
 .q button i{margin-right:2px}
}

/* MAX — официальная иконка */
.mxi{border-radius:22%;display:block}
.rico a.mx{background:transparent;padding:0;width:32px;height:32px;overflow:hidden}
.rico a.mx:hover{background:transparent;transform:translateY(-1px)}
.rico a.mx .mxi{width:26px;height:26px}
.top.solid .rico a.mx,.inner .top .rico a.mx{background:transparent}
.fbot .rico a.mx{background:transparent}
.pill .mxi{margin-right:2px}

/* карты подгружаются по клику — страница контактов не тянет 2 МБ тайлов */
.cmap{position:relative}
.mapbtn{width:100%;min-height:380px;border:0;background:var(--soft) radial-gradient(rgba(27,31,36,.08) 1px,transparent 1px);background-size:26px 26px;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;font:inherit;color:var(--ink);border-radius:20px;transition:.25s}
.mapbtn:hover{background-color:#ececea}
.mapbtn b{font-size:19px;font-weight:600}
.mapbtn span{font-size:14px;color:var(--ink2)}
.mapbtn i{font-style:normal;margin-top:10px;background:#fff}

/* поле-ловушка для ботов и состояния формы */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}
.lf .err{display:none;margin-top:14px;font-size:14px;color:var(--acc);font-weight:600}
.lf.failed .err{display:block}
.lf .pill[disabled]{opacity:.65;pointer-events:none}
.lf .ok b{display:block;font-size:20px;margin-bottom:6px}

/* ══════════════ ПОП-АП ЗАЯВКИ ══════════════ */
.mdl{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px}
.mdl[hidden]{display:none}
.mdl-bg{position:absolute;inset:0;background:rgba(10,14,18,.62);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.mdl.on .mdl-bg{opacity:1}
.mdl .mdl-box{position:relative;background:#fff;border-radius:24px;padding:44px 44px 38px;width:100%;max-width:520px;
 box-shadow:0 40px 100px rgba(10,14,18,.4);opacity:0;transform:translateY(18px) scale(.98);transition:opacity .32s var(--ease),transform .32s var(--ease);max-height:calc(100vh - 48px);overflow-y:auto}
.mdl.on .mdl-box{opacity:1;transform:none}
.mdl-box h3{font-size:32px;line-height:1.1;max-width:16ch}
.mdl-box .mdl-sub{font-size:15px;color:var(--ink2);margin-top:14px;line-height:1.6}
.mdl-box input[type=text],.mdl-box input[type=tel]{background:#fff}
.mdl-x{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
 background:#fff;color:var(--ink2);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.25s}
.mdl-x:hover{background:var(--soft);color:var(--ink)}
.mdl-model{margin-top:18px;background:var(--soft);border-radius:14px;padding:12px 16px;font-size:14px;font-weight:600;color:var(--ink)}
.mdl-model[hidden]{display:none}
.mdl-model small{display:block;font-size:12px;font-weight:500;color:var(--mut);margin-bottom:2px}
.mdl-alt{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--ink2)}
.mdl-alt a{font-family:'Unbounded','Manrope',sans-serif;font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--brand)}
body.mdl-open{overflow:hidden}
@media(max-width:760px){.mdl{padding:14px}.mdl .mdl-box{padding:34px 22px 28px;border-radius:20px}.mdl-box h3{font-size:26px}}
/* четыре кнопки сортировки не влезают в 390 px — листаются внутри плашки, страница не едет вбок */
@media(max-width:760px){.cat-main,.cat-top>div{max-width:100%;min-width:0}.sortbar{max-width:100%;overflow-x:auto;scrollbar-width:none}.sortbar::-webkit-scrollbar{display:none}.sortbar button{white-space:nowrap;flex:0 0 auto;padding:9px 12px}}
/* окно MAX с номером */
.mxm .kick{display:flex;align-items:center;gap:8px}.mxm .kick .mxi{border-radius:5px}
.mx-phone{margin-top:22px;font-family:'Unbounded','Manrope',sans-serif;font-size:30px;font-weight:500;letter-spacing:-.02em;color:var(--brand);white-space:nowrap}
.mx-btns{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.mx-phone{font-size:24px}.mx-btns .pill{flex:1 1 auto;justify-content:center}}

/* ── 16.09: правки по QA ── */
:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
input:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:2px;box-shadow:none}
.chk{align-items:center}
.chk input{cursor:pointer}
/* полоса сортировки и прайс: видно, что есть прокрутка */
.sortbar{position:relative;max-width:100%;min-width:0;overflow-x:auto;scrollbar-width:none}
.sortbar::-webkit-scrollbar{display:none}
.scrollwrap{position:relative;min-width:0;max-width:100%}
.scrollwrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:38px;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0),#fff)}
.scrollwrap.end::after{opacity:0}
@media(max-width:760px){
  /* прайс: прячем второстепенные колонки, чтобы цена помещалась в экран */
  .ptable th:nth-child(3),.ptable td:nth-child(3),
  .ptable th:nth-child(4),.ptable td:nth-child(4),
  .ptable th:nth-child(5),.ptable td:nth-child(5){display:none}
  .ptable{font-size:13px;table-layout:auto;width:100%}
  .ptable td{padding:12px 6px 12px 0}
  .ptable th{padding:0 6px 12px 0}
  .ptable .nm{font-size:13.5px}
  .ptable .nm small{font-size:11.5px}
  .ptable .pr{font-size:14px}
  .ptable th:nth-child(7),.ptable td:nth-child(7){display:none}
  .ptable th:nth-child(2),.ptable td:nth-child(2){display:none}
  .ptable td.pr,.ptable th:nth-child(6){white-space:nowrap;text-align:right;padding-right:0}
  /* точки слайдера героя видны и нажимаются */
  .hero .foot{display:flex!important;justify-content:space-between;align-items:center;padding:0 20px 16px}
  .hero .foot .dots{gap:10px;padding:14px 0}
  .hero .foot .dots i{width:40px;height:5px;position:relative}
  .hero .foot .dots i::before{content:"";position:absolute;inset:-14px -6px}
  /* почта в контактах не уезжает за край */
  .phero .lf a[href^="mailto:"],.phero a[href^="mailto:"]{font-size:clamp(15px,4.4vw,22px);overflow-wrap:break-word}
  .phero{padding-right:20px}
  /* тап-зоны */
  .sortbar button{padding:11px 16px}
  .fchecks label{padding:9px 0}
}
.drawer{overflow-y:auto}
.drawer-more{margin-top:18px;font-size:15px;font-weight:600}
.drawer-more b{display:block;margin:16px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:700}
.drawer-more a{display:inline-block;padding:9px 0;margin-right:18px;border-bottom:0;font-size:15px;color:rgba(255,255,255,.92)}
@media(max-width:760px){ .ptable .nm small .pwm{display:inline} }

/* 16.09: заголовок «Электричество 24/7» — длинное слово не должно упираться в край на узких телефонах */
@media(max-width:430px){ .hero h1{font-size:clamp(30px,9.2vw,40px)} }
.ckb{position:fixed;left:16px;right:16px;bottom:16px;z-index:110;max-width:780px;margin:0 auto;background:#16303f;color:#fff;border-radius:18px;padding:18px 20px;display:flex;gap:14px 20px;align-items:center;flex-wrap:wrap;box-shadow:0 18px 50px rgba(10,20,28,.35);transform:translateY(24px);opacity:0;transition:transform .4s var(--ease),opacity .4s}.ckb.on{transform:none;opacity:1}.ckb p{flex:1 1 340px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.88);margin:0}.ckb p a{color:#fff;text-decoration:underline}.ckb .ckb-b{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ckb button{font-family:inherit;font-size:14px;font-weight:600;line-height:1;border-radius:999px;padding:13px 18px;cursor:pointer;border:1px solid #fff;background:#fff;color:#16303f;white-space:nowrap;flex:1 1 0}.ckb button:hover{background:#e9eef1}.ckb button:focus-visible{outline:2px solid #fff;outline-offset:3px}.chk-note{font-size:11.5px;line-height:1.45;opacity:.72;margin:6px 0 0 28px}.chk-note a{text-decoration:underline}@media(max-width:760px){.ckb{left:10px;right:10px;bottom:10px;padding:14px 14px 12px}.ckb p{font-size:12.5px}.ckb .ckb-b{width:100%}.ckb button{padding:12px 10px;font-size:13.5px}}
/* 23.09.2026: на ≤380px бургер уезжал за край (360px — обрезан, 320px — скрыт); «Подобрать» есть в меню и на странице */@media(max-width:380px){.top .right>.pill{display:none}}

/* 23.09.2026 вечер: кнопка звонка в шапке на телефоне (круглая, как бургер) */.callbtn{display:none;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;place-items:center;transition:background .25s,color .25s}.callbtn svg{display:block}.top.solid .callbtn{background:var(--soft);color:var(--ink)}@media(max-width:760px){.top .callbtn{display:grid}.inner .top .callbtn{background:var(--soft);color:var(--ink)}}@media(max-width:430px){.top>.wrap{gap:12px}.top .right{gap:8px}.top .right>.pill.sm{padding:11px 14px}}@media(max-width:400px){.top .right{gap:6px}.top .right>.pill.sm{padding:11px 12px;font-size:13px}}
/* 23.09.2026 вечер: информационный баннер cookie — одна кнопка */.ckb .ckb-b.one{grid-template-columns:auto}.ckb .ckb-b.one button{padding-left:28px;padding-right:28px}@media(max-width:760px){.ckb .ckb-b.one{grid-template-columns:1fr}}
