@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900&display=swap&subset=cyrillic');

:root{
  --ink:#2b2b2b; --ink2:#3a3a3a;
  --accent:#ff7e00; --accent2:#fd3502;
  --paper:#ffffff; --muted:#6d6d6d; --soft:#9a9a9a;
  --line:#e4e4e4; --band:#efefef;
}
.kp-doc *{box-sizing:border-box;margin:0;padding:0}
.kp-doc{background:#7a7a7a;font-family:"Montserrat",Arial,sans-serif;color:var(--ink);padding:24px 0}

/* Кнопка печати (только на экране) */
.kp-print-btn{position:fixed;right:24px;top:24px;z-index:50;background:var(--accent);color:#fff;font-family:"Montserrat",sans-serif;font-weight:700;font-size:15px;border:0;border-radius:8px;padding:14px 22px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.3)}

.kp-page{position:relative;width:794px;height:1123px;background:var(--paper);margin:0 auto 24px;overflow:hidden;box-shadow:0 6px 30px rgba(0,0,0,.35)}

/* --- Шапка секции --- */
.kp-head{position:relative;height:78px;background:var(--ink);display:flex;align-items:center;padding:0 40px}
.kp-head__icon{width:34px;height:26px;margin-right:16px;flex:none}
.kp-head__title{color:#fff;font-weight:300;font-size:26px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.kp-head__underline{display:none}
.kp-head__url{margin-left:24px;flex:1;height:26px;border-radius:5px;background:#4a4a4a;display:flex;align-items:center;justify-content:flex-end;padding:0 16px;color:#c7c7c7;font-size:11px;letter-spacing:.14em;font-weight:500;text-decoration:none}

/* --- Подвал --- */
/* Футер: белый зазор над оранжевой линией (линия на прежнем месте), фон-градиент печатается надёжно */
.kp-foot{position:absolute;left:0;right:0;bottom:0;height:90px;overflow:hidden;
  background:linear-gradient(to bottom,#fff 0,#fff 24px,var(--accent) 24px,var(--accent) 26px,#fff 26px,#fff 100%)}
.kp-foot__mark{position:absolute;left:40px;bottom:2px;font-weight:800;font-size:48px;color:#ededed;white-space:nowrap;user-select:none}
.kp-foot__mark span{font-weight:400;color:#efefef}

.kp-body{padding:36px 40px 84px}

/* ОБЛОЖКА */
.cover{position:relative;display:flex;flex-direction:column;height:100%}
.cover__connector{position:absolute;top:0;left:0;width:794px;height:360px;pointer-events:none;z-index:3}
.cover__top{padding:38px 40px 0;position:relative}
.cover__logo{display:flex;align-items:center;height:34px}
.cover__logo img{height:34px;width:auto;margin-right:10px}
.cover__logo .wm{font-weight:800;font-size:26px;color:#2b2b2b}
.cover__logo .wm span{font-weight:400;color:#8a8a8a}
.cover__tags{position:relative;margin:24px 0 0 6px;padding-left:26px}
.cover__tags:before{content:"";position:absolute;left:0;top:4px;bottom:24px;width:2px;background:#c9c9c9}
.cover__tag{font-size:17px;letter-spacing:.06em;color:#4a4a4a;line-height:1.35;margin-bottom:18px;position:relative}
.cover__tag:first-child{margin-bottom:46px}
.cover__tag b{font-weight:800;display:block}
.cover__tag:before{content:"";position:absolute;left:-26px;top:20px;width:18px;height:2px;background:#c9c9c9}
.cover__titlewrap{margin-top:120px;padding:0 40px}
.cover__title{font-weight:800;font-size:60px;line-height:.98;color:#575757;text-transform:uppercase;text-align:center}
.cover__herowrap{flex:1;min-height:0;display:flex;background:#fff}
.cover__hero{flex:1;min-height:0;background-size:contain;background-repeat:no-repeat;background-position:center bottom;background-color:#fff}
.cover__facts{height:96px;background:var(--ink);display:flex;align-items:center;padding:0 30px;gap:12px}
.fact{display:flex;align-items:center;color:#fff;font-size:14px;flex:1;white-space:nowrap}
.fact img,.fact svg{width:28px;height:28px;margin-right:12px;flex:none}
.fact b{font-weight:800}
.fact+.fact{border-left:1px solid #4a4a4a;padding-left:20px}

/* О НАС */
.about__photo{position:relative;height:400px;overflow:hidden;background-size:cover;background-position:center;margin:-36px -40px 30px;background-color:#e9e9e9}
.about__photo .cap{position:absolute;left:40px;bottom:-6px;font-weight:800;font-size:64px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.25)}
.about__stats{display:flex;gap:20px;margin-bottom:34px}
.stat{flex:1;display:flex;align-items:center}
.stat__num{display:block;font-weight:800;font-size:34px;line-height:1;margin-bottom:6px}
.stat__lbl{font-size:15px;color:#333;line-height:1.25}
.stat__pin{width:28px;height:28px;margin-right:12px;flex:none}
.block{margin-bottom:22px}
.block h3{font-weight:800;font-size:30px;letter-spacing:.02em;margin-bottom:10px}
.block p{font-size:19px;line-height:1.55;color:#2f2f2f;max-width:700px}
.block .dash{font-size:19px;line-height:1.95;color:#2f2f2f}

/* ГАРАНТИИ */
.guar{margin-bottom:26px}
.guar__head{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.guar__check{width:26px;height:26px;flex:none;margin-top:2px}
.guar__tt h3{font-weight:800;font-size:22px;letter-spacing:.02em;line-height:1.1}
.guar__tt p{font-size:14px;color:#4a4a4a;margin-top:6px;line-height:1.4;max-width:560px}
.guar__video{position:relative;margin:12px auto 0;width:490px;height:520px;border-radius:12px;overflow:hidden;box-shadow:0 3px 14px rgba(0,0,0,.15)}
.guar__video img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.guar__imgs{display:flex;gap:20px;margin-left:40px;margin-top:14px}
.guar__imgs .im{flex:1;height:150px;border-radius:12px;overflow:hidden;position:relative;background-size:cover;background-position:center;box-shadow:0 3px 14px rgba(0,0,0,.12);background-color:#e9e9e9}
.play{position:absolute;inset:0;margin:auto;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center}
.play:after{content:"";border-left:16px solid var(--accent);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.im .ts{position:absolute;top:8px;right:10px;color:#fff;font-size:11px;background:rgba(0,0,0,.35);padding:2px 6px;border-radius:3px}

/* ОБЩИЙ ВИД */
.render{height:400px;border-radius:6px;overflow:hidden;background-size:cover;background-position:center;margin-bottom:26px;box-shadow:0 4px 16px rgba(0,0,0,.1);background-color:#e9e9e9}

/* ПЛАНИРОВКА */
.kp-body--plan{display:flex;flex-direction:column;min-height:1045px;padding-top:0}
.plan__img{display:block;width:1191px;max-width:none;margin:-150px -238px 28px;height:auto;background:#fafafa}
.plan__foot{position:absolute;left:40px;right:40px;bottom:104px}
.plan__stat{display:flex;align-items:center;margin-bottom:18px;font-size:17px}
.plan__stat img{width:28px;height:28px;margin-right:16px;flex:none}
.plan__stat b{font-weight:800}
.btn-cta{display:inline-flex;align-items:center;gap:16px;margin-top:12px;background:var(--accent);color:#fff;font-weight:700;font-size:16px;padding:15px 20px 15px 26px;border-radius:8px;text-decoration:none}
.btn-cta .circ{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--accent);display:flex;align-items:center;justify-content:center}
.btn-cta .circ img{width:14px;height:auto}

/* СМЕТА */
.smeta__row{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px}
.smeta__cat{font-weight:800;font-size:23px;letter-spacing:.02em}
.smeta__price{font-weight:800;font-size:23px}
.smeta__hr{height:1px;background:var(--line);margin:10px 0 14px}
.smeta__grid{display:flex;gap:24px;margin-bottom:14px}
.smeta__label{width:170px;flex:none;font-weight:700;font-size:14px;line-height:1.35}
.smeta__list{flex:1;list-style:none}
.smeta__list li{list-style:none;position:relative;padding-left:20px;font-size:13px;line-height:1.4;color:#2f2f2f;margin-bottom:7px}
.smeta__list li:before{content:"–";position:absolute;left:0}
.smeta__note{text-align:right;font-style:italic;font-size:12px;color:#7a7a7a;margin-top:8px}
.smeta__total{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px}
.smeta__total .t{font-weight:800;font-size:30px;letter-spacing:.02em}
.smeta__total .p{font-weight:800;font-size:26px}

/* ЭТАПЫ */
.stage{border:1px solid #e7e7e7;border-radius:16px;padding:20px 22px;margin-bottom:20px;box-shadow:0 3px 12px rgba(0,0,0,.05)}
.stage h3{font-weight:800;font-size:22px;letter-spacing:.02em;margin-bottom:16px}
.stage h3 .n{color:var(--accent);margin-right:6px}
.stage h3 small{font-weight:500;font-size:15px;color:#9a9a9a;text-transform:none;letter-spacing:0}
.stage__imgs{display:flex;gap:18px}
.stage__imgs .im{flex:1;height:190px;border-radius:12px;background-size:cover;background-position:center;box-shadow:0 3px 12px rgba(0,0,0,.12);background-color:#e9e9e9}

/* ПОРТФОЛИО / ОТДЕЛКА (две flex-колонки — надёжно для html2canvas и печати) */
.masonry{display:flex;gap:16px;align-items:flex-start}
.masonry .col{flex:1;display:flex;flex-direction:column;gap:16px}
.masonry .m{width:100%;border-radius:8px;background-size:cover;background-position:center;background-color:#e9e9e9}
.m.h1{height:180px}.m.h2{height:230px}.m.h3{height:290px}
/* Портфолио на один лист: равномерные плитки, до 8 шт (4 в колонке) */
.masonry.pf .m{height:200px}
/* Коллаж (отделка/портфолио): 3 колонки, разные высоты, низ заполняется, вылет за края */
.otd-collage{display:flex;gap:10px;margin:16px -40px 0;height:930px;align-items:stretch}
.otd-collage .oc-col{flex:1;display:flex;flex-direction:column;gap:10px}
.otd-collage .oc{width:100%;background-size:cover;background-position:center;background-color:#e9e9e9;border-radius:6px;flex:0 0 auto}
.otd-collage .oc:last-child{flex:1 1 auto}
.otd__lead{font-size:22px;color:#3a3a3a;margin-bottom:20px}
.otd__lead b{font-weight:800;display:block}

/* ОТЗЫВЫ */
.reviews-chaos{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:16px 20px;padding:10px 0 0}
.reviews-chaos .revcard{position:relative;z-index:1;width:300px}
.reviews-chaos .revcard.c0{transform:rotate(-1.8deg);margin-top:6px}
.reviews-chaos .revcard.c1{transform:rotate(1.6deg);margin-top:34px}
.reviews-chaos .revcard.c2{transform:rotate(2deg);margin-top:-8px}
.reviews-chaos .revcard.c3{transform:rotate(-1.3deg);margin-top:24px}
.reviews-chaos .revcard.c4{transform:rotate(1deg);margin-top:8px}
/* декоративные тусклые рамки сзади */
.rev-deco{position:absolute;border:1.5px solid #ededed;border-radius:16px;z-index:0}
.rev-deco.d1{width:330px;height:250px;left:0;top:14px;transform:rotate(-5deg)}
.rev-deco.d2{width:370px;height:270px;right:-6px;top:150px;transform:rotate(4.5deg)}
.rev-deco.d3{width:300px;height:210px;left:150px;top:430px;transform:rotate(-3.5deg)}
.revcard{background:#fff;border:1px solid #ececec;border-radius:14px;box-shadow:0 5px 18px rgba(0,0,0,.07);padding:16px 18px}
.revcard__top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.revcard__ava{width:38px;height:38px;border-radius:50%;background:#eee;background-size:cover;background-position:center;flex:none}
.revcard__who{font-size:11.5px;color:#8a8a8a;line-height:1.3}
.revcard__who span{display:block;font-weight:700;font-size:13px;color:#111}
.revcard__stars{color:var(--accent);font-size:13px;letter-spacing:2px;margin-bottom:8px}
.revcard__date{color:#9a9a9a;font-size:11px;letter-spacing:normal;margin-left:8px}
.revcard__text{font-size:11px;line-height:1.4;color:#333;max-height:118px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical}
.reviews-yalink{display:flex;width:max-content;max-width:100%;margin:26px auto 0;align-items:center;gap:10px;background:#fff;border:2px solid var(--accent);color:#111;font-weight:700;font-size:15px;padding:12px 24px;border-radius:10px;text-decoration:none}
.reviews-yalink img{width:20px;height:20px;flex:none}

/* КОНТАКТЫ */
.cont__title{font-weight:800;font-size:64px;color:#575757;margin:60px 0 0;text-transform:uppercase}
.cont__arrow{margin:20px 0 0 6px;width:2px;height:70px;background:#c9c9c9}
.cont__bar{background:var(--ink);border-radius:2px;padding:34px 40px;display:flex;gap:40px;margin-top:24px}
.cont__col{flex:1;display:flex;flex-direction:column;gap:20px}
.cont__it{display:flex;align-items:center;gap:16px;color:#fff;font-size:16px}
.cont__it img{width:26px;height:26px}
.cont__note{font-size:15px;color:#3a3a3a;margin:22px 0 18px;line-height:1.5}
.cont__imgs{display:flex;gap:16px}
.cont__imgs .im{flex:1;height:230px;border-radius:4px;background-size:cover;background-position:center;background-color:#e9e9e9}
.cont__wm{position:absolute;left:36px;bottom:34px;font-weight:800;font-size:78px;color:#e6e6e6}
.cont__wm span{font-weight:400;color:#efefef}

@media print{
  html,body,.kp-doc,.kp-page,.kp-head,.cover__facts,.btn-cta,.kp-foot{
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
  }
  .kp-doc{background:#fff;padding:0}
  .kp-print-btn{display:none}
  .kp-page{margin:0;box-shadow:none;page-break-after:always;overflow:hidden}
  /* ссылки не должны становиться синими/подчёркнутыми в печати */
  a,a:link,a:visited{color:inherit!important;text-decoration:none!important}
  .btn-cta,.btn-cta:link,.btn-cta:visited{color:#fff!important}
  .kp-head__url{color:#c7c7c7!important}
  @page{size:A4 portrait;margin:0}
}
