/* Камины ПРО — главная, v2 (ДАРЭ, 23.10.2026).
   Всё под #kp-root: блок вставляется в Тильду через T123, правил на html/body нет.
   Уголь и сажа с живым светом огня чередуются со светлым камнем. Один акцент — красный логотипа.
   Шрифты: Oranienbaum (заголовки) + Golos Text (текст). */
#kp-root{
  --kp-soot:#15120f; --kp-coal:#1e1a17; --kp-iron:#2d2824;
  --kp-stone:#d6d1c9; --kp-stone2:#e3dfd8; --kp-ash:#9c948b;
  --kp-ink:#1e1a17; --kp-ink2:#4a433d; --kp-milk:#f1ede6;
  --kp-fire:#c93a28; --kp-fire2:#a92e1f;
  --kp-ld:rgba(30,26,23,.16); --kp-lw:rgba(241,237,230,.16);
  --kp-ff:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --kp-fd:"Oranienbaum","Times New Roman",serif;
  --kp-pad:clamp(16px,4vw,56px); --kp-max:1360px;
  --kp-e:cubic-bezier(.22,.8,.2,1);
  background:var(--kp-soot); color:var(--kp-milk);
  font:400 17px/1.6 var(--kp-ff); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:clip;
}
#kp-root *,#kp-root *::before,#kp-root *::after{box-sizing:border-box}
#kp-root :where(h1,h2,h3,p,ul,ol,li,dl,dt,dd,figure,address,form){margin:0;padding:0}
#kp-root :where(ul,ol){list-style:none}
#kp-root img{display:block;max-width:100%;height:auto}
#kp-root a{color:inherit;text-decoration:none}
#kp-root :where(button,input,textarea){font:inherit;color:inherit}
#kp-root :focus-visible{outline:2px solid var(--kp-fire);outline-offset:3px}
#kp-root address{font-style:normal}
#kp-root .kp-wrap{max-width:var(--kp-max);margin:0 auto;padding:0 var(--kp-pad)}

/* типографика */
#kp-root h1,#kp-root h2,#kp-root h3{font-family:var(--kp-fd);font-weight:400;letter-spacing:-.01em}
#kp-root .kp-h2{font-size:clamp(40px,5.6vw,88px);line-height:.98;letter-spacing:-.015em;text-wrap:balance}
#kp-root .kp-h2-xl{font-size:clamp(64px,13vw,210px);line-height:.86;letter-spacing:-.025em}
#kp-root .kp-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
#kp-root .kp-w>span{display:inline-block;will-change:transform}
#kp-root .kp-link{display:inline-block;font-size:16px;font-weight:500;padding-bottom:4px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .45s var(--kp-e),color .2s}
#kp-root .kp-link:hover{background-size:35% 1px;color:var(--kp-fire)}
#kp-root .kp-lbl{display:block;font-size:14px;color:var(--kp-ash);margin-bottom:6px}

/* кнопки */
#kp-root .kp-btn{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 28px;border-radius:999px;font-size:16px;font-weight:500;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .25s var(--kp-e)}
#kp-root .kp-btn:active{transform:scale(.97)}
#kp-root .kp-btn-fire{background:var(--kp-fire);color:#fff}
#kp-root .kp-btn-fire:hover{background:var(--kp-fire2)}
#kp-root .kp-btn-line{border-color:currentColor;background:transparent}
#kp-root .kp-btn-line:hover{background:var(--kp-milk);border-color:var(--kp-milk);color:var(--kp-ink)}
#kp-root .kp-btn-sm{height:40px;padding:0 18px;font-size:14.5px}

/* шапка: прозрачная над первым экраном, дальше угольная; прячется при скролле вниз */
#kp-root .kp-hdr{position:fixed;left:0;right:0;top:0;z-index:60;color:var(--kp-milk);transition:transform .45s var(--kp-e),background .3s}
#kp-root .kp-hdr-in{height:76px;display:flex;align-items:center;gap:36px;padding:0 var(--kp-pad);max-width:1600px;margin:0 auto}
#kp-root .kp-hdr.is-solid{background:var(--kp-coal);box-shadow:0 1px 0 var(--kp-lw)}
#kp-root .kp-hdr.is-hidden{transform:translateY(-100%)}
#kp-root .kp-logo img{height:26px;width:auto;filter:brightness(0) invert(.94)}
#kp-root .kp-nav{display:flex;gap:28px;font-size:15px;white-space:nowrap}
#kp-root .kp-nav a{opacity:.82;transition:opacity .2s}
#kp-root .kp-nav a:hover{opacity:1}
#kp-root .kp-hdr-r{margin-left:auto;display:flex;align-items:center;gap:20px}
#kp-root .kp-hdr-ph{font-weight:500;font-size:15.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
#kp-root .kp-burger{display:none;width:44px;height:44px;border:1px solid var(--kp-lw);border-radius:999px;background:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0}
#kp-root .kp-burger span{display:block;width:18px;height:1.5px;background:currentColor;transition:transform .25s}
#kp-root .kp-open .kp-burger span:first-child{transform:translateY(3.75px) rotate(45deg)}
#kp-root .kp-open .kp-burger span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
#kp-root .kp-mnav{display:none;flex-direction:column;padding:4px var(--kp-pad) 24px;background:var(--kp-coal)}
#kp-root .kp-open{background:var(--kp-coal)}
#kp-root .kp-open .kp-mnav{display:flex}
#kp-root .kp-mnav a{padding:14px 0;border-bottom:1px solid var(--kp-lw);font-family:var(--kp-fd);font-size:28px;line-height:1.2}
#kp-root .kp-mnav .kp-mnav-ph{border:0;font-family:var(--kp-ff);font-size:18px;font-weight:500;color:#fff}
@media (max-width:1180px){#kp-root .kp-nav{display:none}#kp-root .kp-burger{display:flex}}
@media (max-width:640px){#kp-root .kp-hdr-cta,#kp-root .kp-hdr-ph{display:none}#kp-root .kp-hdr-in{height:62px}#kp-root .kp-logo img{height:22px}}

/* 1. первый экран */
#kp-root .kp-hero{position:relative;height:100vh;height:100svh;min-height:620px;background:var(--kp-soot);overflow:hidden}
#kp-root .kp-hero-ph{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background:var(--kp-coal)}
#kp-root .kp-hero-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
#kp-root .kp-hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(21,18,15,.9) 0%,rgba(21,18,15,.62) 38%,rgba(21,18,15,.12) 68%,rgba(21,18,15,.3) 100%),
  linear-gradient(0deg,rgba(21,18,15,.78) 0%,rgba(21,18,15,0) 48%),
  linear-gradient(180deg,rgba(21,18,15,.55) 0%,rgba(21,18,15,0) 22%)}
#kp-root .kp-glow{position:absolute;left:50%;top:62%;width:46vmin;height:46vmin;margin:-23vmin 0 0 -23vmin;border-radius:50%;background:radial-gradient(closest-side,rgba(255,138,52,.42),rgba(255,96,30,.14) 55%,rgba(255,96,30,0));mix-blend-mode:screen;pointer-events:none;animation:kp-flicker 3.6s infinite}
#kp-root .kp-hero-shade::after{content:"";position:absolute;inset:0;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%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")}
#kp-root .kp-embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#kp-root .kp-hero-ph figcaption{position:absolute;left:16px;right:16px;bottom:14px;font-size:13px;color:rgba(241,237,230,.78);opacity:0}
#kp-root .kp-hero-tx{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:110px var(--kp-pad) clamp(28px,6vh,64px);width:min(100%,800px)}
#kp-root .kp-hero h1{color:#fff;margin-bottom:clamp(18px,3vh,30px)}
#kp-root .kp-h1-a{display:block;text-wrap:balance;font-size:clamp(60px,8.6vw,138px);line-height:.9;letter-spacing:-.02em}
#kp-root .kp-h1-b{display:block;font-size:clamp(24px,2.5vw,40px);line-height:1.1;margin-top:.45em;max-width:16em;color:rgba(241,237,230,.88)}
#kp-root .kp-hero-lead{max-width:33em;color:rgba(241,237,230,.76);font-size:clamp(16px,1.2vw,18px)}
#kp-root .kp-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(20px,3.4vh,32px)}
#kp-root .kp-hero .kp-btn-line{color:#fff;border-color:rgba(241,237,230,.5)}
#kp-root .kp-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:clamp(24px,4.5vh,44px);padding-top:18px;border-top:1px solid var(--kp-lw)}
#kp-root .kp-facts dt{font-family:var(--kp-fd);font-size:26px;line-height:1.1;color:#fff}
#kp-root .kp-facts dd{margin:4px 0 0;color:var(--kp-ash);font-size:14px;line-height:1.4}
#kp-root.kp-js .kp-hero h1{visibility:hidden}
@media (min-width:900px){
  #kp-root.kp-anim .kp-hero-ph figcaption{opacity:0}
}
@media (max-width:899px){
  #kp-root .kp-hero{height:auto;min-height:100svh}
  #kp-root .kp-hero-shade{background:linear-gradient(0deg,rgba(21,18,15,.96) 0%,rgba(21,18,15,.78) 42%,rgba(21,18,15,.15) 72%,rgba(21,18,15,.5) 100%)}
  #kp-root .kp-hero-tx{min-height:100svh;padding-top:46svh}
  #kp-root .kp-glow{top:48%}
  #kp-root .kp-facts{grid-template-columns:1fr 1fr 1fr;gap:12px}
  #kp-root .kp-facts dt{font-size:20px}
  #kp-root .kp-facts dd{font-size:12.5px}
  #kp-root .kp-hero-ph figcaption{display:none}
}
@media (max-width:420px){
  #kp-root .kp-hero-btns .kp-btn{flex:1 1 100%}
}
@keyframes kp-flicker{
  0%{opacity:.85;transform:scale(1)} 12%{opacity:.62;transform:scale(.96)} 23%{opacity:.95;transform:scale(1.04)}
  37%{opacity:.7;transform:scale(.98)} 51%{opacity:1;transform:scale(1.06)} 64%{opacity:.66;transform:scale(.97)}
  78%{opacity:.9;transform:scale(1.02)} 89%{opacity:.72;transform:scale(.99)} 100%{opacity:.85;transform:scale(1)}
}

/* 2. каталог: витрина на каменном фоне */
#kp-root .kp-cat{position:relative;background:var(--kp-stone);color:var(--kp-ink);display:grid;grid-template-columns:minmax(300px,30vw) minmax(0,1fr);height:100vh;min-height:640px;overflow:hidden}
#kp-root .kp-cat-intro{display:flex;flex-direction:column;justify-content:center;padding:96px clamp(24px,3vw,48px) 64px var(--kp-pad);border-right:1px solid var(--kp-ld);position:relative;z-index:2;background:var(--kp-stone)}
#kp-root .kp-cat-lead{margin-top:28px;color:var(--kp-ink2);max-width:26em}
#kp-root .kp-cat-intro .kp-link{margin-top:28px;align-self:flex-start;font-size:17px}
#kp-root .kp-cat-note{margin-top:auto;padding-top:32px;font-size:13.5px;color:#6d655d;max-width:28em}
#kp-root .kp-cat-prog{display:none;height:2px;background:var(--kp-ld);margin-top:20px}
#kp-root .kp-cat-prog span{display:block;height:100%;background:var(--kp-fire);transform-origin:0 50%;transform:scaleX(0)}
#kp-root.kp-anim .kp-cat-prog{display:block}
#kp-root .kp-cat-vp{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}
#kp-root.kp-anim .kp-cat-vp{overflow:hidden}
#kp-root .kp-cat-track{display:flex;height:100%;width:max-content;background:var(--kp-stone)}
#kp-root .kp-ci{flex:none;width:clamp(300px,25vw,420px);height:100%;border-right:1px solid var(--kp-ld);background:var(--kp-stone)}
#kp-root .kp-ci-l{width:clamp(340px,31vw,520px)}
#kp-root .kp-ci-s{width:clamp(280px,21vw,360px)}
#kp-root .kp-ci>a{display:flex;flex-direction:column;height:100%;padding:13vh clamp(20px,2.2vw,36px) 9vh}
#kp-root .kp-ci-img{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid rgba(30,26,23,.28)}
#kp-root .kp-ci-img::after{content:"";position:absolute;left:14%;right:14%;bottom:12px;height:22px;border-radius:50%;background:radial-gradient(closest-side,rgba(30,26,23,.28),rgba(30,26,23,0));z-index:0}
#kp-root .kp-ci-img img{position:relative;z-index:1;max-height:100%;max-width:92%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;transition:translate .7s var(--kp-e),scale .7s var(--kp-e)}
#kp-root .kp-ci-t{font-family:var(--kp-fd);font-size:clamp(28px,2.4vw,40px);line-height:1.02;letter-spacing:-.01em;min-height:2.04em}
#kp-root .kp-ci-n{margin-top:10px;font-size:15px;line-height:1.45;color:var(--kp-ink2);min-height:2.9em}
#kp-root .kp-ci-go{margin-top:18px;font-size:15px;font-weight:500;align-self:flex-start;padding-bottom:3px;background:linear-gradient(var(--kp-fire),var(--kp-fire)) 0 100%/0 1px no-repeat;transition:background-size .45s var(--kp-e),color .2s}
#kp-root .kp-ci>a:hover .kp-ci-img img{translate:0 -10px;scale:1.035}
#kp-root .kp-ci>a:hover .kp-ci-go{background-size:100% 1px;color:var(--kp-fire)}
#kp-root .kp-ci-stock{width:clamp(320px,28vw,460px);background:var(--kp-coal);color:var(--kp-milk);border-right:0}
#kp-root .kp-ci-stock>a{justify-content:flex-end;background:radial-gradient(120% 70% at 50% 110%,rgba(201,58,40,.34),rgba(201,58,40,0) 60%)}
#kp-root .kp-ci-stock .kp-ci-t{font-size:clamp(48px,5vw,84px);min-height:0}
#kp-root .kp-ci-stock .kp-ci-n{color:var(--kp-ash);max-width:20em}
#kp-root .kp-ci-stock .kp-ci-go{color:#fff;background-image:linear-gradient(#fff,#fff);background-size:100% 1px}
@media (max-width:899px){
  #kp-root .kp-cat{display:block;height:auto;min-height:0;padding:80px 0 56px}
  #kp-root .kp-cat-intro{padding:0 var(--kp-pad) 32px;border:0}
  #kp-root .kp-cat-note{order:5;margin-top:20px;padding-top:0}
  #kp-root .kp-cat-vp{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--kp-pad);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #kp-root .kp-cat-vp::-webkit-scrollbar{display:none}
  #kp-root .kp-cat-track{height:auto;padding:0 var(--kp-pad);gap:12px}
  #kp-root .kp-ci,#kp-root .kp-ci-l,#kp-root .kp-ci-s,#kp-root .kp-ci-stock{width:76vw;max-width:340px;height:auto;scroll-snap-align:start;border:0;background:var(--kp-stone2)}
  #kp-root .kp-ci-stock{background:var(--kp-coal)}
  #kp-root .kp-ci>a{padding:22px 20px 24px;min-height:440px}
  #kp-root .kp-ci-img{height:240px;flex:none}
  #kp-root .kp-ci-t{font-size:30px}
}

/* 3. монтаж под ключ: три колонки, левая и правая прилипают */
#kp-root .kp-steps{background:var(--kp-coal);color:var(--kp-milk);position:relative}
#kp-root .kp-steps-grid{display:grid;grid-template-columns:minmax(0,3.9fr) minmax(0,3.6fr) minmax(0,5.1fr);gap:clamp(24px,4vw,72px);max-width:1600px;margin:0 auto;padding:0 var(--kp-pad)}
#kp-root .kp-steps-l,#kp-root .kp-steps-r{position:sticky;top:0;height:100vh;align-self:start;display:flex;flex-direction:column;justify-content:center}
#kp-root .kp-steps-sub{margin-top:18px;color:var(--kp-ash);font-size:19px}
#kp-root .kp-steps-num{margin-top:clamp(28px,6vh,72px);height:clamp(120px,15vw,240px);overflow:hidden;font-family:var(--kp-fd);font-size:clamp(120px,15vw,240px);line-height:1;color:var(--kp-milk)}
#kp-root .kp-steps-strip{display:flex;flex-direction:column;transition:transform .8s var(--kp-e)}
#kp-root .kp-steps-strip b{display:block;font-weight:400;height:clamp(120px,15vw,240px);letter-spacing:-.04em}
#kp-root .kp-steps-bar{margin-top:20px;height:2px;background:var(--kp-lw);max-width:340px}
#kp-root .kp-steps-bar i{display:block;height:100%;width:20%;background:var(--kp-fire);transition:width .6s var(--kp-e)}
#kp-root .kp-steps-list{counter-reset:none}
#kp-root .kp-steps-list li{min-height:76vh;display:flex;flex-direction:column;justify-content:center;padding:10vh 0;transition:opacity .5s}
#kp-root.kp-ready .kp-steps-list li{opacity:.32}
#kp-root.kp-ready .kp-steps-list li.is-on{opacity:1}
#kp-root:not(.kp-ready) .kp-steps-num,#kp-root:not(.kp-ready) .kp-steps-bar{visibility:hidden}
#kp-root .kp-steps-list h3{font-size:clamp(36px,3.4vw,56px);line-height:1;margin-bottom:22px}
#kp-root .kp-steps-list p{color:rgba(241,237,230,.78);max-width:26em}
#kp-root .kp-step-n{display:none;font-family:var(--kp-fd);font-size:20px;color:var(--kp-ash);margin-bottom:10px}
#kp-root .kp-step-ph{display:none}
#kp-root .kp-step-fig{display:flex;align-items:baseline;gap:16px;margin-top:30px;padding-top:22px;border-top:1px solid var(--kp-lw)}
#kp-root .kp-steps-list .kp-step-fig>span:last-child{font-size:15px;color:var(--kp-ash);max-width:15em;line-height:1.4}
#kp-root .kp-count{font-family:var(--kp-fd);font-size:clamp(64px,6vw,96px);line-height:.9;color:#fff;white-space:nowrap;font-variant-numeric:lining-nums}
#kp-root .kp-steps-frame{position:relative;width:100%;aspect-ratio:4/5;max-height:78vh;overflow:hidden;background:var(--kp-iron)}
#kp-root .kp-steps-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .8s var(--kp-e),transform 1.4s var(--kp-e)}
#kp-root .kp-steps-frame img.is-on{opacity:1;transform:scale(1)}
@media (max-width:899px){
  #kp-root .kp-steps{padding:88px 0 40px}
  #kp-root .kp-steps-grid{display:block}
  #kp-root .kp-steps-l{position:static;height:auto;margin-bottom:24px}
  #kp-root .kp-steps-num,#kp-root .kp-steps-bar,#kp-root .kp-steps-r{display:none}
  #kp-root .kp-steps-list li{min-height:0;padding:28px 0 36px;opacity:1;border-top:1px solid var(--kp-lw)}
  #kp-root .kp-steps-list h3{font-size:36px;margin-bottom:12px}
  #kp-root .kp-step-n{display:block}
  #kp-root .kp-step-ph{display:block;margin-top:22px;aspect-ratio:4/3;overflow:hidden}
  #kp-root .kp-step-ph img{width:100%;height:100%;object-fit:cover}
}

/* 4. услуги: указатель */
#kp-root .kp-srv{background:var(--kp-stone2);color:var(--kp-ink);padding:clamp(88px,12vw,180px) 0 clamp(72px,9vw,140px)}
#kp-root .kp-srv-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(40px,6vw,88px)}
#kp-root .kp-srv-head p{color:var(--kp-ink2);max-width:30em}
#kp-root .kp-srv-list li{border-top:1px solid var(--kp-ld)}
#kp-root .kp-srv-list li:last-child{border-bottom:1px solid var(--kp-ld)}
#kp-root .kp-srv-list a{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr) 120px;gap:12px clamp(24px,4vw,64px);align-items:baseline;padding:clamp(24px,2.6vw,40px) 0;overflow:hidden}
#kp-root .kp-srv-list a::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--kp-fire);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--kp-e)}
#kp-root .kp-srv-list h3{font-size:clamp(30px,3.3vw,54px);line-height:1;transition:transform .5s var(--kp-e),color .3s}
#kp-root .kp-srv-list p{color:var(--kp-ink2);font-size:16px;line-height:1.55;max-width:32em}
#kp-root .kp-srv-go{justify-self:end;font-size:15px;font-weight:500;opacity:.55;transition:opacity .3s,color .3s}
#kp-root .kp-srv-list a:hover::before{transform:scaleX(1)}
#kp-root .kp-srv-list a:hover h3{transform:translateX(14px);color:var(--kp-fire)}
#kp-root .kp-srv-list a:hover .kp-srv-go{opacity:1;color:var(--kp-fire)}
@media (max-width:899px){
  #kp-root .kp-srv-head{grid-template-columns:1fr}
  #kp-root .kp-srv-list a{grid-template-columns:1fr;gap:10px}
  #kp-root .kp-srv-go{justify-self:start}
}

/* 5. портфолио */
#kp-root .kp-pf{background:var(--kp-soot);color:var(--kp-milk);padding:clamp(88px,11vw,170px) 0 clamp(64px,8vw,120px);overflow:hidden}
#kp-root .kp-pf-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:24px 48px;align-items:end;margin-bottom:clamp(48px,7vw,110px)}
#kp-root .kp-pf-side p{color:var(--kp-ash);margin-bottom:20px}
#kp-root .kp-pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,32px);align-items:start}
#kp-root .kp-pf-col{display:flex;flex-direction:column;gap:clamp(28px,3.4vw,56px)}
#kp-root .kp-pf-col[data-kp-col="1"]{margin-top:clamp(60px,12vw,200px)}
#kp-root .kp-pf-col[data-kp-col="2"]{margin-top:clamp(20px,4vw,64px)}
#kp-root .kp-pf-it{display:block}
#kp-root .kp-pf-img{display:block;overflow:hidden;background:var(--kp-iron);aspect-ratio:3/4}
#kp-root .kp-r11 .kp-pf-img{aspect-ratio:1/1}
#kp-root .kp-r45 .kp-pf-img{aspect-ratio:4/5}
#kp-root .kp-r23 .kp-pf-img{aspect-ratio:2/3}
#kp-root .kp-pf-img img{width:100%;height:118%;object-fit:cover;transform:translateY(-8%);transition:scale .9s var(--kp-e)}
#kp-root .kp-pf-it:hover .kp-pf-img img{scale:1.04}
#kp-root .kp-pf-t{display:block;margin-top:14px;font-size:16px;line-height:1.35}
#kp-root .kp-pf-n{display:block;margin-top:2px;font-size:14px;color:var(--kp-ash)}
@media (max-width:899px){
  #kp-root .kp-pf-head{grid-template-columns:1fr}
  #kp-root .kp-pf-grid{display:block;columns:2;column-gap:12px}
  #kp-root .kp-pf-col{display:contents}
  #kp-root .kp-pf-it{break-inside:avoid;margin-bottom:24px}
  #kp-root .kp-pf-t{font-size:14.5px}
  #kp-root .kp-pf-n{font-size:13px}
}

/* 6. бренды */
#kp-root .kp-br{background:var(--kp-stone);color:var(--kp-ink);padding:clamp(80px,10vw,150px) 0}
#kp-root .kp-br-h{font-family:var(--kp-ff);font-size:17px;font-weight:500;letter-spacing:0;color:var(--kp-ink2);margin-bottom:clamp(24px,3vw,44px);padding-bottom:16px;border-bottom:1px solid var(--kp-ld)}
#kp-root .kp-brands{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px clamp(22px,3vw,52px)}
#kp-root .kp-brands li{display:inline-flex;align-items:baseline;gap:12px}
#kp-root .kp-brands b{font-family:var(--kp-fd);font-weight:400;font-size:clamp(48px,7vw,116px);line-height:1.08;letter-spacing:-.02em}
#kp-root .kp-brands span{font-size:14px;line-height:1.3;color:var(--kp-ink2);max-width:11em;transform:translateY(-.4em)}
@media (max-width:640px){#kp-root .kp-brands li{flex-direction:column;gap:0;margin-bottom:10px}#kp-root .kp-brands span{transform:none;max-width:none}}

/* 7. дизайнерам */
#kp-root .kp-ds{position:relative;min-height:min(88vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:var(--kp-coal);color:#fff}
#kp-root .kp-ds-ph{position:absolute;inset:0}
#kp-root .kp-ds-ph img{width:100%;height:130%;object-fit:cover;object-position:50% 40%;transform:translateY(-12%)}
#kp-root .kp-ds-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,18,15,.88),rgba(21,18,15,.45) 55%,rgba(21,18,15,.15)),linear-gradient(0deg,rgba(21,18,15,.7),rgba(21,18,15,0) 50%)}
#kp-root .kp-ds-in{position:relative;width:100%;padding-top:120px;padding-bottom:clamp(48px,8vw,110px)}
#kp-root .kp-ds-in p{max-width:30em;margin:24px 0 32px;color:rgba(241,237,230,.82);font-size:clamp(17px,1.3vw,19px)}
#kp-root .kp-ds .kp-btn-line{color:#fff}

/* 8. вопросы */
#kp-root .kp-faq{background:var(--kp-stone2);color:var(--kp-ink);padding:clamp(88px,10vw,160px) 0}
#kp-root .kp-faq-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px clamp(32px,6vw,110px);align-items:start}
#kp-root .kp-faq-side{position:sticky;top:110px}
#kp-root .kp-faq-side p{margin-top:24px;color:var(--kp-ink2)}
#kp-root .kp-faq-side p a{font-weight:500;white-space:nowrap;border-bottom:1px solid currentColor}
#kp-root .kp-faq-list details{border-top:1px solid var(--kp-ld)}
#kp-root .kp-faq-list details:last-child{border-bottom:1px solid var(--kp-ld)}
#kp-root .kp-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-family:var(--kp-fd);font-size:clamp(22px,2vw,30px);line-height:1.15}
#kp-root .kp-faq-list summary::-webkit-details-marker{display:none}
#kp-root .kp-faq-list summary::after{content:"";flex:none;width:14px;height:14px;margin-top:.35em;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat;transition:transform .35s var(--kp-e)}
#kp-root .kp-faq-list details[open] summary::after{transform:rotate(45deg)}
#kp-root .kp-faq-list summary:hover{color:var(--kp-fire)}
#kp-root .kp-faq-list details p{padding:0 48px 26px 0;color:var(--kp-ink2);max-width:36em}
@media (max-width:899px){#kp-root .kp-faq-in{grid-template-columns:1fr}#kp-root .kp-faq-side{position:static}#kp-root .kp-faq-list details p{padding-right:0}}

/* 9. отзывы */
#kp-root .kp-rev{background:var(--kp-stone2);color:var(--kp-ink);padding:0 0 clamp(72px,9vw,130px)}
#kp-root .kp-rev-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(32px,6vw,110px);align-items:end;padding-top:clamp(56px,7vw,100px);border-top:1px solid var(--kp-ld)}
#kp-root .kp-rev-links{display:flex;flex-wrap:wrap;gap:12px 40px}
#kp-root .kp-rev-links a{font-family:var(--kp-fd);font-size:clamp(26px,2.6vw,40px);line-height:1.1;padding-bottom:4px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:color .25s,background-size .45s var(--kp-e)}
#kp-root .kp-rev-links a:hover{color:var(--kp-fire);background-size:30% 1px}
@media (max-width:899px){#kp-root .kp-rev-head{grid-template-columns:1fr}}

/* 10. контакты */
#kp-root .kp-ct{position:relative;background:var(--kp-soot);color:var(--kp-milk);padding:clamp(96px,11vw,170px) 0 clamp(48px,6vw,80px);overflow:hidden}
#kp-root .kp-ct-glow{position:absolute;left:50%;bottom:-40vmin;width:120vmin;height:80vmin;margin-left:-60vmin;border-radius:50%;background:radial-gradient(closest-side,rgba(201,58,40,.3),rgba(255,120,40,.08) 60%,rgba(255,120,40,0));pointer-events:none;animation:kp-flicker 5s infinite}
#kp-root .kp-ct-in{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px clamp(32px,6vw,110px);align-items:start}
#kp-root .kp-ct-phones{display:flex;flex-direction:column;margin-top:clamp(32px,4vw,56px)}
#kp-root .kp-ct-phones a{font-family:var(--kp-fd);font-size:clamp(40px,5.4vw,86px);line-height:1.06;letter-spacing:-.01em;white-space:nowrap;color:#fff;transition:color .25s}
#kp-root .kp-ct-phones a+a{color:rgba(241,237,230,.5)}
#kp-root .kp-ct-phones a:hover{color:var(--kp-fire)}
#kp-root .kp-ct-rows{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:28px 40px;margin-top:clamp(32px,4vw,56px);padding-top:28px;border-top:1px solid var(--kp-lw);font-size:16px}
#kp-root .kp-ct-rows address .kp-link{display:inline-block;margin-top:12px}
#kp-root .kp-form{background:var(--kp-coal);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:20px}
#kp-root .kp-form-t{font-family:var(--kp-fd);font-size:34px;line-height:1.05;color:#fff}
#kp-root .kp-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--kp-ash)}
#kp-root .kp-form input,#kp-root .kp-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(241,237,230,.28);padding:10px 0;font-size:17px;color:#fff;outline:none;resize:vertical;border-radius:0;transition:border-color .25s}
#kp-root .kp-form input::placeholder,#kp-root .kp-form textarea::placeholder{color:rgba(241,237,230,.36)}
#kp-root .kp-form input:focus,#kp-root .kp-form textarea:focus{border-color:var(--kp-fire)}
#kp-root .kp-form-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
#kp-root .kp-form .kp-btn-line{color:#fff;border-color:rgba(241,237,230,.4)}
#kp-root .kp-form-n{font-size:13px;line-height:1.5;color:var(--kp-ash)}
#kp-root .kp-form-n a{border-bottom:1px solid rgba(156,148,139,.5)}
#kp-root .kp-ct-map{position:relative;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(14px,2vw,28px);margin-top:clamp(56px,7vw,100px)}
#kp-root .kp-ct-shop{overflow:hidden;aspect-ratio:4/5;background:var(--kp-iron)}
#kp-root .kp-ct-shop img{width:100%;height:100%;object-fit:cover}
#kp-root .kp-map{position:relative;min-height:420px;background:var(--kp-iron)}
#kp-root .kp-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.7) contrast(.95)}
#kp-root .kp-map-fb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--kp-ash);font-size:15px}
@media (max-width:899px){
  #kp-root .kp-ct-in{grid-template-columns:1fr}
  #kp-root .kp-ct-rows{grid-template-columns:1fr}
  #kp-root .kp-ct-map{grid-template-columns:1fr}
  #kp-root .kp-ct-shop{aspect-ratio:16/10}
  #kp-root .kp-map{min-height:360px}
}
@media (max-width:420px){#kp-root .kp-ct-phones a{font-size:clamp(34px,10.4vw,44px)}#kp-root .kp-form-btns .kp-btn{flex:1 1 100%}}

/* подвал */
#kp-root .kp-foot{background:var(--kp-soot);color:var(--kp-ash);padding:56px 0 32px;border-top:1px solid var(--kp-lw);font-size:15px}
#kp-root .kp-foot-in{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:32px}
#kp-root .kp-foot-a img{height:24px;width:auto;filter:brightness(0) invert(.94);margin-bottom:16px}
#kp-root .kp-foot-a p{max-width:28em}
#kp-root .kp-foot-nav{display:flex;flex-direction:column;gap:8px}
#kp-root .kp-foot-nav a{color:var(--kp-milk);opacity:.8}
#kp-root .kp-foot-nav a:hover{opacity:1}
#kp-root .kp-foot-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 32px;margin-top:48px;padding-top:20px;border-top:1px solid var(--kp-lw);font-size:13px}
#kp-root .kp-foot-b a{margin-right:20px;border-bottom:1px solid rgba(156,148,139,.4)}
@media (max-width:760px){#kp-root .kp-foot-in{grid-template-columns:1fr 1fr}#kp-root .kp-foot-a{grid-column:1/-1}}

@media (prefers-reduced-motion:reduce){
  #kp-root *,#kp-root *::before,#kp-root *::after{animation:none!important;transition-duration:.01ms!important}
  #kp-root .kp-pf-img img,#kp-root .kp-ds-ph img{transform:none;height:100%}
}
