:root{
  --kz-bg:#f4f1ea;
  --kz-paper:#fbfaf7;
  --kz-card:#ffffff;
  --kz-ink:#20221f;
  --kz-muted:#6d7069;
  --kz-line:rgba(32,34,31,.12);
  --kz-gold:#a9874c;
  --kz-gold-dark:#846532;
  --kz-dark:#1f2422;
  --kz-dark-2:#2b302d;
  --kz-radius:28px;
  --kz-shadow:0 24px 70px rgba(28,31,28,.10);
  --kz-container:1240px;
}


/* =========================================================
   BASE
========================================================= */

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body.kz-page{
  margin:0;
  background:var(--kz-bg);
  color:var(--kz-ink);
  font-family:Inter,Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

body.kz-page.kz-lock{
  overflow:hidden;
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
select{
  font:inherit;
}

button{
  cursor:pointer;
}

img{
  display:block;
  max-width:100%;
}

.kz-container{
  width:min(
    var(--kz-container),
    calc(100% - 48px)
  );
  margin:0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.kz-header{
  position:sticky;
  top:0;
  z-index:50;

  background:rgba(244,241,234,.88);
  backdrop-filter:blur(18px);

  border-bottom:1px solid transparent;

  transition:.25s ease;
}

.kz-header.is-scrolled{
  border-color:var(--kz-line);
  box-shadow:0 10px 35px rgba(31,36,34,.06);
}

.kz-header__inner{
  min-height:78px;

  display:flex;
  align-items:center;

  gap:28px;
}

.kz-brand{
  display:inline-flex;
  align-items:center;

  gap:10px;

  font-weight:800;
  letter-spacing:.12em;

  white-space:nowrap;
}

.kz-brand__mark{
  width:34px;
  height:34px;

  border:1px solid rgba(32,34,31,.28);
  border-radius:50%;

  display:grid;
  place-items:center;

  font-family:Georgia,serif;
  font-size:18px;
}

.kz-brand__text{
  font-size:14px;
}

.kz-nav{
  display:flex;
  align-items:center;

  gap:26px;

  margin-left:auto;
}

.kz-nav a{
  font-size:14px;
  color:#4f534e;

  transition:.2s;
}

.kz-nav a:hover{
  color:var(--kz-ink);
}

.kz-header__actions{
  display:flex;
  align-items:center;

  gap:16px;

  margin-left:12px;
}

.kz-phone{
  font-weight:650;
  font-size:15px;

  white-space:nowrap;
}


/* =========================================================
   BUTTONS
========================================================= */

.kz-btn{
  appearance:none;

  border:1px solid var(--kz-dark);
  background:var(--kz-dark);
  color:#fff;

  min-height:54px;

  padding:0 26px;

  border-radius:999px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:9px;

  font-weight:700;
  font-size:14px;

  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.kz-btn:hover{
  transform:translateY(-1px);

  background:#101311;
  border-color:#101311;

  box-shadow:0 14px 32px rgba(31,36,34,.15);
}

.kz-btn--small{
  min-height:44px;

  padding:0 20px;

  font-size:13px;
}

.kz-btn--ghost{
  background:transparent;

  color:var(--kz-ink);

  border-color:rgba(32,34,31,.25);
}

.kz-btn--ghost:hover{
  color:#fff;
}

.kz-btn--full{
  width:100%;
}

.kz-btn--light{
  background:#fff;
  color:var(--kz-dark);
  border-color:#fff;
}

.kz-btn--light:hover{
  background:#f5f0e8;
  color:var(--kz-dark);
  border-color:#f5f0e8;
}

.kz-btn--ghost-dark{
  background:transparent;
  color:var(--kz-dark);
  border-color:rgba(32,34,31,.24);
}

.kz-btn--ghost-dark:hover{
  color:#fff;
}


/* =========================================================
   HERO
========================================================= */

.kz-hero{
  padding:62px 0 78px;

  overflow:hidden;
}

.kz-hero__grid{
  display:grid;

  grid-template-columns:
    minmax(0,1.03fr)
    minmax(420px,.97fr);

  gap:70px;

  align-items:center;
}

.kz-eyebrow{
  text-transform:uppercase;

  letter-spacing:.14em;

  font-size:12px;
  font-weight:800;

  color:var(--kz-gold-dark);

  margin-bottom:18px;
}

.kz-eyebrow--light{
  color:#d8c39c;
}

.kz-hero h1{
  font-family:
    Georgia,
    'Times New Roman',
    serif;

  font-size:clamp(
    44px,
    5vw,
    72px
  );

  line-height:1.02;

  letter-spacing:-.035em;

  font-weight:500;

  margin:0;

  max-width:760px;
}

.kz-hero h1 span{
  color:var(--kz-gold-dark);
}

.kz-hero__lead{
  max-width:680px;

  color:#5b5f59;

  font-size:19px;
  line-height:1.65;

  margin:26px 0 0;
}

.kz-hero__price{
  display:flex;
  align-items:baseline;

  gap:8px;

  margin-top:30px;
}

.kz-hero__price span{
  color:var(--kz-muted);

  font-size:15px;
}

.kz-hero__price strong{
  font-size:34px;

  letter-spacing:-.03em;
}

.kz-hero__actions{
  display:flex;
  flex-wrap:wrap;

  gap:12px;

  margin-top:30px;
}

.kz-checks{
  display:flex;
  flex-wrap:wrap;

  gap:22px;

  list-style:none;

  padding:0;

  margin:34px 0 0;

  color:#50544f;

  font-size:14px;
}

.kz-checks li{
  position:relative;

  padding-left:20px;
}

.kz-checks li:before{
  content:'✓';

  position:absolute;
  left:0;

  color:var(--kz-gold-dark);

  font-weight:900;
}


/* =========================================================
   HERO — ОКНО ИЗОБРАЖЕНИЯ

   Главное изменение.

   Теперь вертикальная фотография
   не определяет высоту первого экрана.
========================================================= */

.kz-hero__visual{
  display:flex;
  align-items:center;
  justify-content:flex-end;

  min-width:0;
}


.kz-hero__image-wrap{
  position:relative;

  width:100%;
  max-width:520px;

  height:620px;
  min-height:0;

  border-radius:38px;

  overflow:hidden;

  background:#ddd6ca;

  box-shadow:var(--kz-shadow);
}


.kz-hero__image-wrap:after{
  content:'';

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      transparent 58%,
      rgba(17,20,18,.32)
    );

  pointer-events:none;
}


.kz-hero__image-wrap img{
  display:block;

  width:100%;
  height:100%;

  min-height:0;

  object-fit:cover;

  /*
   * Немного смещаем кадр вправо,
   * чтобы передний столб оставался
   * хорошо виден.
   */

  object-position:58% center;
}


.kz-hero__badge{
  position:absolute;

  left:22px;
  bottom:22px;

  z-index:2;

  background:rgba(255,255,255,.9);

  backdrop-filter:blur(10px);

  padding:16px 18px;

  border-radius:18px;

  display:flex;
  flex-direction:column;

  min-width:220px;
}

.kz-hero__badge span{
  font-size:11px;

  text-transform:uppercase;

  letter-spacing:.12em;

  color:var(--kz-muted);
}

.kz-hero__badge strong{
  font-family:Georgia,serif;

  font-size:18px;

  margin-top:3px;
}


/* =========================================================
   STRIP
========================================================= */

.kz-strip{
  border-top:1px solid var(--kz-line);
  border-bottom:1px solid var(--kz-line);

  background:rgba(255,255,255,.28);
}

.kz-strip__grid{
  display:grid;

  grid-template-columns:
    repeat(4,1fr);
}

.kz-strip__grid>div{
  padding:26px 28px;

  border-right:1px solid var(--kz-line);

  display:flex;
  flex-direction:column;

  gap:4px;
}

.kz-strip__grid>div:first-child{
  padding-left:0;
}

.kz-strip__grid>div:last-child{
  border-right:0;
}

.kz-strip strong{
  font-size:16px;
}

.kz-strip span{
  font-size:13px;

  color:var(--kz-muted);
}


/* =========================================================
   SECTIONS
========================================================= */

.kz-section{
  padding:110px 0;
}

.kz-section__head{
  display:grid;

  grid-template-columns:
    1.2fr .8fr;

  gap:80px;

  align-items:end;

  margin-bottom:46px;
}

.kz-section h2,
.kz-final h2{
  font-family:
    Georgia,
    'Times New Roman',
    serif;

  font-size:clamp(
    36px,
    4vw,
    54px
  );

  line-height:1.08;

  letter-spacing:-.025em;

  font-weight:500;

  margin:0;
}

.kz-section__head p{
  margin:0;

  color:var(--kz-muted);

  font-size:17px;
  line-height:1.7;

  max-width:520px;
}


/* =========================================================
   PRODUCTS
========================================================= */

.kz-products{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:20px;
}

.kz-product{
  background:var(--kz-card);

  border:1px solid rgba(32,34,31,.08);

  border-radius:var(--kz-radius);

  overflow:hidden;

  box-shadow:
    0 18px 50px rgba(31,36,34,.055);

  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

.kz-product:hover{
  transform:translateY(-4px);

  box-shadow:
    0 24px 60px rgba(31,36,34,.09);
}

.kz-product__media{
  position:relative;

  aspect-ratio:4/3;

  background:#e7e3db;

  overflow:hidden;
}

.kz-product__media img{
  width:100%;
  height:100%;

  object-fit:cover;

  transition:transform .5s ease;
}

.kz-product:hover .kz-product__media img{
  transform:scale(1.025);
}

.kz-product__tag{
  position:absolute;

  top:16px;
  left:16px;

  padding:7px 10px;

  border-radius:999px;

  background:rgba(31,36,34,.82);

  color:#fff;

  font-size:11px;
  font-weight:700;

  letter-spacing:.05em;

  text-transform:uppercase;
}

.kz-product__tag--light{
  background:rgba(255,255,255,.9);

  color:var(--kz-ink);
}

.kz-product__body{
  padding:24px;
}

.kz-product__top{
  display:flex;

  align-items:baseline;
  justify-content:space-between;

  gap:16px;
}

.kz-product h3{
  font-family:Georgia,serif;

  font-size:28px;

  font-weight:500;

  margin:0;
}

.kz-product__price{
  font-weight:800;

  white-space:nowrap;
}

.kz-product__price span{
  font-size:12px;

  color:var(--kz-muted);

  font-weight:500;
}

.kz-product p{
  color:var(--kz-muted);

  font-size:14px;
  line-height:1.65;

  min-height:92px;

  margin:14px 0 18px;
}

.kz-link-btn{
  border:0;

  background:transparent;

  padding:0;

  color:var(--kz-ink);

  font-weight:750;

  text-align:left;

  display:flex;

  gap:8px;

  align-items:center;
}

.kz-link-btn span{
  transition:transform .2s;
}

.kz-link-btn:hover span{
  transform:translateX(4px);
}


/* =========================================================
   DARK FEATURE SECTION
========================================================= */

.kz-section--dark{
  background:var(--kz-dark);

  color:#fff;

  overflow:hidden;
}

.kz-feature-grid{
  display:grid;

  grid-template-columns:
    1fr .78fr;

  gap:90px;

  align-items:center;
}

.kz-feature-grid__content>p{
  font-size:18px;

  color:#b8bdb8;

  line-height:1.75;

  max-width:680px;

  margin:24px 0 0;
}

.kz-feature-list{
  margin-top:46px;

  border-top:
    1px solid rgba(255,255,255,.12);
}

.kz-feature-list>div{
  display:grid;

  grid-template-columns:
    50px 1fr;

  gap:18px;

  padding:22px 0;

  border-bottom:
    1px solid rgba(255,255,255,.12);
}

.kz-feature-list>div>span{
  color:#d8c39c;

  font-size:12px;
  font-weight:800;

  letter-spacing:.08em;

  padding-top:3px;
}

.kz-feature-list strong{
  font-size:17px;
}

.kz-feature-list p{
  color:#aeb4af;

  margin:7px 0 0;

  font-size:14px;

  line-height:1.6;
}

.kz-feature-grid__visual{
  position:relative;
}

.kz-feature-grid__visual img{
  width:100%;

  aspect-ratio:.82;

  object-fit:cover;

  border-radius:34px;

  filter:saturate(.9);
}

.kz-dimension-card{
  position:absolute;

  right:-26px;
  bottom:28px;

  background:#f5f0e8;

  color:var(--kz-dark);

  padding:20px 24px;

  border-radius:20px;

  box-shadow:var(--kz-shadow);
}

.kz-dimension-card span{
  display:block;

  font-size:11px;

  color:#6f706b;

  text-transform:uppercase;

  letter-spacing:.11em;
}

.kz-dimension-card strong{
  font-size:24px;

  display:inline-block;

  margin-top:4px;
}

.kz-dimension-card small{
  font-size:12px;

  color:#6f706b;
}


/* =========================================================
   USE
========================================================= */

.kz-use{
  background:var(--kz-paper);
}

.kz-use__grid{
  display:grid;

  grid-template-columns:
    1.25fr .75fr .75fr;

  gap:18px;
}

.kz-use-card{
  position:relative;

  min-height:500px;

  border-radius:26px;

  overflow:hidden;

  background:#d6d3cc;

  color:#fff;
}

.kz-use-card img{
  position:absolute;

  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;
}

.kz-use-card:after{
  content:'';

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(14,17,15,.04) 35%,
      rgba(14,17,15,.75) 100%
    );
}

.kz-use-card>div{
  position:absolute;

  z-index:2;

  left:24px;
  right:24px;
  bottom:24px;
}

.kz-use-card span{
  font-size:11px;

  letter-spacing:.1em;

  color:#e3cfaa;
}

.kz-use-card h3{
  font-family:Georgia,serif;

  font-size:29px;

  font-weight:500;

  margin:6px 0 4px;
}

.kz-use-card p{
  margin:0;

  color:rgba(255,255,255,.78);

  font-size:13px;

  line-height:1.55;
}


/* =========================================================
   CALCULATOR
========================================================= */

.kz-calc-section{
  background:#e9e4da;
}

.kz-calc{
  display:grid;

  grid-template-columns:
    .8fr 1.2fr;

  gap:90px;

  align-items:start;
}

.kz-calc__copy{
  position:sticky;

  top:120px;
}

.kz-calc__copy>p{
  color:#656962;

  font-size:17px;

  line-height:1.72;

  margin:24px 0 0;
}

.kz-calc__note{
  margin-top:24px;

  padding-top:18px;

  border-top:
    1px solid rgba(32,34,31,.14);

  color:#777a74;

  font-size:13px;

  line-height:1.55;
}

.kz-calc__panel{
  background:#fff;

  border-radius:30px;

  padding:30px;

  box-shadow:
    0 22px 65px rgba(31,36,34,.08);
}

.kz-form-grid{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:18px;
}

.kz-form-grid label,
.kz-lead-form>label:not(.kz-checkbox){
  display:flex;

  flex-direction:column;

  gap:8px;
}

.kz-form-grid label>span,
.kz-lead-form label>span:first-child{
  font-size:12px;

  font-weight:750;

  color:#51554f;
}

.kz-form-grid input,
.kz-form-grid select,
.kz-lead-form input[type=text],
.kz-lead-form input[type=tel]{
  width:100%;

  height:54px;

  border:
    1px solid rgba(32,34,31,.15);

  background:#faf9f6;

  border-radius:14px;

  padding:0 15px;

  color:var(--kz-ink);

  outline:none;

  transition:
    border .2s,
    box-shadow .2s;
}

.kz-form-grid input:focus,
.kz-form-grid select:focus,
.kz-lead-form input:focus{
  border-color:var(--kz-gold);

  box-shadow:
    0 0 0 4px rgba(169,135,76,.12);
}

.kz-form-grid__wide{
  grid-column:1/-1;
}

.kz-result{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:12px;

  margin:24px 0;
}

.kz-result>div{
  border:
    1px solid var(--kz-line);

  border-radius:18px;

  padding:18px;

  display:flex;

  flex-direction:column;
}

.kz-result span{
  font-size:11px;

  text-transform:uppercase;

  letter-spacing:.08em;

  color:var(--kz-muted);
}

.kz-result strong{
  font-size:32px;

  letter-spacing:-.03em;

  margin-top:2px;
}

.kz-result small{
  font-size:12px;

  color:var(--kz-muted);
}

.kz-result__total{
  grid-column:1/-1;

  background:#f2eee6;

  border-color:#e7dfd1!important;

  flex-direction:row!important;

  align-items:center;

  justify-content:space-between;
}

.kz-result__total strong{
  font-size:25px;

  margin:0;
}

.kz-result__total strong span{
  font-size:inherit;

  color:inherit;

  letter-spacing:inherit;

  text-transform:none;
}

.kz-micro{
  font-size:11px!important;

  color:#858982!important;

  line-height:1.5!important;

  margin:12px 0 0!important;

  text-align:center;
}


/* =========================================================
   BENEFITS
========================================================= */

.kz-benefits__grid{
  display:grid;

  grid-template-columns:
    repeat(4,1fr);

  border-top:
    1px solid var(--kz-line);

  border-left:
    1px solid var(--kz-line);
}

.kz-benefits article{
  padding:28px;

  border-right:
    1px solid var(--kz-line);

  border-bottom:
    1px solid var(--kz-line);

  min-height:235px;
}

.kz-benefits article>span{
  font-size:11px;

  color:var(--kz-gold-dark);

  font-weight:800;

  letter-spacing:.1em;
}

.kz-benefits h3{
  font-family:Georgia,serif;

  font-weight:500;

  font-size:24px;

  margin:38px 0 10px;
}

.kz-benefits p{
  margin:0;

  color:var(--kz-muted);

  font-size:14px;

  line-height:1.65;
}


/* =========================================================
   FAQ
========================================================= */

.kz-faq{
  background:var(--kz-paper);
}

.kz-faq__grid{
  display:grid;

  grid-template-columns:
    .75fr 1.25fr;

  gap:100px;
}

.kz-faq__grid>div:first-child>p{
  color:var(--kz-muted);

  line-height:1.7;

  margin:22px 0 28px;
}

.kz-faq__items{
  border-top:
    1px solid var(--kz-line);
}

.kz-faq details{
  border-bottom:
    1px solid var(--kz-line);

  padding:0;
}

.kz-faq summary{
  list-style:none;

  padding:
    22px 42px
    22px 0;

  font-weight:750;

  cursor:pointer;

  position:relative;
}

.kz-faq summary::-webkit-details-marker{
  display:none;
}

.kz-faq summary:after{
  content:'+';

  position:absolute;

  right:4px;
  top:17px;

  font-size:26px;

  font-weight:300;

  color:var(--kz-gold-dark);

  transition:transform .2s;
}

.kz-faq details[open] summary:after{
  transform:rotate(45deg);
}

.kz-faq details p{
  color:var(--kz-muted);

  font-size:14px;

  line-height:1.7;

  margin:0;

  padding:
    0 50px
    22px 0;
}


/* =========================================================
   FINAL CTA
========================================================= */

.kz-final{
  position:relative;

  min-height:610px;

  display:flex;
  align-items:center;

  color:#fff;

  overflow:hidden;
}

.kz-final__bg{
  position:absolute;

  inset:0;
}

.kz-final__bg img{
  width:100%;
  height:100%;

  object-fit:cover;
}

.kz-final__bg:after{
  content:'';

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(18,21,19,.88),
      rgba(18,21,19,.54) 55%,
      rgba(18,21,19,.18)
    );
}

.kz-final__inner{
  position:relative;

  z-index:2;

  padding-top:80px;
  padding-bottom:80px;
}

.kz-final h2{
  max-width:720px;

  font-size:
    clamp(40px,5vw,62px);
}

.kz-final p{
  max-width:620px;

  color:rgba(255,255,255,.8);

  font-size:17px;

  line-height:1.7;

  margin:22px 0 30px;
}


/* =========================================================
   FOOTER
========================================================= */

.kz-footer{
  background:#171a18;

  color:#fff;

  padding:42px 0 24px;
}

.kz-footer__inner{
  display:grid;

  grid-template-columns:
    auto 1fr auto;

  gap:36px;

  align-items:center;
}

.kz-brand--footer .kz-brand__mark{
  border-color:
    rgba(255,255,255,.34);
}

.kz-footer__meta{
  color:#9ca09c;

  font-size:13px;
}

.kz-footer__contacts{
  display:flex;

  flex-direction:column;

  align-items:flex-end;

  gap:4px;

  font-size:13px;
}

.kz-footer__contacts a:first-child{
  font-weight:750;

  font-size:16px;
}

.kz-footer__bottom{
  border-top:
    1px solid rgba(255,255,255,.1);

  margin-top:30px;

  padding-top:18px;

  display:flex;

  justify-content:space-between;

  color:#888d88;

  font-size:12px;
}

.kz-footer__bottom a:hover{
  color:#fff;
}


/* =========================================================
   MOBILE BAR
========================================================= */

.kz-mobile-bar{
  display:none;
}


/* =========================================================
   MODAL
========================================================= */

.kz-modal{
  position:fixed;

  inset:0;

  z-index:100;

  display:grid;

  place-items:center;

  padding:20px;

  opacity:0;

  visibility:hidden;

  transition:.2s ease;
}

.kz-modal.is-open{
  opacity:1;

  visibility:visible;
}

.kz-modal__overlay{
  position:absolute;

  inset:0;

  background:rgba(14,17,15,.68);

  backdrop-filter:blur(5px);
}

.kz-modal__dialog{
  position:relative;

  z-index:2;

  width:min(520px,100%);

  max-height:
    calc(100vh - 40px);

  overflow:auto;

  background:#fff;

  border-radius:28px;

  padding:34px;

  box-shadow:
    0 30px 100px rgba(0,0,0,.26);

  transform:
    translateY(10px)
    scale(.985);

  transition:.2s ease;
}

.kz-modal.is-open .kz-modal__dialog{
  transform:none;
}

.kz-modal__dialog h2{
  font-family:Georgia,serif;

  font-weight:500;

  font-size:38px;

  line-height:1.08;

  margin:0;
}

.kz-modal__dialog>p{
  color:var(--kz-muted);

  line-height:1.6;

  margin:14px 0 22px;
}

.kz-modal__close{
  position:absolute;

  right:16px;
  top:14px;

  width:38px;
  height:38px;

  border:0;

  border-radius:50%;

  background:#f2f0eb;

  color:#565a54;

  font-size:26px;

  line-height:1;
}

.kz-lead-form{
  display:flex;

  flex-direction:column;

  gap:16px;
}

.kz-checkbox{
  display:grid!important;

  grid-template-columns:
    18px 1fr;

  gap:10px;

  align-items:start;
}

.kz-checkbox input{
  margin:3px 0 0;

  width:16px;
  height:16px;

  accent-color:var(--kz-dark);
}

.kz-checkbox span{
  font-size:11px!important;

  font-weight:500!important;

  color:#747872!important;

  line-height:1.45;
}

.kz-checkbox a{
  text-decoration:underline;
}

.kz-field-error{
  color:#a33f39;

  font-size:11px;

  min-height:0;
}

.kz-form-success,
.kz-form-error{
  padding:12px 14px;

  border-radius:12px;

  font-size:13px;

  margin:0 0 18px;
}

.kz-form-success{
  background:#edf6ee;

  color:#2d6a36;
}

.kz-form-error{
  background:#fbefee;

  color:#8a3530;
}


/* =========================================================
   TABLET / SMALL DESKTOP
========================================================= */

@media (max-width:1080px){

  .kz-nav{
    display:none;
  }


  .kz-hero__grid{
    gap:40px;

    grid-template-columns:
      1fr 1fr;
  }


  /* HERO PHOTO */

  .kz-hero__image-wrap{
    width:100%;
    max-width:460px;

    height:570px;

    min-height:0;
  }


  .kz-hero__image-wrap img{
    width:100%;
    height:100%;

    min-height:0;

    object-fit:cover;
  }


  .kz-section{
    padding:90px 0;
  }


  .kz-use__grid{
    grid-template-columns:
      1.2fr .8fr;
  }


  .kz-use-card:last-child{
    grid-column:1/-1;

    min-height:390px;
  }


  .kz-benefits__grid{
    grid-template-columns:
      repeat(2,1fr);
  }


  .kz-feature-grid{
    gap:55px;
  }


  .kz-faq__grid{
    gap:60px;
  }


  .kz-calc{
    gap:55px;
  }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:820px){

  .kz-container{
    width:min(
      100% - 32px,
      var(--kz-container)
    );
  }


  .kz-header__inner{
    min-height:68px;
  }


  .kz-phone{
    display:none;
  }


  .kz-header__actions .kz-btn{
    display:none;
  }


  .kz-brand__mark{
    width:31px;
    height:31px;
  }


  .kz-hero{
    padding:42px 0 60px;
  }


  .kz-hero__grid{
    grid-template-columns:1fr;

    gap:36px;
  }


  .kz-hero__content{
    order:1;
  }


  .kz-hero__visual{
    order:2;

    justify-content:center;
  }


  .kz-hero h1{
    font-size:48px;
  }


  .kz-hero__lead{
    font-size:17px;
  }


  /* HERO PHOTO */

  .kz-hero__image-wrap{
    width:100%;
    max-width:none;

    height:460px;

    min-height:0;
  }


  .kz-hero__image-wrap img{
    width:100%;
    height:100%;

    min-height:0;

    object-fit:cover;

    object-position:55% center;
  }


  .kz-strip__grid{
    grid-template-columns:
      1fr 1fr;
  }


  .kz-strip__grid>div{
    border-bottom:
      1px solid var(--kz-line);

    padding:20px;
  }


  .kz-strip__grid>div:nth-child(2n){
    border-right:0;
  }


  .kz-strip__grid>div:first-child{
    padding-left:20px;
  }


  .kz-section{
    padding:72px 0;
  }


  .kz-section__head{
    grid-template-columns:1fr;

    gap:18px;

    margin-bottom:32px;
  }


  .kz-products{
    grid-template-columns:1fr;
  }


  .kz-product p{
    min-height:0;
  }


  .kz-feature-grid{
    grid-template-columns:1fr;

    gap:38px;
  }


  .kz-feature-grid__visual img{
    aspect-ratio:1.1;
  }


  .kz-dimension-card{
    right:14px;
    bottom:14px;
  }


  .kz-use__grid{
    grid-template-columns:1fr;
  }


  .kz-use-card,
  .kz-use-card:last-child{
    grid-column:auto;

    min-height:440px;
  }


  .kz-calc{
    grid-template-columns:1fr;

    gap:34px;
  }


  .kz-calc__copy{
    position:static;
  }


  .kz-benefits__grid{
    grid-template-columns:
      1fr 1fr;
  }


  .kz-faq__grid{
    grid-template-columns:1fr;

    gap:38px;
  }


  .kz-footer__inner{
    grid-template-columns:1fr;

    gap:16px;
  }


  .kz-footer__contacts{
    align-items:flex-start;
  }


  .kz-mobile-bar{
    display:grid;

    grid-template-columns:
      .72fr 1.28fr;

    position:fixed;

    left:10px;
    right:10px;
    bottom:10px;

    z-index:60;

    background:rgba(28,31,29,.96);

    padding:7px;

    border-radius:18px;

    box-shadow:
      0 18px 50px rgba(0,0,0,.25);

    backdrop-filter:blur(12px);
  }


  .kz-mobile-bar a,
  .kz-mobile-bar button{
    height:48px;

    border:0;

    border-radius:13px;

    display:grid;

    place-items:center;

    color:#fff;

    background:transparent;

    font-size:13px;

    font-weight:750;
  }


  .kz-mobile-bar button{
    background:#fff;

    color:#1d211e;
  }


  .kz-footer{
    padding-bottom:90px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:560px){

  .kz-container{
    width:calc(100% - 28px);
  }


  .kz-header__inner{
    min-height:62px;
  }


  .kz-brand__text{
    font-size:12px;
  }


  .kz-hero{
    padding-top:32px;
  }


  .kz-hero h1{
    font-size:39px;
  }


  .kz-hero__lead{
    font-size:16px;

    margin-top:19px;
  }


  .kz-hero__price{
    margin-top:22px;
  }


  .kz-hero__price strong{
    font-size:28px;
  }


  .kz-hero__actions{
    display:grid;
  }


  .kz-hero__actions .kz-btn{
    width:100%;
  }


  .kz-checks{
    display:grid;

    gap:9px;

    margin-top:24px;
  }


  /* HERO PHOTO MOBILE */

  .kz-hero__image-wrap{
    width:100%;
    max-width:none;

    height:390px;

    min-height:0;

    border-radius:26px;
  }


  .kz-hero__image-wrap img{
    width:100%;
    height:100%;

    min-height:0;

    object-fit:cover;

    object-position:55% center;

    border-radius:26px;
  }


  .kz-hero__badge{
    left:14px;
    bottom:14px;

    min-width:0;
  }


  .kz-strip__grid{
    grid-template-columns:1fr;
  }


  .kz-strip__grid>div,
  .kz-strip__grid>div:nth-child(2n){
    border-right:0;
  }


  .kz-section{
    padding:62px 0;
  }


  .kz-section h2{
    font-size:36px;
  }


  .kz-product__body{
    padding:20px;
  }


  .kz-product__top{
    align-items:flex-start;
  }


  .kz-product h3{
    font-size:25px;
  }


  .kz-feature-list>div{
    grid-template-columns:
      36px 1fr;
  }


  .kz-feature-grid__visual img{
    aspect-ratio:.95;

    border-radius:24px;
  }


  .kz-dimension-card{
    padding:15px 17px;
  }


  .kz-dimension-card strong{
    font-size:18px;
  }


  .kz-use-card,
  .kz-use-card:last-child{
    min-height:390px;
  }


  .kz-calc__panel{
    padding:20px;

    border-radius:22px;
  }


  .kz-form-grid{
    grid-template-columns:1fr;
  }


  .kz-form-grid__wide{
    grid-column:auto;
  }


  .kz-result{
    grid-template-columns:
      1fr 1fr;
  }


  .kz-result>div{
    padding:14px;
  }


  .kz-result strong{
    font-size:26px;
  }


  .kz-result__total{
    align-items:flex-start;

    gap:8px;

    flex-direction:column!important;
  }


  .kz-benefits__grid{
    grid-template-columns:1fr;
  }


  .kz-benefits article{
    min-height:0;
  }


  .kz-benefits h3{
    margin-top:26px;
  }


  .kz-faq summary{
    font-size:14px;
  }


  .kz-final{
    min-height:560px;
  }


  .kz-final h2{
    font-size:39px;
  }


  .kz-final__bg:after{
    background:rgba(18,21,19,.68);
  }


  .kz-footer__bottom{
    gap:14px;

    flex-direction:column;
  }


  .kz-modal{
    padding:10px;
  }


  .kz-modal__dialog{
    padding:27px 20px 24px;

    border-radius:22px;

    max-height:
      calc(100vh - 20px);
  }


  .kz-modal__dialog h2{
    font-size:34px;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  *,
  *:before,
  *:after{
    transition:none!important;
    animation:none!important;
  }

}


/* =========================================================
   LOGO
========================================================= */

.kz-brand{
  display:inline-flex;

  align-items:center;

  flex-shrink:0;
}

.kz-brand__logo{
  display:block;

  width:208px;

  height:auto;

  max-height:52px;

  object-fit:contain;
}

.kz-brand__logo--footer{
  width:208px;

  height:auto;

  max-height:52px;

  object-fit:contain;
}


@media (max-width:820px){

  .kz-brand__logo{
    width:165px;

    max-height:44px;
  }

}


@media (max-width:560px){

  .kz-brand__logo{
    width:145px;

    max-height:40px;
  }

}

/* =========================================================
   TECHNOLOGY — NEW BLOCK
   HTML classes: .kz-tech / .kz-tech__*
========================================================= */

.kz-tech{
  position:relative;
  padding:96px 0;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 76% 30%,rgba(169,135,76,.10),transparent 28%),
    radial-gradient(circle at 18% 8%,rgba(255,255,255,.035),transparent 28%),
    linear-gradient(135deg,#070a0b 0%,#101413 48%,#171a18 100%);
  color:#fff;
}
.kz-tech:before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:96px 96px;
  mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);
  opacity:.45;
}
.kz-tech__grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);
  gap:72px;
  align-items:center;
}
.kz-tech__content{min-width:0;max-width:610px}
.kz-tech__eyebrow{
  margin:0 0 18px;
  color:#c5a268;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.kz-tech .kz-tech__title{
  margin:0;
  max-width:610px;
  color:#fff;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(42px,4vw,61px);
  line-height:1.04;
  letter-spacing:-.035em;
  font-weight:500;
}
.kz-tech__title span{color:#c09a5d}
.kz-tech__lead{
  margin:25px 0 0;
  max-width:570px;
  color:rgba(255,255,255,.68);
  font-size:16px;
  line-height:1.72;
}
.kz-tech__list{
  margin-top:38px;
  border-top:1px solid rgba(255,255,255,.13);
}
.kz-tech-item{
  display:grid;
  grid-template-columns:54px 34px minmax(0,1fr);
  gap:16px;
  align-items:center;
  min-height:112px;
  padding:20px 0;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.kz-tech-item__icon{
  position:relative;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(192,154,93,.35);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(192,154,93,.08),rgba(255,255,255,.015));
}
.kz-tech-item__icon span{
  position:relative;
  width:22px;
  height:22px;
  display:block;
}
/* texture icon */
.kz-tech-item__icon:not(.kz-tech-item__icon--mix):not(.kz-tech-item__icon--block) span{
  border:1px solid #c09a5d;
}
.kz-tech-item__icon:not(.kz-tech-item__icon--mix):not(.kz-tech-item__icon--block) span:before{
  content:'';
  position:absolute;
  inset:4px;
  background:
    radial-gradient(circle at 20% 25%,#c09a5d 0 1px,transparent 1.5px),
    radial-gradient(circle at 72% 28%,#c09a5d 0 1.2px,transparent 1.7px),
    radial-gradient(circle at 42% 62%,#c09a5d 0 1px,transparent 1.6px),
    radial-gradient(circle at 78% 76%,#c09a5d 0 1px,transparent 1.5px),
    radial-gradient(circle at 20% 82%,#c09a5d 0 1px,transparent 1.4px);
}
/* colormix icon */
.kz-tech-item__icon--mix span:before,
.kz-tech-item__icon--mix span:after,
.kz-tech-item__icon--mix:before{
  content:'';
  position:absolute;
  width:13px;
  height:13px;
  border:1px solid #c09a5d;
  border-radius:50%;
}
.kz-tech-item__icon--mix span:before{left:0;top:5px}
.kz-tech-item__icon--mix span:after{right:0;top:5px}
.kz-tech-item__icon--mix:before{left:16px;top:9px;transform:translateX(-50%)}
/* block icon */
.kz-tech-item__icon--block span{
  width:24px;
  height:15px;
  border:1px solid #c09a5d;
  transform:skewY(-24deg);
}
.kz-tech-item__icon--block span:before{
  content:'';
  position:absolute;
  width:24px;
  height:15px;
  left:5px;
  top:-6px;
  border:1px solid #c09a5d;
  background:transparent;
}
.kz-tech-item__num{
  align-self:start;
  padding-top:7px;
  color:#c5a268;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
}
.kz-tech-item__body h3{
  margin:0 0 7px;
  color:#fff;
  font-size:16px;
  line-height:1.35;
  font-weight:750;
}
.kz-tech-item__body p{
  margin:0;
  max-width:430px;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.62;
}
.kz-tech__visual{min-width:0}
.kz-tech__visual-inner{
  position:relative;
  width:100%;
  height:650px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:32px;
  background:#181a18;
  box-shadow:0 34px 90px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035);
}
.kz-tech__visual-inner:before{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,10,9,.24),transparent 30%,transparent 76%,rgba(7,10,9,.16)),
    linear-gradient(180deg,rgba(7,10,9,.08),transparent 48%,rgba(7,10,9,.34));
}
.kz-tech__visual-inner img{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 56%;
  transform:scale(1.05);
  filter:brightness(.57) contrast(1.18) saturate(.60);
}
.kz-tech__grid-lines{
  position:absolute;
  inset:34px;
  z-index:3;
  pointer-events:none;
  opacity:.42;
  background:
    linear-gradient(rgba(213,193,158,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(213,193,158,.16) 1px,transparent 1px);
  background-size:118px 118px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.4) 72%,transparent 100%);
}
.kz-tech__grid-lines:before,
.kz-tech__grid-lines:after{
  content:'';
  position:absolute;
  pointer-events:none;
}
.kz-tech__grid-lines:before{
  left:6%;
  right:6%;
  top:8%;
  height:1px;
  background:rgba(213,193,158,.28);
  box-shadow:0 2px 0 rgba(0,0,0,.18);
}
.kz-tech__grid-lines:after{
  top:4%;
  bottom:12%;
  right:8%;
  width:1px;
  background:rgba(213,193,158,.22);
}
.kz-tech__size-label{
  position:absolute;
  right:28px;
  bottom:28px;
  z-index:5;
  min-width:285px;
  padding:17px 20px 18px;
  border:1px solid rgba(192,154,93,.22);
  border-radius:18px;
  background:rgba(9,12,11,.82);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 44px rgba(0,0,0,.34);
}
.kz-tech__size-label span{
  display:block;
  color:#bd985d;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.kz-tech__size-label strong{
  display:inline-block;
  margin-top:7px;
  color:#fff;
  font-size:23px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.01em;
}
.kz-tech__size-label small{
  margin-left:5px;
  color:rgba(255,255,255,.66);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
}

@media (max-width:1180px){
  .kz-tech__grid{grid-template-columns:minmax(0,.9fr) minmax(450px,1.1fr);gap:44px}
  .kz-tech__visual-inner{height:600px}
}

@media (max-width:980px){
  .kz-tech{padding:82px 0}
  .kz-tech__grid{grid-template-columns:1fr;gap:42px}
  .kz-tech__content{max-width:none}
  .kz-tech .kz-tech__title{max-width:760px}
  .kz-tech__lead{max-width:720px}
  .kz-tech-item__body p{max-width:650px}
  .kz-tech__visual-inner{height:570px}
}

@media (max-width:820px){
  .kz-tech{padding:72px 0}
  .kz-tech .kz-tech__title{font-size:46px}
  .kz-tech__lead{font-size:16px}
  .kz-tech__visual-inner{height:520px;border-radius:26px}
  .kz-tech__size-label{right:18px;bottom:18px;min-width:245px}
}

@media (max-width:560px){
  .kz-tech{padding:62px 0}
  .kz-tech .kz-tech__title{font-size:36px;line-height:1.06}
  .kz-tech__lead{margin-top:20px;font-size:15px}
  .kz-tech__list{margin-top:28px}
  .kz-tech-item{grid-template-columns:44px 28px minmax(0,1fr);gap:10px;min-height:0;padding:17px 0;align-items:start}
  .kz-tech-item__icon{width:38px;height:38px;border-radius:11px}
  .kz-tech-item__icon span{transform:scale(.86)}
  .kz-tech-item__num{padding-top:5px;font-size:10px}
  .kz-tech-item__body h3{font-size:14px;margin-bottom:5px}
  .kz-tech-item__body p{font-size:12px;line-height:1.55}
  .kz-tech__visual-inner{height:430px;border-radius:22px}
  .kz-tech__visual-inner img{object-position:center 55%;transform:scale(1.08)}
  .kz-tech__grid-lines{inset:20px;background-size:80px 80px}
  .kz-tech__size-label{right:12px;bottom:12px;min-width:0;padding:13px 15px;border-radius:14px}
  .kz-tech__size-label strong{font-size:18px}
}



/* =========================================================
   FINAL CTA — FINAL
========================================================= */

.kz-final{
    min-height:520px;
}

.kz-final__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

@media (max-width:560px){

    .kz-final{
        min-height:500px;
    }

}