/* v3.9 · цены в плитках, ответственность, возражения, карточки проектов, шкала цены, мессенджер из расчёта, режим частного дома */
.chip{min-height:44px}
.chip__p{display:block;font:500 12.5px/1.2 var(--mono);color:var(--heat-d);margin-top:3px}
.hub__fromnote{margin:10px 0 0;font:500 13.5px/1.45 var(--mono);color:var(--ink-2)}
/* ответственность */
.guars.guars--r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin:0;padding:0;gap:1px;background:var(--line);border:var(--hair)}
.guars--r .guars__i{flex:none;border:0}
.guars--r .guars__i:first-child{background:#fff}
.guars--r .guars__i:nth-child(2){background:var(--heat-t)}
.resp__f{margin:14px 0 0;font:500 13.5px/1.5 var(--mono);color:var(--ink-2);max-width:60em}
@media (max-width:860px){.guars.guars--r{grid-template-columns:1fr}}
/* возражения */
.objx-w{margin:0 0 20px}
.objx{margin:8px 0 0;font-size:15.5px;line-height:1.5;padding-left:12px;border-left:3px solid var(--heat)}
.objx b{display:block;font-size:16px}
/* памятка 4 фото */
.phtip{margin:12px 0 0;font-size:15px;line-height:1.5;max-width:34em}
.phtip summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:600 14.5px var(--mono);color:var(--ink)}
.phtip ol{margin:4px 0 8px;padding-left:22px}
.phtip p{margin:0;color:var(--ink-2)}
/* шкала цены */
.ladder-w{margin:22px 0 0}
.ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:l;border-top:3px solid var(--heat)}
.ladder li{counter-increment:l;padding:12px 12px 12px 0;display:grid;gap:3px;align-content:start}
.ladder li::before{content:counter(l);font:600 13px var(--mono);color:var(--heat-d)}
.ladder b{font-size:16px}.ladder span{font-size:14.5px;color:var(--ink-2);line-height:1.4}
.ladder li:last-child b{color:var(--heat-d)}
.ladder__n{margin:6px 0 0;font:500 13.5px/1.5 var(--mono);color:var(--ink-2)}
@media (max-width:640px){.ladder{grid-template-columns:1fr;border-top:0;border-left:3px solid var(--heat);padding-left:12px}.ladder li{padding:8px 0}}
/* расчёт в мессенджер */
.calc__send{margin:16px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:15px;line-height:1.4}
.calc__send>span{flex:1 1 100%}
.calc__send .btn{min-height:44px}
.calc__send .lnk{min-height:44px;background:none;border:0;padding:0 4px;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.calc__fwd{margin:8px 0 0;font-size:14.5px;color:var(--ink-2)}
.calc__fwd .lnk{min-height:44px;background:none;border:0;padding:0;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
/* карточки проектов */
.case--v9{padding:0;display:flex;flex-direction:column;overflow:hidden}
.case--v9 .case__img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--tint,#EEF1F4)}
.case--v9 .case__b{padding:16px;display:grid;gap:10px;align-content:start;flex:1}
.case--v9 .case__tag{position:static;justify-self:start}
.case__dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:14.5px;line-height:1.35}
.case__dl dt{color:var(--mute)}.case__dl dd{margin:0;text-align:right}
.case__w{margin:0;padding-left:18px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.case__sch{display:block;width:100%;height:auto;max-height:170px;background:#fff;border:var(--hair)}
.case__q{margin:0;font-size:14.5px;font-style:italic;line-height:1.45}
.case__q cite{display:block;font-style:normal;color:var(--mute);margin-top:4px}
.case--v9 .case__go{justify-self:start;min-height:44px}
.cases{align-items:stretch}
/* режим частного дома */
.lp-msg{display:grid;gap:10px;margin:6px 0 0;padding:16px;border:1px solid var(--ink);background:#fff}
.lp-msg__a{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.lp-msg__a .btn{min-height:48px}
.lp-msg__n{margin:0;font-size:14px;color:var(--ink-2)}
.lp-msg__d summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:600 14.5px var(--mono)}
.lp-msg__d[open] .lp-form{margin-top:8px}
/* вспомогательное */
.who{display:flex;gap:18px;align-items:center}.who__i{flex:0 0 96px;width:96px;height:96px}.who .h3{margin:4px 0 6px}
.seven{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.seven li{counter-increment:s;display:grid;gap:3px;padding:12px 0 12px 34px;position:relative;border-bottom:var(--hair);line-height:1.45}
.seven li::before{content:counter(s);position:absolute;left:0;top:12px;font:600 14px var(--mono);color:var(--heat-d)}
.seven b{font-size:16px}.seven span{font-size:15px;color:var(--ink-2)}
@media (max-width:760px){.seven{grid-template-columns:1fr}.who{flex-direction:column;align-items:flex-start}}
.tst{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;font-size:15px;z-index:60;max-width:90vw;text-align:center}
/* форма «замер» на телефоне */
@media (max-width:640px){
 .cta35__x .qform{display:grid;grid-template-columns:1fr;gap:10px}
 .cta35__x .qform .btn{min-height:48px;width:100%}
 .cta35__x .inp{width:100%}
}
.cta35__ph{display:none;margin:8px 0}
@media (max-width:640px){.cta35__ph{display:block}.cta35__ph .lnk{display:inline-flex;align-items:center;min-height:44px}}
@media (prefers-reduced-motion:reduce){.tst{transition:none}}
@media (max-width:359px){.mbar a{font-size:12px;letter-spacing:-.02em;gap:6px}}
.hd .logo img{width:auto}
/* тач-цели ≥44 px на телефоне */
@media (max-width:640px){
 .chips .chip,.chip,.zf .chip,.lf__need .chip,.m-map__chips .chip,.hub__chips .chip,.wobj .chip{min-height:44px}
 .btn:not(.hd__cta),.seg button,.tog,.roles__c,.m-map__list button{min-height:44px}
 .btn:not(.hd__cta),.roles__c{display:inline-flex;align-items:center;justify-content:center}
 .logo{display:inline-flex;align-items:center;min-height:44px}
 a.lnk:only-child,.calc__more .lnk,.ptab__f .lnk,.rev__f .lnk,.lp-doc__a .lnk,.cta35__ph .lnk{display:inline-flex;align-items:center;min-height:44px}
 :not(p)>a.lnk{min-height:44px}
 .ft a{display:inline-flex;align-items:center;min-height:44px}
 .m-info summary,.phtip summary,.lp-msg__d summary,.other summary,.fold summary,.ft summary,summary{min-height:44px;box-sizing:border-box}
}
@media (max-width:860px){.lp-hero .seg__hero .lp-msg{order:6}.lp-hero .seg__hero .lp-sample{order:7}}
.phtip summary::before,.lp-msg__d summary::before{content:"+";display:inline-block;width:18px;font:600 16px var(--mono);color:var(--heat-d)}
.phtip[open] summary::before,.lp-msg__d[open] summary::before{content:"−"}
.lp-sample{margin:10px 0 0}

/* v3.10 */
.case{position:relative}
.case__lnk{color:inherit;text-decoration:none}
.case__lnk::after{content:'';position:absolute;inset:0}
.case__go,.case__more{position:relative;z-index:1}
.case__act{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.case--v9 .case__t{padding-right:0}
.case--v9 .case__more{min-height:44px}
.case__loc{margin:-4px 0 0;font:500 13.5px/1.4 var(--mono);color:var(--mute)}
.ph-ph{display:block;width:100%;height:auto;aspect-ratio:16/9}
.case--v9 .ph-ph{aspect-ratio:3/2}
.m-map__btns{display:flex;gap:8px;flex-wrap:wrap}
/* страница проекта */
.kj-crumbs .w{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;padding-top:0;padding-bottom:0;font:500 13.5px/1.2 var(--mono);color:var(--mute)}
.kj-crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2)}
.kj-hero{position:relative;display:grid;color:#fff;background:#0F1720;overflow:hidden;border-top:var(--hair)}
.kj-hero__pic{grid-area:1/1;position:relative;min-height:clamp(320px,56vw,620px)}
.kj-hero__img,.kj-hero__pic .ph-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:auto}
.kj-hero::after{content:'';grid-area:1/1;position:relative;z-index:1;pointer-events:none;background:linear-gradient(transparent 35%,rgba(10,14,20,.78))}
.kj-hero__in{grid-area:1/1;align-self:end;position:relative;z-index:2}
.kj-hero__in .w{border:0;padding-top:28px;padding-bottom:30px}
.kj-hero__e{color:#fff;margin:0 0 8px}
.kj-hero__h{color:#fff;max-width:20em;margin:0;font-size:clamp(28px,4.6vw,56px);line-height:1.08}
.kj-hero__l{color:rgba(255,255,255,.92);max-width:42em;margin:14px 0 0}
.kj-hero .seg__cta{margin-top:18px}
.kj-hero .btn--line{color:#fff;border-color:rgba(255,255,255,.75);background:rgba(15,23,32,.35)}
.kj-hero__n{margin:12px 0 0;color:rgba(255,255,255,.82)}
.kj-nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:var(--hair);background:#fff}
.kj-nums__i{padding:16px;border-right:var(--hair);display:grid;align-content:start;gap:4px;min-width:0}
.kj-nums__i:last-child{border-right:0}
.kj-nums small{font:500 13.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.kj-nums b{font:700 clamp(18px,1.9vw,24px)/1.2 var(--sans);overflow-wrap:anywhere}
.kj-nums__i:nth-child(3) b{color:var(--heat-d)}
.kj-nums span{font:500 13.5px/1.4 var(--mono);color:var(--ink-2)}
.kj-numsband .disc{margin-top:12px}
.kj-trr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap,24px)}
.kj-trr__c{border-top:2px solid var(--ink);padding-top:12px;min-width:0}
.kj-sch{margin:0;border-top:2px solid var(--ink);padding-top:12px;min-width:0}
.kj-sch figcaption{margin-top:8px;font-size:13.5px;color:var(--mute)}
.kj-gal{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:repeat(3,clamp(120px,14vw,190px));gap:12px}
.kj-gal__i{position:relative;overflow:hidden;padding:0;border:var(--hair);background:var(--tint-2);cursor:zoom-in;min-height:44px;display:block;margin:0;font:inherit;color:inherit}
.kj-gal__i:first-child{grid-row:1/4}
div.kj-gal__i{cursor:default}
.kj-gal__img,.kj-gal .ph-ph{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.kj-gal__c{position:absolute;left:8px;bottom:8px;background:rgba(15,23,32,.78);color:#fff;font:500 13.5px/1 var(--mono);padding:6px 8px}
.kj-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.kj-steps li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:start;padding:16px 0;border-bottom:var(--hair)}
.kj-steps__n{font:700 18px/1.3 var(--mono);color:var(--heat-d)}
.kj-steps h3{margin:0 0 4px}.kj-steps p{margin:0}
.kj-steps__t{text-align:right;font:500 13.5px/1.4 var(--mono);color:var(--ink-2);padding-top:3px}
.kj-rev .rev{max-width:760px}
.kj-contact{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}
.kj-contact .btn{min-height:44px}
.kj-bar{display:none}
.kj-lb{border:0;padding:0;max-width:100vw;max-height:100vh;width:100%;height:100%;background:rgba(10,14,20,.94);color:#fff}
.kj-lb[open]{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;animation:kjfade .2s}
.kj-lb figure{margin:0;display:grid;gap:8px;justify-items:center;min-width:0}
.kj-lb img{max-width:100%;max-height:82vh;object-fit:contain}
.kj-lb figcaption{font:500 13.5px var(--mono)}
.kj-lb button{min-height:48px;min-width:48px;background:none;color:#fff;border:0;cursor:pointer;font:inherit}
.kj-lb__p,.kj-lb__n{font-size:34px}
.kj-lb__x{position:fixed;top:12px;right:12px;border:1px solid rgba(255,255,255,.6)!important;padding:0 16px}
.kj-lb button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@keyframes kjfade{from{opacity:0}}
@media(max-width:1100px){.kj-trr{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .kj-gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:0 16px 8px;scrollbar-width:none}
 .kj-gal__i{flex:0 0 86%;aspect-ratio:3/2;scroll-snap-align:start}
}
@media(max-width:700px){
 .kj-hero__pic{min-height:min(78vh,520px)}
 .kj-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kj-nums__i{border-bottom:var(--hair)}.kj-nums__i:nth-child(2n){border-right:0}
 .kj-nums__i:last-child{grid-column:1/-1;border-bottom:0;border-right:0}
 .kj-trr{grid-template-columns:1fr}
 .kj-steps li{grid-template-columns:36px minmax(0,1fr)}.kj-steps__t{grid-column:2;text-align:left}
 .kj-lb[open]{grid-template-columns:minmax(0,1fr)}
 .kj-lb__p,.kj-lb__n{position:fixed;bottom:12px}.kj-lb__p{left:8px}.kj-lb__n{right:8px}
}
@media(min-width:701px){
 .kj-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:44;align-items:center;gap:12px;padding:10px 24px;background:rgba(255,255,255,.97);border-top:1px solid var(--ink);transform:translateY(100%);visibility:hidden;transition:transform .2s,visibility 0s .2s}
 .kj-bar.is-on{transform:none;visibility:visible;transition:transform .2s}
 .kj-bar__t{flex:1;font-weight:600;font-size:15px;min-width:0}
 .kj-bar .btn{min-height:44px}
 body.has-kjbar{padding-bottom:64px}
}
/* лента отзывов на мобильном */
.rev-dots{display:none}
@media(max-width:700px){
 .rev{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .rev::-webkit-scrollbar{display:none}
 .rev__i{flex:0 0 86%;scroll-snap-align:start}
 .kj-rev .rev__i{flex-basis:100%}
 .rev-dots{display:flex;justify-content:center}
 .rev-dots button{width:44px;height:44px;border:0;background:none;padding:0;position:relative;cursor:pointer}
 .rev-dots button::before{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--line-2,#B8BFC9)}
 .rev-dots button.is-on::before{background:var(--heat)}
}
@media print{
 .hd,.mbar,.kj-bar,.ft,.kj-lb,#zayavka,.kj-hero__n,.kj-crumbs{display:none!important}
 .kj-hero__pic{min-height:200px!important;height:200px}
 body.has-kjbar{padding-bottom:0}
}
@media (prefers-reduced-motion:reduce){.kj-hero img{transform:none!important}.kj-bar,.kj-bar.is-on{transition:none}.rev{scroll-behavior:auto}.kj-lb{animation:none}}
/* v3.11: тач-цели ≥44 px на телефоне (инлайн-ссылки внутри абзацев не трогаем) */
@media (max-width:700px){
 .ktiles__more a,.faq__cta a,.qform__note a,.lf__foot a,.crumbs a,.case__lnk{display:inline-flex;align-items:center;min-height:44px}
 .ktiles__more a{min-height:46px}
 .faq__cta a{min-width:44px;justify-content:center}
 input.rng{min-height:44px}
 .hd__r a.tel,.hd__r a.ico{min-width:44px;min-height:44px}
}

/* v3.11b: кликабельная галерея, плитки «что болит», «смотрите также», список всех проектов */
.mslots a.mslot{display:block;color:inherit;text-decoration:none;position:relative;cursor:pointer}
.mslots a.mslot .ph__img img{transition:transform .35s ease}
.mslots a.mslot:hover .ph__img img,.mslots a.mslot:focus-visible .ph__img img{transform:scale(1.04)}
.mslots a.mslot:focus-visible{outline:3px solid var(--heat,#E8541F);outline-offset:3px}
.mslots a.mslot .ph__img{overflow:hidden}
.mslots a.mslot figcaption span:last-child::after{content:" →";opacity:0;transition:opacity .2s}
.mslots a.mslot:hover figcaption span:last-child::after,.mslots a.mslot:focus-visible figcaption span:last-child::after{opacity:1}
a.lp-tile{color:inherit;text-decoration:none;transition:background .2s}
a.lp-tile:hover,a.lp-tile:focus-visible{background:var(--tint,#EEF1F4)}
a.lp-tile:focus-visible{outline:2px solid var(--heat,#E8541F);outline-offset:-2px}
.case:hover{border-color:var(--ink,#0F1720)}
.lp-also{padding:28px 0}
.lp-also__r{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:12px}
.lp-also__t{font:500 13.5px/1.4 var(--mono);color:var(--mute);margin-right:4px}
.lp-also__a{display:inline-flex;gap:6px;align-items:center;min-height:44px;padding:8px 14px;border:var(--hair);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.lp-also__a:hover,.lp-also__a:focus-visible{border-color:var(--ink);background:var(--tint,#EEF1F4)}
.lp-also__a.is-main{border-color:var(--ink)}
.lp-ci{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px 28px}
.lp-ci__g h3{font-size:16px;margin:0 0 8px}.lp-ci__g h3 a{color:var(--ink)}.lp-ci__g h3 small{color:var(--mute);font-weight:500}
.lp-ci__g ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.lp-ci__g li a{display:block;padding:6px 0;color:var(--ink-2,#37424d);font-size:14.5px;line-height:1.35;text-decoration:none;border-bottom:1px solid var(--line,#DDE2E7)}
.lp-ci__g li a:hover,.lp-ci__g li a:focus-visible{color:var(--heat,#E8541F)}
