 :root{
      --brand-red:#8c0014;
      --brand-blue:#8c0014;
      --text:#1f2937;
      --muted:#6b7280;
      --line:#e5e7eb;
      --bg:#f7f7f7;
      --container:1460px;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", sans-serif;
      color:var(--text);
      background:#fff;
        padding-top: var(--header-h, 0px);
    }
    a{color:inherit; text-decoration:none}
    .container{
      max-width:var(--container);
      margin:0 auto;
      padding:0 18px;
    }
/* HERO IMG: safe for desktop + mobile */
.hero__image{
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

/* Bottom geography + contacts redesign */
.geo{
  background:linear-gradient(180deg,#fff 0%,#fffafa 100%) !important;
  padding:66px 0 46px !important;
  border-top:1px solid #e6edf8 !important;
  overflow:hidden;
}
.geo__layout{
  display:grid;
  grid-template-columns:minmax(830px, 1.24fr) minmax(520px, .76fr);
  gap:44px;
  align-items:center;
}
.geo__content{
  min-width:0;
}
.geo__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:38px;
  padding:0 18px 0 14px;
  margin-bottom:18px;
  border-radius:14px;
  background:#edf4ff;
  color:#3a0710;
  font-size:14px;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.geo__badge::before{
  content:"";
  width:17px;
  height:17px;
  background:#8c0014;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.7A2.7 2.7 0 1 1 12 6.3a2.7 2.7 0 0 1 0 5.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.7A2.7 2.7 0 1 1 12 6.3a2.7 2.7 0 0 1 0 5.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.geo__head h2{
  margin:0 !important;
  color:#230f13 !important;
  font-size:46px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-.012em;
}
.geo__head p{
  margin:16px 0 0 !important;
  color:#52607d !important;
  font-size:17px !important;
  line-height:1.5 !important;
}
.geo__grid{
  margin-top:24px !important;
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:12px !important;
}
.city-card{
  min-height:60px;
  padding:0 !important;
  border:1px solid #e5edf8 !important;
  border-radius:9px;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(20,48,90,.08) !important;
  position:relative;
}
.city-card__top{
  height:100%;
  display:grid !important;
  grid-template-columns:24px minmax(0, 1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:8px;
  margin:0 !important;
  padding:10px 9px;
  justify-content:start !important;
}
.city-card__top::before{
  content:"";
  grid-row:1 / 3;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#edf4ff;
  box-shadow:inset 0 0 0 1px #e0ebff;
}
.city-card::after{
  content:"";
  position:absolute;
  left:17px;
  top:22px;
  width:12px;
  height:12px;
  background:#8c0014;
  transform:rotate(-34deg);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='m20.7 3.3-8.1 18-2.7-7.2-7.2-2.7 18-8.1Z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='m20.7 3.3-8.1 18-2.7-7.2-7.2-2.7 18-8.1Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.city-card__name{
  min-width:0;
  color:#230f13 !important;
  font-size:13px !important;
  line-height:1.2;
  font-weight:900 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pill,
.pill--red{
  grid-column:2;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#7b87a2 !important;
  font-size:11px !important;
  line-height:1.25;
  font-weight:600 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.geo__note{
  position:relative;
  margin:18px 0 0 !important;
  padding-left:62px;
  color:#6a7691;
  font-size:16px;
  line-height:1.45;
}
.geo__note::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:44px;
  height:44px;
  border-radius:10px;
  background:#edf4ff;
}
.geo__note::after{
  content:"";
  position:absolute;
  left:13px;
  top:13px;
  width:18px;
  height:18px;
  background:#8c0014;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.2-1.2a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.2-1.2a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.geo__note a{
  color:#8c0014;
  font-weight:900;
}
.geo__map{
  margin:0;
  min-width:0;
  transform:translateX(24px);
}
.geo__map img{
  display:block;
  width:112%;
  max-width:none;
  height:auto;
  filter:drop-shadow(0 22px 42px rgba(30,88,160,.10));
}

.contacts{
  background:#fff !important;
  padding:36px 0 54px !important;
  border-top:1px solid #dfe7f4 !important;
}
.contacts__wrap{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:70px !important;
  align-items:center !important;
}
.contacts__left{
  padding-left:0;
}
.contacts__title{
  color:#230f13 !important;
  font-size:34px !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  letter-spacing:-.01em;
}
.contacts__lead{
  max-width:420px !important;
  margin-top:12px !important;
  color:#64708c !important;
  font-size:15px !important;
}
.contacts .contacts__form{
  position:relative;
  width:100%;
  margin-top:22px !important;
  padding:28px 26px 24px 98px !important;
  border:1px solid #e4ebf5 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 18px 46px rgba(20,48,90,.08) !important;
}
.contacts .contacts__form::before{
  content:"";
  position:absolute;
  left:32px;
  top:32px;
  width:52px;
  height:52px;
  border-radius:50%;
  background:#edf4ff;
}
.contacts .contacts__form::after{
  content:"";
  position:absolute;
  left:48px;
  top:48px;
  width:20px;
  height:20px;
  background:#8c0014;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.2-1.2a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.2-1.2a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.contacts .contacts__row{
  grid-template-columns:minmax(0, 1fr) minmax(218px, .95fr) !important;
  gap:16px !important;
}
.contacts .contacts__input{
  height:58px !important;
  border-radius:8px !important;
  border-color:#dce5f1 !important;
  color:#230f13;
  font-size:16px !important;
}
.contacts .contacts__btn{
  height:58px !important;
  border-radius:8px !important;
  background:linear-gradient(135deg,#8c0014 0%,#5f0010 100%) !important;
  box-shadow:0 15px 32px rgba(140,0,20,.22) !important;
  font-size:16px !important;
}
.contacts .contacts__btn-ico{
  width:30px;
  height:30px;
}
.contacts .contacts__note{
  margin-top:18px !important;
  color:#8a96ad !important;
  font-size:13px !important;
}
.contacts__right{
  min-height:320px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:
    radial-gradient(circle at 88% -10%, rgba(140,0,20,.85), transparent 24%),
    linear-gradient(135deg,#1a1012 0%,#3a0710 48%,#1a1012 100%) !important;
  box-shadow:0 20px 50px rgba(8,29,79,.22) !important;
}
.contacts__right::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 72%, rgba(255,255,255,.08) 72% 74%, transparent 74%),
    radial-gradient(circle at 92% 8%, rgba(255,255,255,.9), transparent 1.2%),
    radial-gradient(circle at 84% 19%, rgba(255,255,255,.6), transparent .7%);
  pointer-events:none;
}
.contacts__right-title{
  display:none !important;
}
.contacts__right-inner{
  padding:28px 50px 28px !important;
}
.contacts__items{
  margin:0 !important;
  display:grid !important;
  gap:0 !important;
}
.citem{
  min-height:74px;
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.citem:last-child{
  border-bottom:0;
}
.citem__ico{
  width:50px !important;
  height:50px !important;
  flex:0 0 50px !important;
  border-radius:50% !important;
  background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.55),rgba(255,255,255,.08) 54%,rgba(255,255,255,.02) 100%) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:inset 0 0 18px rgba(255,255,255,.14),0 10px 26px rgba(0,0,0,.22);
  color:transparent !important;
  font-size:0 !important;
  position:relative;
}
.citem__ico::before{
  content:"";
  width:23px;
  height:23px;
  background:#fff;
  position:absolute;
  inset:0;
  margin:auto;
  -webkit-mask:var(--contact-icon) center/contain no-repeat;
          mask:var(--contact-icon) center/contain no-repeat;
}
.citem:nth-child(1){--contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
.citem:nth-child(2){--contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.2-1.2a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E")}
.citem:nth-child(3){--contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.citem:nth-child(4){--contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.citem__k{
  margin-bottom:6px !important;
  color:rgba(255,255,255,.68) !important;
  font-size:13px !important;
  line-height:1;
  font-weight:700;
  letter-spacing:.04em;
}
.citem__v{
  color:#fff !important;
  font-size:16px !important;
  line-height:1.35;
  font-weight:600 !important;
}
.contacts__visual{
  display:none !important;
}

@media (max-width: 1180px){
  .geo__layout{
    grid-template-columns:1fr;
  }
  .geo__map{
    transform:none;
    max-width:760px;
    margin:10px auto 0;
  }
  .geo__map img{
    width:100%;
  }
  .contacts__left{
    padding-left:0;
  }
}
@media (max-width: 920px){
  .geo__head h2{
    font-size:36px !important;
  }
  .geo__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .contacts__wrap{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .contacts__right{
    min-height:0 !important;
  }
}
@media (max-width: 560px){
  .geo{
    padding-top:42px !important;
  }
  .geo__head h2{
    font-size:30px !important;
  }
  .geo__head p br,
  .geo__head h2 br{
    display:none;
  }
  .geo__grid{
    grid-template-columns:1fr !important;
  }
  .contacts__title{
    font-size:28px !important;
  }
  .contacts .contacts__form{
    padding:92px 18px 18px !important;
  }
  .contacts .contacts__form::before{
    left:18px;
    top:22px;
  }
  .contacts .contacts__form::after{
    left:34px;
    top:38px;
  }
  .contacts .contacts__row{
    grid-template-columns:1fr !important;
  }
  .contacts__right-inner{
    padding:20px 24px !important;
  }
}

/* Full-height master cards */
.cert .engineers-carousel{
  margin-top:34px !important;
}
.cert .engineers{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:28px !important;
  align-items:start !important;
}
.cert .eng{
  display:block !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:left !important;
}
.cert .eng::after{
  display:none !important;
}
.cert .eng img{
  display:block;
  width:100% !important;
  height:390px !important;
  border-radius:12px !important;
  object-fit:cover !important;
  object-position:center top !important;
  box-shadow:none !important;
  background:#ebe8e7;
}
.cert .eng:first-child img{
  object-position:center top !important;
}
.cert .eng__name{
  margin:20px 0 4px !important;
  color:#050b19 !important;
  font-size:20px !important;
  line-height:1.12 !important;
  font-weight:900 !important;
}
.cert .eng__role{
  margin:0 0 14px !important;
  color:#68748d;
  font-size:15px;
  line-height:1.35;
}
.cert .eng__exp{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  margin:0 !important;
  padding:0 18px;
  border:1px solid #d9e1ec;
  border-radius:8px;
  background:#fff;
  color:#050b19 !important;
  font-size:14px !important;
  line-height:1;
}
.cert .eng__exp b{
  color:inherit !important;
  font-weight:800 !important;
}

@media (max-width: 1060px){
  .cert .engineers{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px){
  .cert .engineers{
    grid-template-columns:1fr !important;
  }
  .cert .eng img{
    height:auto !important;
    aspect-ratio:1 / 1.15;
  }
}

/* Align wide inner blocks with the expanded site container */
.features .container,
.ask-expert .container,
.reviews .container{
  max-width:var(--container) !important;
}
.features__row,
.ask-expert__box,
.ask-expert--tabs .ask-expert__box,
.reviews__grid{
  width:100% !important;
  max-width:none !important;
}
.features__row{
  padding-left:28px !important;
  padding-right:28px !important;
}
.ask-expert__box{
  grid-template-columns:260px minmax(330px, 1fr) minmax(440px, 520px) 260px !important;
  gap:28px !important;
  padding-right:34px !important;
}
.ask-expert__visual img{
  width:230px !important;
}
.ask-expert--tabs .ask-expert__box{
  grid-template-columns:minmax(300px, .8fr) minmax(520px, 1fr) minmax(360px, .72fr) !important;
  gap:48px !important;
  padding-left:64px !important;
  padding-right:64px !important;
}
.reviews__grid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}
.cert .eng__name{
  color:#230f13 !important;
}

@media (max-width: 1060px){
  .ask-expert__box,
  .ask-expert--tabs .ask-expert__box{
    grid-template-columns:1fr !important;
  }
  .reviews__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px){
  .reviews__grid{
    grid-template-columns:1fr !important;
  }
}

/* Hero/header final sizing */
.topbar__row{
  gap:22px !important;
  padding:18px 0 16px !important;
}
.header-info{
  gap:26px !important;
}
.header-meta{
  gap:12px !important;
  font-size:14px !important;
  line-height:1.22 !important;
}
.header-meta b{
  font-size:17px !important;
  line-height:1.05 !important;
}
.header-meta__icon{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
}
.city .header-meta__icon::before{
  left:10px !important;
  top:8px !important;
  width:9px !important;
  height:9px !important;
}
.worktime .header-meta__icon::before{
  inset:7px !important;
}
.worktime .header-meta__icon::after{
  left:16px !important;
  top:10px !important;
}
.phones .header-meta__icon::before{
  left:10px !important;
  top:9px !important;
  width:13px !important;
  height:13px !important;
}
.phones .tel{
  font-size:26px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.01em;
}
.phones .small{
  font-size:13px !important;
  margin-top:5px !important;
}
.cta{
  min-width:178px !important;
}
.btn--primary{
  min-height:54px !important;
  padding:0 24px !important;
  font-size:15px !important;
}
.hero__inner{
  padding-top:18px !important;
  padding-bottom:54px !important;
}
.hero__panel{
  min-height:500px !important;
  grid-template-columns:minmax(420px, 46%) minmax(0, 1fr) !important;
}
.hero__panel .card{
  align-self:center !important;
  padding:26px 28px 30px 56px !important;
  transform:translateY(12px);
}
.hero__pill{
  margin-bottom:16px !important;
}
.card h1{
  font-size:39px !important;
  margin-bottom:16px !important;
}
.hero__list{
  gap:8px !important;
  margin-bottom:16px !important;
}
.hero__consult{
  margin-top:18px !important;
}
.hero__image{
  min-height:500px !important;
  align-items:flex-end !important;
}
.hero__image img{
  width:96% !important;
  transform:translate(8px, 0) !important;
}
.hero__image .floor{
  height:112px !important;
}
.badge{
  top:132px !important;
  right:-58px !important;
  width:78px !important;
  height:78px !important;
}
.features{
  margin-top:-44px !important;
}

/* Tighten hero height after image resize */
.hero__panel{
  height:520px !important;
  min-height:520px !important;
  max-height:520px !important;
}
.hero__panel .card{
  align-self:center !important;
  transform:translateY(-8px) !important;
}
.hero__image{
  height:520px !important;
  min-height:520px !important;
  overflow:hidden !important;
}
.hero__image img{
  width:auto !important;
  height:520px !important;
  max-width:none !important;
  transform:translate(0, 0) !important;
}
.hero__image .floor{
  height:96px !important;
}
.badge{
  top:178px !important;
}

.hero__image img{
  display:block;
  width:100%;
  height:100%;
  max-width:80%;
  object-fit:contain;    /* не растягивает */
  position:relative;
  z-index:2;             /* поверх затемнения ::before */
}

/* floor оставляем поверх низа */
.hero__image .floor{
  z-index:3;
}
    /* Top header */
    .topbar{
      background:#fff;
      border-bottom:1px solid var(--line);
    }

    /* ===== Fixed header wrapper (desktop + mobile) ===== */
    .site-header{
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 10000;
      background: #fff;
    }
    .topbar__row{
      display:flex;
      align-items:center;
      gap:18px;
      padding:14px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:240px;
    }
    .brand__logo{
      width:56px;height:56px;flex:0 0 56px;
      border:2px solid #11182722;
      border-radius:50%;
      display:grid;
      place-items:center;
    }
    .brand__logo svg{width:36px;height:36px}
    .brand__name{
      line-height:1.1;
      font-weight:700;
      letter-spacing:.2px;
    }
    .brand__sub{
      display:block;
      margin-top:3px;
      font-weight:500;
      color:var(--muted);
      font-size:12px;
    }

    .header-info{
      display:flex;
      align-items:flex-start;
      gap:22px;
      flex:1;
      justify-content:space-between;
    }
    .header-info__title{
      font-weight:700;
      font-size:16px;
      line-height:1.25;
      max-width:360px;
    }
    .city{
      font-size:13px;
      color:var(--muted);
      line-height:1.3;
      white-space:nowrap;
    }
    .city b{color:#111827; font-weight:700}
    .city a{
      color: #8c0014;
      font-weight:600;
      border-bottom:1px dashed #8c0014;
    }
    .phones{
      text-align:right;
      white-space:nowrap;
    }
    .phones .small{
      font-size:12px;
      color:var(--muted);
      margin-bottom:2px;
    }
    .phones .tel{
      font-size:22px;
      font-weight:800;
      letter-spacing:.3px;
    }
    /* Картинка сертификата — стабильная сетка, ничего не расползается */
.cert-img{
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
.cert-card .cert-img{
  aspect-ratio: 3 / 4;
  object-fit: contain;
  background: #fff;
}
    .cta{
      margin-left:8px;
      display:flex;
      justify-content:flex-end;
      align-items:center;
      min-width:220px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:12px 16px;
      border-radius:4px;
      border:1px solid transparent;
      font-weight:700;
      cursor:pointer;
      user-select:none;
      transition:.15s ease;
    }
    .btn--primary{
      background: #8c0014;
      color:#fff;
      box-shadow:0 6px 16px rgba(29,94,168,.18);
    }
    .btn--primary:hover{filter:brightness(1.04)}
    .btn--primary:active{transform:translateY(1px)}
    .btn--ghost{
      background:#fff;
      border-color:#cbd5e1;
      color:#0f172a;
    }
    .btn--ghost:hover{background:#f8fafc}

    /* Navigation */
    .nav{
      background:#fff;
      border-bottom:1px solid var(--line);
    }
    .nav__row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:10px 0;
      flex-wrap:wrap;
    }
    .nav__links{
      display:flex;
      gap:18px 26px;
      flex-wrap:wrap;
      align-items:center;
      color:#0f172a;
      font-weight:600;
      font-size:14px;
    }
    .nav__links a{padding:8px 0}
    .nav__links a:hover{color:var(--brand-blue)}
    .nav__right{
      display:flex;
      gap:14px;
      align-items:center;
      margin-left:auto;
    }

    /* Hero */
    .hero{
      background:
        linear-gradient(90deg, rgba(0,0,0,.10), rgba(0,0,0,0) 35%),
        radial-gradient(1100px 380px at 30% 50%, rgba(0,0,0,.08), transparent 65%),
        linear-gradient(0deg, #ffffff, #ffffff);
      position:relative;
      overflow:hidden;
    }
    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,0) 55%),
        linear-gradient(0deg, rgba(255,255,255,.35), rgba(255,255,255,.35));
      opacity:.55;
      pointer-events:none;
    }
    .hero__inner{
      position:relative;
      padding:18px 0 0;
    }
    .breadcrumbs{
      font-size:12px;
      color:#94a3b8;
      margin:8px 0 10px;
    }
    .breadcrumbs a{color:#94a3b8}
    .breadcrumbs span{color:#64748b; font-weight:600}
    .hero__panel{
      display:grid;
      grid-template-columns: 520px 1fr;
      gap:26px;
      align-items:stretch;
      padding:18px 0 24px;
      min-height:420px;
    }

    .card{
      background:#fff;
      border-radius:6px;
      box-shadow: 0 18px 60px rgba(15,23,42,.12);
      padding:34px 34px 28px;
      position:relative;
      z-index:2;
    }
    .card h1{
      font-size:40px;
      line-height:1.05;
      margin:0 0 14px;
      font-weight:800;
      letter-spacing:.2px;
      color:#111827;
    }
    .card .desc{
      margin:0 0 18px;
      color:#111827;
      font-size:17px;
      line-height:1.55;
      max-width:420px;
    }
    .card .desc b{font-weight:800}
    .form{
      display:flex;
      align-items:center;
      gap:10px;
      margin-top:14px;
    }
    .input{
      flex:1;
      height:42px;
      border:1px solid #d1d5db;
      border-radius:3px;
      padding:10px 12px;
      font-size:14px;
      outline:none;
    }
    .input:focus{border-color:#94a3b8; box-shadow:0 0 0 3px rgba(148,163,184,.25)}
    .btn--order{
      height:42px;
      padding:0 25px;
      border-radius:2px;
    }

    .badge{
      position:absolute;
      top:-18px;
      right:-16px;
      width:90px;height:90px;
      background:var(--brand-red);
      color:#fff;
      border-radius:999px;
      display:grid;
      place-items:center;
      transform:rotate(-18deg);
      box-shadow:0 18px 40px rgba(227,6,19,.25);
    }
    .badge__text{
      text-align:center;
      font-weight:800;
      line-height:1.05;
      font-size:14px;
    }
    .badge__text small{
      display:block;
      font-weight:700;
      font-size:12px;
      opacity:.95;
      margin-bottom:6px;
    }
    .badge__text strong{
      font-size:22px;
      display:block;
    }

    .hero__image{
      position:relative;
      border-radius:6px;
      overflow:hidden;
      box-shadow: 0 18px 60px rgba(15,23,42,.12);
      background:
        linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.0)),
        linear-gradient(90deg, #c7c1b7 0, #c7c1b7 34%, #d1b48f 34%, #d1b48f 100%);
    }
    .hero__image::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(220px 220px at 75% 50%, rgba(0,0,0,.25), transparent 60%),
        linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,0) 45%);
      opacity:.35;
    }
    /* Faux washing machine */
    .wm{
      position:absolute;
      right:36px;
      top:60px;
      width:360px;
      height:360px;
      border-radius:10px;
      background:linear-gradient(180deg,#fafafa,#e9eef3);
      box-shadow:0 24px 70px rgba(0,0,0,.22);
      border:1px solid rgba(15,23,42,.12);
    }
    .wm::before{
      content:"";
      position:absolute;
      left:18px; top:18px;
      right:18px; height:78px;
      border-radius:8px;
      background:linear-gradient(180deg,#f1f5f9,#e5e7eb);
      border:1px solid rgba(15,23,42,.10);
    }
    .wm .door{
      position:absolute;
      left:68px; top:120px;
      width:224px; height:224px;
      border-radius:999px;
      background:radial-gradient(circle at 35% 30%, #fff, #cbd5e1 45%, #0f172a 72%);
      box-shadow: inset 0 0 0 10px rgba(255,255,255,.55);
    }
    .wm .glass{
      position:absolute;
      inset:22px;
      border-radius:999px;
      background:radial-gradient(circle at 40% 35%, rgba(255,255,255,.65), rgba(255,255,255,0) 48%),
                 radial-gradient(circle at 52% 55%, rgba(148,163,184,.60), rgba(15,23,42,.0) 55%),
                 radial-gradient(circle at 50% 50%, rgba(15,23,42,.35), rgba(15,23,42,.55));
      box-shadow: inset 0 0 0 2px rgba(255,255,255,.25);
    }
    .wm .knob{
      position:absolute;
      right:62px; top:44px;
      width:40px;height:40px;border-radius:999px;
      background:linear-gradient(180deg,#fff,#cbd5e1);
      border:1px solid rgba(15,23,42,.18);
      box-shadow:0 8px 20px rgba(0,0,0,.18);
    }
    .wm .screen{
      position:absolute;
      left:40px; top:44px;
      width:140px;height:40px;border-radius:8px;
      background:#0b1220;
      box-shadow: inset 0 0 0 2px rgba(255,255,255,.06);
    }
    .hero__image .floor{
      position:absolute;
      left:0; right:0; bottom:0;
      height:120px;
      background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.65));
    }

    /* Features row */
    .features{
      border-top:1px solid var(--line);
      background:#fff;
    }
    .features__row{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:26px;
      padding:18px 0 26px;
      align-items:start;
    }
    .feature{
      display:flex;
      gap:12px;
      align-items:flex-start;
      min-height:40px;
    }
    .ico{
      width:36px;height:36px;border-radius:10px;
      display:grid;place-items:center;
      border:1px solid #cbd5e1;
      background:#fff;
      flex:0 0 36px;
    }
    .feature h3{
      margin:0;
      font-size:18px;
      font-weight:800;
    }
    .feature p{
      margin:6px 0 0;
      font-size:13px;
      color:var(--muted);
      line-height:1.35;
    }

    /* Floating widget */
    .widget{
      position:fixed;
      right:18px;
      bottom:18px;
      display:flex;
      align-items:center;
      gap:10px;
      background:#8c0014;
      color:#fff;
      border-radius:6px;
      padding:10px 12px;
      box-shadow:0 16px 40px rgba(0,0,0,.22);
      z-index:50;
    }
    .widget__btn{
      width:44px;height:44px;border-radius:6px;
      background:var(--brand-red);
      display:grid;place-items:center;
      flex:0 0 44px;
      box-shadow:0 10px 24px rgba(227,6,19,.26);
    }
    .widget__text b{display:block; font-size:13px}
    .widget__text span{display:block; font-size:11px; opacity:.9}

    /* Pricing section */
    .pricing{
      background:#fff;
      padding:38px 0 48px;
      border-top:1px solid var(--line);
    }
    .pricing__head h2{
      margin:0;
      font-size:36px;
      font-weight:800;
      letter-spacing:.2px;
      color:#111827;
    }
    .pricing__sub{
      margin:10px 0 0;
      color:var(--brand-red);
      font-weight:700;
      font-size:16px;
    }
    .pricing__layout{
      display:grid;
     
      gap:28px;
      margin-top:22px;
      align-items:start;
    }
    .pricing__grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    .p-card{
      background:#f2f2f2;
      border:1px solid #ededed;
      padding:16px 16px 14px;
      min-height:116px;
      position:relative;
    }
    .p-card__title{
      font-size:16px;
      font-weight:700;
      color:#111827;
      margin-bottom:6px;
    }
    .p-card__desc{
      font-size:13px;
      line-height:1.35;
      color:#8a8a8a;
      min-height:34px;
    }
    .p-card__price{
      margin-top:14px;
      font-size:12px;
      font-weight:900;
      color:#8c0014;
      letter-spacing:.3px;
    }
    .arr{color:#94a3b8; font-weight:900}
    .p-card--blue{
      background:#8c0014;
      border-color:#8c0014;
      color:#fff;
      overflow:hidden;
    }
    .p-card--blue .p-card__title,
    .p-card--blue .p-card__desc,
    .p-card--blue .p-card__price{color:#fff}
    .p-card--blue .p-card__price{opacity:.95}
    .p-card__person{
      position:absolute;
      right:-18px;
      bottom:-10px;
      width:160px;
      height:160px;
      border-radius:999px;
      background:
        radial-gradient(circle at 35% 35%, rgba(255,255,255,.35), rgba(255,255,255,0) 55%),
        linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0)),
        radial-gradient(circle at 65% 65%, rgba(0,0,0,.25), rgba(0,0,0,0) 60%);
      opacity:.55;
    }

    .pricing__promo{
      grid-column: 1 / -1;
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
      margin-top:6px;
    }
    .promo{
      min-height:120px;
      padding:16px 16px 14px;
      position:relative;
      overflow:hidden;
      border:1px solid #e5e7eb;
    }
    .promo__t{font-weight:800; font-size:19px; color:#fff}
    .promo__d{margin-top:8px; font-size:15px; line-height:1.35; color:#fff; opacity:.92; max-width:230px}
    .promo__p{margin-top:16px; font-weight:900; letter-spacing:.3px; color:#fff; font-size:12px}
    .promo--red{background:#dc1f37}
    .promo--gray{background:#b9c7d3}
    .promo--green{background:#0aa04f}
    .promo__img{
      position:absolute;
      right:-18px;
      bottom:-18px;
      width:160px;
      height:160px;
      border-radius:18px;
      opacity:.45;
      background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.55), rgba(255,255,255,0) 55%);
      transform:rotate(-8deg);
    }
    .promo__img--tool{background:linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,0))}
    .promo__img--badge{border-radius:999px}
    .promo__img--part{transform:rotate(12deg)}

    .pricing__side{
      background:#fff;
    }
    .side-item{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:10px 0;
    }
    .thumb{
      width:44px;height:44px;
      border-radius:4px;
      background:linear-gradient(180deg,#cbd5e1,#94a3b8);
      flex:0 0 44px;
    }
    .thumb--2{background:linear-gradient(180deg,#d1d5db,#9ca3af)}
    .thumb--3{background:linear-gradient(180deg,#c7c1b7,#a8a29e)}
    .side-item__title{
      font-weight:800;
      font-size:13px;
      color:#111827;
      margin-bottom:4px;
    }
    .side-item__desc{
      font-size:12px;
      color:#9ca3af;
      margin-bottom:8px;
      line-height:1.25;
    }
    .side-item__price{
      font-weight:900;
      color:#e30613;
      font-size:12px;
      letter-spacing:.3px;
    }
    .divider{
      height:1px;
      background:#e5e7eb;
      margin:8px 0;
    }
    .price-list{
      list-style:none;
      margin:14px 0 0;
      padding:0;
      font-size:12px;
      color:#111827;
    }
    .price-list li{
      display:flex;
      justify-content:space-between;
      gap:12px;
      padding:7px 0;
      border-bottom:1px solid #eef2f7;
    }
    .price-list li b{
      color:#e30613;
      white-space:nowrap;
    }



/* Discount banner */
.discount{
  padding:40px 0 22px;
  background:#fff;
}
.discount__wrap{
  max-width:1150px;
  margin:0 auto;
  overflow:hidden;
  position:relative;
  background:linear-gradient(135deg,#8c0014 0%, #5f0010 55%, #3a0710 100%);
  box-shadow:0 18px 60px rgba(15,23,42,.12);
}
.discount__inner{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:20px;
  padding:34px 36px;
  min-height:260px;
  align-items:center;
}
.ticket{
  position:absolute;
  left:-18px;
  top:24px;
  width:84px;height:56px;
  background:#d10b10;
  transform:rotate(-8deg);
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  border-radius:2px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
  font-size:26px;
  letter-spacing:.5px;
}
.ticket::before,.ticket::after{
  content:"";
  position:absolute;
  left:-6px;
  top:0;
  width:12px;height:100%;
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0));
  opacity:.35;
  border-radius:2px;
}
.discount__title{
  display:inline-block;
  background:#e11b22;
  color:#fff;
  font-weight:900;
  font-size:44px;
  line-height:1;
  padding:10px 14px;
  margin:0 0 14px;
}
.discount__text{
  color:rgba(255,255,255,.86);
  font-size:22px;
  line-height:1.45;
  margin:0 0 22px;
  max-width:520px;
}
.discount__form{
  display:flex;
  gap:0;
  max-width:520px;
}
.discount__input{
  flex:1;
  height:52px;
  border:1px solid rgba(255,255,255,.35);
  border-right:none;
  background:#fff;
  padding:0 16px;
  font-size:16px;
  outline:none;
}
.discount__btn{
  height:52px;
  min-width:260px;
  border:none;
  background:#fff;
  color:#8c0014;
  font-weight:800;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  border-left:1px solid rgba(15,23,42,.12);
}
.discount__btn .gear{
  width:30px;height:30px;border-radius:999px;
  background:#8c0014;
  display:grid;place-items:center;
}
.discount__btn .gear svg{width:18px;height:18px}
.discount__visual{
  position:relative;
  height:260px;
}

/* Discount banner person image (z.webp)
   Keep the full figure visible and aligned to the bottom-right
   without breaking the grid on desktop/mobile. */
.discount__visual img{
  position:absolute;
  right:0;
  bottom:0;
  height:100%;
  width:auto;
  max-width:100%;
  object-fit:contain;
  display:block;
}
.tech{
  position:absolute;
  right:0;
  bottom:0;
  width:240px;
  height:260px;
  border-radius:14px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.65), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)),
    linear-gradient(135deg, rgba(0,0,0,.18), rgba(0,0,0,0) 55%);
  opacity:.95;
}
.wm2{
  position:absolute;
  right:180px;
  bottom:22px;
  width:190px;height:190px;
  border-radius:10px;
  background:linear-gradient(180deg,#f8fafc,#e5e7eb);
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 16px 50px rgba(0,0,0,.22);
  opacity:.9;
}
.wm2 .door{position:absolute; left:36px; top:58px; width:118px; height:118px; border-radius:999px; background:radial-gradient(circle at 40% 35%, #fff, #cbd5e1 50%, #111827 76%);}
.wm2 .door::after{content:""; position:absolute; inset:14px; border-radius:999px; background:radial-gradient(circle at 40% 35%, rgba(255,255,255,.55), rgba(255,255,255,0) 55%), radial-gradient(circle at 55% 55%, rgba(148,163,184,.55), rgba(15,23,42,0) 60%);}
.wm2 .panel{position:absolute; left:16px; top:16px; right:16px; height:36px; border-radius:8px; background:#0b1220; opacity:.18}

/* Tabs section */
.tabs-block{
  background:#f5f6f7;
  padding:34px 0 40px;
  border-top:1px solid #eef2f7;
}
.tabs-block__title{
  text-align:center;
  margin:0;
  font-size:44px;
  font-weight:800;
  color:#111827;
  letter-spacing:.2px;
}
.tabs-nav{
  display:flex;
  justify-content:center;
  gap:7px;
  margin:18px 0 22px;
  flex-wrap:wrap;
}
.tabs-nav a{
  font-size:16px;
  font-weight:600;
  color:#111827;
  padding:10px 2px;
  border-bottom:2px solid transparent;
}
.tabs-nav a:hover{color:var(--brand-blue)}
.tabs-nav a.is-active{
  color:var(--brand-blue);
  border-bottom-color:var(--brand-blue);
}

.tabs-panel{
  max-width:1180px;
  margin:0 auto;
  background:
    radial-gradient(1400px 420px at 20% 60%, rgba(255,255,255,.92), rgba(255,255,255,.72) 45%, rgba(255,255,255,.60)),
    linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,0));
  position:relative;
  overflow:hidden;
  min-height:360px;
  border-top:1px solid rgba(15,23,42,.05);
  border-bottom:1px solid rgba(15,23,42,.05);
}
.tabs-panel__inner{
  display:grid;
  grid-template-columns: 520px 120px 1fr;
  gap:26px;
  align-items:center;
  padding:34px 26px;
}
.tabs-wm{
  width:520px;
  height:310px;
  position:relative;
}
.tabs-wm .bigwm{
  position:absolute;
  left:0;
  bottom:-10px;
  width:520px;
  height:320px;
  border-radius:16px;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.8), rgba(255,255,255,0) 55%),
    linear-gradient(180deg,#ffffff,#e9eef3);
  box-shadow:0 26px 70px rgba(0,0,0,.14);
  border:1px solid rgba(15,23,42,.08);
  opacity:.9;
}
.tabs-wm .bigwm::before{
  content:"";
  position:absolute;
  left:26px; top:26px; right:26px; height:70px;
  border-radius:12px;
  background:linear-gradient(180deg,#f1f5f9,#e5e7eb);
  border:1px solid rgba(15,23,42,.08);
}
.tabs-wm .bigwm .door{
  position:absolute;
  left:140px; top:124px;
  width:240px;height:240px;border-radius:999px;
  background:radial-gradient(circle at 35% 30%, #fff, #cbd5e1 45%, #0f172a 72%);
  box-shadow: inset 0 0 0 12px rgba(255,255,255,.55);
}
.tabs-wm .bigwm .door::after{
  content:"";
  position:absolute; inset:24px; border-radius:999px;
  background:radial-gradient(circle at 40% 35%, rgba(255,255,255,.6), rgba(255,255,255,0) 48%),
             radial-gradient(circle at 52% 55%, rgba(148,163,184,.55), rgba(15,23,42,.0) 55%),
             radial-gradient(circle at 50% 50%, rgba(15,23,42,.25), rgba(15,23,42,.45));
}

.tabs-icon{
  width:120px;height:120px;border-radius:999px;
  background:#fff;
  display:grid;place-items:center;
  box-shadow:0 16px 40px rgba(0,0,0,.08);
  border:1px solid rgba(15,23,42,.06);
  margin:0 auto;
}
.tabs-icon svg{width:54px;height:54px; fill:none; stroke:var(--brand-blue); stroke-width:2.2}

.tabs-content h3{
  margin:0 0 12px;
  font-size:30px;
  line-height:1.2;
  font-weight:600;
  color:#111827;
  max-width:520px;
}
.tabs-content p{
  margin:0;
  font-size:16px;
  line-height:1.55;
  color:#111827;
  max-width:660px;
}

@media (max-width: 1060px){
  .discount__inner{grid-template-columns: 1fr; min-height:auto}
  .discount__visual{display:none}
  .tabs-panel__inner{grid-template-columns: 1fr; gap:18px}
  .tabs-wm{display:none}
  .tabs-icon{margin:0}
}
@media (max-width: 520px){
  .discount__title{font-size:34px}
  .discount__text{font-size:18px}
  .discount__form{flex-direction:column}
  .discount__input{border-right:1px solid rgba(15,23,42,.12); border-bottom:none}
  .discount__btn{min-width:auto; width:100%}
  .tabs-block__title{font-size:32px}
  .tabs-content h3{font-size:24px}
}



/* Ask expert block */
.ask-expert{
  background:#fff;
  padding:44px 0;
  border-top:1px solid #eef2f7;
}
.ask-expert__box{
  max-width:1180px;
  margin:0 auto;
  border:4px solid #8c0014;
  background:#fff;
  padding:34px 36px;

  display:grid;
  grid-template-columns: 1fr 440px 1fr; /* центр фиксированной ширины */
  align-items:center;
  gap:40px;
}

.ask-expert__title{
  margin:0 0 10px;
  font-size:34px;
  font-weight:800;
  color:#111827;
}
.ask-expert__lead{
  margin:0;
  color:#111827;
  font-size:14px;
  line-height:1.55;
}
.ask-expert__form{
  display:flex;
  align-items:center;
  gap:0;
  margin-top:8px;
}
.ask-expert__input{
  height:48px;
  width:150px;
  border:1px solid #e5e7eb;
  padding:0 14px;
  font-size:14px;
  outline:none;
}
.ask-expert__send{
  height:48px;
  padding:0 26px;
  border:none;
  background:#8c0014;
  color:#fff;
  font-weight:800;
  font-size:16px;
  cursor:pointer;
}
.ask-expert__note{
  margin-top:14px;
  color:#9ca3af;
  font-size:12px;
  line-height:1.35;
  max-width:520px;
}
.ask-expert__note a{color:var(--brand-blue); font-weight:700}
.ask-expert__right{
  text-align:right;
  color:#111827;
  font-size:15px;
  line-height:1.55;
}
.ask-expert__right b{font-weight:900}

/* ==========================
   Contacts block (before footer)
   ========================== */
.contacts{
  background:#fff;
  padding:54px 0 58px;
  border-top:1px solid #eef2f7;
}
.contacts__wrap{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:26px;
  align-items:stretch;
}
.contacts__title{
  margin:0;
  font-size:42px;
  font-weight:700;
  line-height:1.08;
  color:#111827;
}
.contacts__lead{
  margin:14px 0 0;
  font-size:15px;
  line-height:1.55;
  color:#111827;
  max-width:560px;
}
.contacts__form{
  margin-top:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 18px 60px rgba(15,23,42,.08);
  border-radius:10px;
  padding:18px 18px 16px;
}
.contacts__row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.contacts__select,
.contacts__input{
  height:52px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  padding:0 14px;
  font-size:14px;
  outline:none;
  background:#fff;
}
.contacts__select:focus,
.contacts__input:focus{
  border-color:#94a3b8;
  box-shadow:0 0 0 3px rgba(148,163,184,.22);
}
.contacts__btn{

  width:100%;
  height:52px;
  border:none;
  border-radius:5px;
  cursor:pointer;
  font-weight:900;
  font-size:15px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background: linear-gradient(90deg, #8c0014, #b00020);
  box-shadow: 0 16px 40px rgb(140 0 20 / 22%);
}
.contacts__btn:hover{filter:brightness(1.02)}
.contacts__btn:active{transform:translateY(1px)}
.contacts__btn-ico{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
}
.contacts__note{
  margin-top:10px;
  font-size:12px;
  color:#9ca3af;
  line-height:1.35;
}
.contacts__note a{
  color:var(--brand-blue);
  font-weight:700;
}

.contacts__right{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  background:linear-gradient(180deg,#111827 0%, #0b1220 65%, #0b1220 100%);
  box-shadow:0 18px 60px rgba(15,23,42,.14);
  border:1px solid rgba(15,23,42,.14);
  color:#fff;
  min-height:320px;
}
.contacts__right-inner{
  position:relative;
  z-index:2;
  padding:22px 22px 18px;
}
.contacts__right-title{
  font-weight:800;
  font-size:15px;
  line-height:1.4;
  color:rgba(255,255,255,.92);
  max-width:360px;
}
.contacts__items{margin-top:16px; display:grid; gap:14px}
.citem{display:flex; gap:12px; align-items:flex-start}
.citem__ico{
  width:38px;height:38px;border-radius:999px;
  display:grid;place-items:center;
  background:rgba(227,6,19,.18);
  border:1px solid rgba(227,6,19,.30);
  color:#fff;
  flex:0 0 38px;
  font-size:16px;
}
.citem__k{font-size:11px; text-transform:uppercase; letter-spacing:.5px; opacity:.78; margin-bottom:4px}
.citem__v{font-size:14px; font-weight:700; color:#fff}
.citem__v:hover{opacity:.92}

/* Decorative visual on the right like in screenshot */
.contacts__visual{
  position:absolute;
  right:-40px;
  bottom:-30px;
  width:280px;
  height:360px;
  border-radius:32px;
  opacity:.28;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.55), rgba(255,255,255,0) 55%),
    radial-gradient(circle at 60% 65%, rgba(227,6,19,.55), rgba(227,6,19,0) 60%),
    linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,0));
  transform:rotate(10deg);
}

@media (max-width: 1060px){
  .contacts__wrap{grid-template-columns:1fr; gap:18px}
  .contacts__title{font-size:34px}
}
@media (max-width: 520px){
  .contacts{padding:40px 0 44px}
  .contacts__row{grid-template-columns:1fr}
  .contacts__title{font-size:30px}
}

/* Models section */
.models{
  background:#fff;
  padding:42px 0 60px;
  border-top:1px solid #eef2f7;
}
.models h2{
  margin:0;
  text-align:center;
  font-size:46px;
  font-weight:800;
  color:#111827;
}
.models__top-tabs{
  margin:18px 0 34px;
  display:flex;
  justify-content:center;
}
.models__top-tabs a{
  color:var(--brand-blue);
  font-weight:700;
  padding:12px 12px;
  border-bottom:2px solid var(--brand-blue);
}
.models__types{
  display:flex;
  justify-content:center;
  gap:62px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.models__types a{
  color:var(--brand-blue);
  font-weight:700;
  font-size:18px;
}
.models__grid{
  margin-top:16px;
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:26px;
  align-items:start;
}
.model-card{
  text-align:center;
  padding:12px 6px 0;
}
.model-card__img{
  width:170px;
  height:190px;
  margin:16px auto 12px;
  border-radius:8px;
  background:
    radial-gradient(circle at 40% 30%, rgba(255,255,255,.9), rgba(255,255,255,0) 55%),
    linear-gradient(180deg,#f8fafc,#e5e7eb);
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 18px 50px rgba(0,0,0,.10);
  position:relative;
}
.model-card__img::after{
  content:"";
  position:absolute;
  left:44px; top:70px;
  width:82px; height:82px;
  border-radius:999px;
  background:radial-gradient(circle at 40% 35%, #fff, #cbd5e1 45%, #0f172a 72%);
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.55);
  opacity:.9;
}
.model-card__caption{
  color:#000;
  font-size:16px;
  line-height:1.35;
  margin:18px auto 0;
  max-width:170px;
}

/* Certified engineers */
.cert{
  background:#f5f6f7;
  padding:56px 0 70px;
  border-top:1px solid #eef2f7;
}
.cert__head{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:36px;
  align-items:start;
}
.cert h2{
  margin:0 0 18px;
  font-size:46px;
  font-weight:800;
  line-height:1.08;
  color:#111827;
}
.cert__text{
  margin:0;
  font-size:16px;
  line-height:1.6;
  color:#111827;
  max-width:560px;
}
.cert__docs{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  justify-items:end;
}
.doc{
  width:190px;
  height:260px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 14px 40px rgba(0,0,0,.08);
  position:relative;
  overflow:hidden;
}
.doc::before{
  content:"СЕРТИФИКАТ";
  position:absolute;
  left:0; top:0;
  right:0;
  height:36px;
  background:#8c0014;
  color:#fff;
  font-weight:900;
  letter-spacing:.8px;
  font-size:11px;
  display:flex;
  align-items:center;
  padding:0 12px;
}
.doc::after{
  content:"";
  position:absolute;
  left:14px; right:14px; top:56px; bottom:14px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,0) 30%),
    repeating-linear-gradient(0deg, rgba(15,23,42,.07), rgba(15,23,42,.07) 1px, transparent 1px, transparent 10px);
  opacity:.55;
}
.engineers{
  margin-top:38px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:26px;
}
.eng{
  background:#fff;
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 18px 50px rgba(0,0,0,.06);
  padding:26px 18px 22px;
  text-align:center;
}
.eng__avatar{
  width:84px;height:84px;border-radius:999px;
  margin:0 auto 18px;
  background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.85), rgba(255,255,255,0) 55%),
             linear-gradient(180deg,#d1d5db,#9ca3af);
  border:3px solid #fff;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.eng__name{font-weight:700; font-size:18px; margin:0 0 6px; color:#111827}
.eng__exp{margin:0; font-size:16px; color:#111827}
.eng__exp b{font-weight:900}

@media (max-width: 1060px){
  .ask-expert__box{grid-template-columns: 1fr; gap:18px}
  .ask-expert__right{text-align:left}
  .models__grid{grid-template-columns: repeat(3, 1fr)}
  .cert__head{grid-template-columns: 1fr}
  .cert__docs{justify-items:start}
  .engineers{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 520px){
  .models h2{font-size:34px}
  .models__types{gap:22px}
  .models__grid{grid-template-columns: repeat(2, 1fr)}
  .model-card__img{width:150px;height:170px}
  .engineers{grid-template-columns: 1fr}
  .cert h2{font-size:34px}
}



/* Red service accents */
:root{
  --bosch-red:#8c0014;
}
.btn--primary{
  background: #8c0014;
}
.btn--primary:hover{filter:none; box-shadow:0 10px 22px rgba(29,94,168,.22)}
.btn--primary:active{transform:translateY(1px)}
/* subtle red highlight on focus/links */
a:hover{color:var(--brand-blue)}
.nav{position:relative}
.nav::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:3px;
  opacity:.9;
}
/* tiny red separator under top header */
.topbar{position:relative}
.topbar::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:2px;
  opacity:.55;
}

/* Footer */
.footer{
background: #2a1016;
  color:#fff;
  padding:34px 0 40px;

  position:relative;
  overflow:hidden;
}
.footer::before{
  content:"";
  position:absolute;
  left:-10%;
  top:-140px;
  width:140%;
  height:260px;
  background:radial-gradient(800px 260px at 50% 100%, rgba(0,0,0,.18), transparent 70%);
  opacity:.65;
}
.footer__top{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:18px;
}
.footer__brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:900;
  letter-spacing:.3px;
}
.footer__brand .mark{
  width:34px;height:34px;border-radius:999px;
  border:2px solid rgba(255,255,255,.9);
  display:grid;place-items:center;
}
.footer__brand span{font-size:18px}
.footer__brand small{
  display:block;
  font-size:12px;
  opacity:.9;
  font-weight:600;
  margin-top:2px;
}
.footer__to-top{
  width:42px;height:42px;
  border:1px solid rgba(255,255,255,.55);
  background:transparent;
  color:#fff;
  border-radius:2px;
  cursor:pointer;
  display:grid;place-items:center;
}
.footer__to-top:hover{background:rgba(255,255,255,.10)}
.footer__divider{
  height:1px;
  background: #fff;
  margin:10px 0 26px;
  position:relative;
}
.footer__divider::after{
  content:"";
  position:absolute;
  left:0; top:-2px;
  width:120px;height:4px;
  background:var(--bosch-red);
  border-radius:2px;
}

.footer__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
  gap:26px;
  align-items:start;
}
.f-col h4{
  margin:0 0 14px;
  font-size:20px;
  font-weight:900;
}
.f-links{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px 26px;
}
.f-links a{
  color:rgba(255,255,255,.78);
  font-size:15px;
}
.f-links a:hover{color:#fff}
.f-col ul{list-style:none; margin:0; padding:0}
.f-col li{margin:10px 0}
.f-col li a{color:rgba(255,255,255,.78)}
.f-col li a:hover{color:#fff}

.f-share{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin:10px 0 18px;
}
.share-ico{
  width:34px;height:34px;border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  display:grid;place-items:center;
  color:#fff;
  position:relative;
}
.share-ico::after{
  content:attr(data-count);
  position:absolute;
  left:22px; top:18px;
  width:22px;height:22px;border-radius:999px;
  background:#f4c5cc;
  color:#3a0710;
  font-size:12px;
  font-weight:900;
  display:grid;place-items:center;
  border:2px solid rgba(35,48,111,.75);
}
.share-ico:hover{background:rgba(255,255,255,.08)}
.footer__note{
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.4;
}
.footer__phone{
  font-size:26px;
  font-weight:900;
  letter-spacing:.6px;
  margin:8px 0 8px;
}
.footer__addr{
  color:rgba(255,255,255,.86);
  font-weight:700;
  line-height:1.35;
  margin:0 0 18px;
}
.footer__cta{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.footer__cta .btn-footer{
  background:#e30613;
  color:#fff;
  font-weight:900;
  border:none;
  padding:14px 18px;
  border-radius:2px;
  cursor:pointer;
  min-width:220px;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  position:relative;
}
.footer__cta .btn-footer::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:4px;
  background:var(--bosch-red);
}
.footer__cta .btn-footer:hover{filter:brightness(0.98)}
.footer__cta a{
  color:#fff;
  font-weight:800;
  font-size:18px;
}
.footer__bottom{
  position:relative;
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.70);
  font-size:13px;
}
.footer__bottom a{color:rgba(255,255,255,.78); font-weight:700}
.footer__bottom a:hover{color:#fff}

@media (max-width: 1060px){
  .footer__grid{grid-template-columns: 1fr 1fr}
  .footer__phone{font-size:34px}
}
@media (max-width: 520px){
  .footer__grid{grid-template-columns: 1fr}
  .f-links{grid-template-columns: 1fr}
  .footer__phone{font-size:30px}
}



/* ==========================
   New blocks: Reviews + Geography
   ========================== */
.reviews{
  background:#fff;
  padding:54px 0 64px;
  border-top:1px solid #eef2f7;
}
.reviews__head{
  text-align:center;
  margin-bottom:26px;
}
.reviews__head h2{
  margin:0;
  font-size:40px;
  font-weight:800;
  color:#111827;
}
.reviews__head p{
  margin:10px 0 0;
  color:#9ca3af;
  font-size:14px;
}
.reviews__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:22px;
}
.review{
    background: #fff;
    border: 1px solid rgb(140 0 20 / 8%);
    border-radius: 5px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .06);
    padding: 18px 18px 14px;
}

.review--active{
  border-color: rgb(255 255 255 / 35%);
    box-shadow: 0 3px 14px rgb(41 1 4 / 10%);
}
.review__top{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.avatar{
  width:46px;height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  flex:0 0 46px;
}
.avatar--purple{background:#8b5cf6;}
.avatar--amber{background:#f59e0b;}
.avatar--img{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#e5e7eb;
}
.review__name{
  font-weight:800;
  color:#111827;
  font-size:14px;
  margin-top:2px;
  margin-bottom:6px;
}
.review__text{
  color:#000;
  font-size:14px;
  line-height:1.55;
}
.review__bottom{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:14px;
}
.stars{
  color:#e30613;
  font-size:13px;
  letter-spacing:1px;
}
.score{
  color:#9ca3af;
  font-size:12px;
  font-weight:700;
}

/* Geography */
.geo{
  background:#f5f6f7;
  padding:54px 0 70px;
  border-top:1px solid #eef2f7;
}
.geo__head h2{
  margin:0;
  font-size:40px;
  font-weight:800;
  color:#111827;
}
.geo__head p{
  margin:10px 0 0;
  color:#9ca3af;
  font-size:14px;
}
.geo__toolbar{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.geo__search{
  flex:1 1 420px;
}
.geo__search input{
  width:100%;
  height:42px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#fff;
  padding:0 16px;
  font-size:13px;
  outline:none;
}
.geo__search input:focus{border-color:#cbd5e1; box-shadow:0 0 0 3px rgba(148,163,184,.20)}
.geo__tabs{
  display:flex;
  gap:10px;
  align-items:center;
}
.geo__tab{
  height:32px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(227,6,19,.25);
  background:#fff;
  color:#6b7280;
  font-weight:800;
  font-size:12px;
  cursor:pointer;
}
.geo__tab.is-active{
  background:rgba(227,6,19,.08);
  color:#e30613;
  border-color:rgba(227,6,19,.35);
}

.geo__grid{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:18px;
}
.city-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 40px rgba(0,0,0,.06);
  padding:8px 16px 2px;
}
.city-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.city-card__name{
  font-weight:600;
  color:#111827;
  font-size:14px;
}
.pill {
    font-size: 11px;
    font-weight: 500;
    color: #474747;
    border: 1px solid rgb(255 255 255 / 25%);
    background: rgb(6 62 227 / 6%);
    border-radius: 5px;
    padding: 4px 10px;
    white-space: nowrap;
}
.pill--red{
  color:#474747;
}
.city-card__desc{
  color:#6b7280;
  font-size:12px;
  line-height:1.45;
  min-height:44px;
}
.city-card__actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.city-card__actions .btn--ghost{
  height:32px;
  padding:0 12px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
}
.city-card__actions .more{
  color:#e30613;
  font-weight:800;
  font-size:12px;
}

/* Responsive for new blocks */
@media (max-width: 1060px){
  .reviews__grid{grid-template-columns: repeat(2, 1fr);}
  .geo__grid{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 520px){
  .reviews__head h2{font-size:28px}
  .geo__head h2{font-size:28px}
  .reviews__grid{grid-template-columns: 1fr;}
  /* compact cities: 3 columns */
  .geo__grid{grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px;}
  .city-card{padding:8px 10px 6px;}
  .city-card__name{font-size:12px;}
  .pill{font-size:10px; padding:3px 8px;}
}


/* Responsive */
    @media (max-width: 1060px){
      .header-info__title{display:none}
      .cta{min-width:200px}
      .hero__panel{grid-template-columns: 480px 1fr}
      .wm{right:22px; width:330px;height:330px}
    }
    @media (max-width: 920px){
      .pricing__layout{grid-template-columns: 1fr;}
      .pricing__grid{grid-template-columns: repeat(2, 1fr);}
      .pricing__promo{grid-template-columns: 1fr;}
      .pricing__side{border-top:1px solid var(--line); padding-top:12px;}

      .topbar__row{flex-wrap:wrap}
      .header-info{width:100%; justify-content:space-between}
      .cta{margin-left:auto}
      .hero__panel{grid-template-columns: 1fr; }
      .hero__image{min-height:360px}
      .wm{right:18px; top:34px; width:300px;height:300px}
      .badge{right:10px}
      .features__row{grid-template-columns: repeat(2, 1fr)}
}
    @media (max-width: 520px){
      .pricing__head h2{font-size:26px;}
      /* На мобилке прайс в 2 колонки, чтобы не занимал слишком много места */
      .pricing__grid{grid-template-columns: repeat(2, 1fr); gap:12px;}
      .p-card{padding:14px 12px 12px; min-height:108px;}
      .p-card__desc{min-height:auto;}

      .brand{min-width:auto}
      .phones .tel{font-size:18px}
      .btn{padding:10px 12px}
      .card{padding:22px}
      .card h1{font-size:30px}
      .form{flex-direction:column; align-items:stretch}
      .btn--order{width:100%}
      .features__row{grid-template-columns: 1fr}
.widget{left:12px; right:12px}
    }


/* ==========================
   Mobile off-canvas menu
   (не затрагивает ПК-версию)
   ========================== */

.hamburger{display:none}
.mobile-contacts{display:none}
.mnav{display:none}

@media (max-width: 920px){
  /* Прячем горизонтальное меню на мобилке */
  .nav{display:none}

  /* =====================
     Mobile header layout
     ===================== */
  .header-info, .cta{display:none}
  .topbar__row{
    display:grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "brand burger"
      "contacts contacts";
    align-items:center;
    gap:10px 12px;
  }
  .brand{grid-area:brand; min-width:0}
  .hamburger{grid-area:burger}

  .mobile-contacts{
    grid-area:contacts;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-top:6px;
  }
  .mobile-contacts__phone{min-width:0}
  .mobile-contacts__phone .small{font-size:12px; opacity:.8}
  .mobile-contacts__phone .tel{font-weight:900}
  .mobile-contacts__cta{white-space:nowrap}

  /* Кнопка "бургер" (в одной строке с логотипом) */
  .hamburger{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:44px;
    height:36px;
    padding:0 10px;
    margin:0;
    background:#fff;
    border:1px solid rgba(15,23,42,.14);
    border-radius:8px;
    cursor:pointer;
  }
  .hamburger span{
    display:block;
    height:2px;
    width:100%;
    background:#111827;
    border-radius:2px;
    opacity:.9;
  }

  /* Старый блок телефона/города на мобилке не показываем */
  .phones, .city{display:none}

  /* Off-canvas */
  /* меню должно открываться поверх фиксированной шапки */
  .mnav{display:block; position:fixed; inset:0; z-index:20000; pointer-events:none}
  .mnav__backdrop{position:absolute; inset:0; background:rgba(15,23,42,.45); opacity:0; transition:.18s ease}
  .mnav__drawer{
    position:absolute;
    top:0; right:0;
    width:min(84vw, 360px);
    height:100%;
    background:#fff;
    transform:translateX(102%);
    transition:.22s ease;
    box-shadow:-18px 0 60px rgba(0,0,0,.20);
    border-left:1px solid rgba(15,23,42,.10);
    display:flex;
    flex-direction:column;
  }
  .mnav__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 14px;
    border-bottom:1px solid rgba(15,23,42,.08);
  }
  .mnav__title{font-weight:900; font-size:16px; color:#111827}
  .mnav__close{
    width:36px; height:36px;
    border-radius:10px;
    border:1px solid rgba(15,23,42,.12);
    background:#fff;
    cursor:pointer;
    font-size:22px;
    line-height:1;
  }
  .mnav__links{padding:10px 14px 18px}
  .mnav__links a{
    display:block;
    padding:12px 10px;
    border-radius:10px;
    font-weight:800;
    color:#111827;
  }
  .mnav__links a:hover{background:rgba(15,23,42,.05)}

  .mnav.is-open{pointer-events:auto}
  .mnav.is-open .mnav__backdrop{opacity:1}
  .mnav.is-open .mnav__drawer{transform:translateX(0)}

  /* lock scroll when menu open */
  .mnav-lock{overflow:hidden}
}

/* =====================================
   Mobile fix: Certificates 2x2 grid
   (works with .cert-card / .cert-img)
   ===================================== */
@media (max-width: 920px){
  .cert__head{grid-template-columns:1fr; gap:18px;}

  .cert__docs{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
    width:100%;
    justify-items:stretch;
    align-items:stretch;
  }

  .cert-card{
    width:100%;
    max-width:100%;
  }

  .cert-img{
    width:100%;
    max-width:100%;
    height:auto;
    display:block;
  }

  /* делаем одинаковую высоту карточек (не “прыгают”) */
  .cert-card .cert-img{
    aspect-ratio: 3 / 4;
    object-fit: contain;
    background:#fff;
  }


}

/* =============================
   Mobile: engineers horizontal slider
   ============================= */
.engineers-carousel{position:relative;}
.eng-arrow{display:none;}

@media (max-width: 520px){
  .engineers-carousel{margin-top:18px;}
  .engineers{
    display:flex;
    grid-template-columns:none !important;
    overflow-x:auto;
    gap:12px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:6px 44px 10px; /* leave room for arrows */
  }
  .engineers::-webkit-scrollbar{height:0;}
  .eng{
    flex:0 0 78%;
    max-width:320px;
    scroll-snap-align:start;
  }
  .eng img{
    width:100%;
    height:auto;
    display:block;
    border-radius:12px;
  }
  .eng-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    border-radius:999px;
    border:1px solid rgba(15,23,42,.14);
    background:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.12);
    color:#111827;
    font-size:20px;
    font-weight:900;
    cursor:pointer;
    z-index:3;
  }
  .eng-arrow--prev{left:8px;}
  .eng-arrow--next{right:8px;}
}

/* ===== Callback modal ===== */
.modal{ position:fixed; inset:0; z-index:25000; display:none; }
.modal.is-open{ display:block; }

.modal__backdrop{
  position:absolute; inset:0;
  background:rgba(15,23,42,.55);
}

.modal__dialog{
  position:relative;
  width:min(92vw, 520px);
  margin: min(12vh, 90px) auto 0;
  background:#fff;
  border-radius:12px;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  padding:22px 20px 18px;
}

.modal__close{
  position:absolute;
  right:12px; top:10px;
  width:36px; height:36px;
  border-radius:10px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}

.modal__title{
  margin:0 0 6px;
  font-size:22px;
  font-weight:900;
}
.modal__subtitle{
  margin:0 0 14px;
  color:var(--muted);
  font-size:13px;
}

.modal__form{ display:grid; gap:10px; }
.modal__input{
  height:46px;
  border:1px solid #d1d5db;
  border-radius:8px;
  padding:0 14px;
  font-size:14px;
  outline:none;
}
.modal__input:focus{
  border-color:#94a3b8;
  box-shadow:0 0 0 3px rgba(148,163,184,.25);
}

.modal__submit{
  height:46px;
  border:none;
  border-radius:8px;
  cursor:pointer;
  font-weight:900;
  color:#fff;
  background:linear-gradient(180deg, var(--brand-blue), #5f0010);
}

.modal__note{
  font-size:12px;
  color:#9ca3af;
  line-height:1.35;
}
.modal__note a{ color:var(--brand-blue); font-weight:700; }

/* чтобы при открытии модалки не скроллился фон */
html.modal-lock, body.modal-lock{ overflow:hidden; }
/* ===== Callback modal (FORCE) ===== */
#callbackModal.modal{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:none !important;
}
#callbackModal.modal.is-open{ display:block !important; }

#callbackModal .modal__backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(15,23,42,.55) !important;
}

#callbackModal .modal__dialog{
  position:relative !important;
  width:min(92vw, 520px) !important;
  margin: min(12vh, 90px) auto 0 !important;
  background:#fff !important;
  border-radius:12px !important;
  box-shadow:0 30px 90px rgba(0,0,0,.28) !important;
  padding:22px 20px 18px !important;
  z-index:2 !important;
}

#callbackModal .modal__close{
  position:absolute !important;
  right:12px !important;
  top:10px !important;
  width:36px !important;
  height:36px !important;
  border-radius:10px !important;
  border:1px solid rgba(15,23,42,.12) !important;
  background:#fff !important;
  cursor:pointer !important;
  font-size:22px !important;
  line-height:1 !important;
}

#callbackModal .modal__title{
  margin:0 0 6px !important;
  font-size:22px !important;
  font-weight:900 !important;
}
#callbackModal .modal__subtitle{
  margin:0 0 14px !important;
  color:var(--muted) !important;
  font-size:13px !important;
}

#callbackModal .modal__form{ display:grid !important; gap:10px !important; }

#callbackModal .modal__input{
  height:46px !important;
  border:1px solid #d1d5db !important;
  border-radius:8px !important;
  padding:0 14px !important;
  font-size:14px !important;
  outline:none !important;
}

#callbackModal .modal__submit{
  height:46px !important;
  border:none !important;
  border-radius:8px !important;
  cursor:pointer !important;
  font-weight:900 !important;
  color:#fff !important;
  background:linear-gradient(180deg, var(--brand-blue), #5f0010) !important;
}

#callbackModal .modal__note{
  font-size:12px !important;
  color:#9ca3af !important;
  line-height:1.35 !important;
}
#callbackModal .modal__note a{ color:var(--brand-blue) !important; font-weight:700 !important; }

html.modal-lock, body.modal-lock{ overflow:hidden !important; }

.privacy-modal{
  position:fixed;
  inset:0;
  z-index:120000;
  display:none;
  font-family:inherit;
}
.privacy-modal.is-open{display:block}
.privacy-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,24,39,.62);
}
.privacy-modal__dialog{
  position:relative;
  width:min(94vw, 760px);
  max-height:min(84vh, 760px);
  margin:min(8vh, 58px) auto 0;
  overflow:auto;
  background:#fff;
  border-radius:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  padding:28px 26px 24px;
  z-index:1;
}
.privacy-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:none;
  background:#f3f4f6;
  color:#6b7280;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  line-height:1;
}
.privacy-modal__close:hover{background:#e9ecef;color:#1f2937}
.privacy-policy{
  color:#1f2937;
  font-size:14px;
  line-height:1.58;
  text-align:left;
  padding-right:4px;
}
.privacy-policy h2{
  margin:0 48px 12px 0;
  font-size:24px;
  line-height:1.22;
  font-weight:800;
}
.privacy-policy h3{
  margin:18px 0 6px;
  font-size:15px;
  line-height:1.3;
  font-weight:800;
}
.privacy-policy p{margin:0 0 10px}
.privacy-policy a{color:var(--brand-blue);font-weight:700}
html.privacy-modal-lock,
body.privacy-modal-lock{overflow:hidden}

/* ==========================
   Redesign overrides: header, hero, prices
   ========================== */
:root{
  --brand-blue:#8c0014;
  --brand-blue-2:#8c0014;
  --brand-ink:#230f13;
  --soft-blue:#fbf3f4;
  --soft-line:#dfe9f7;
}

body{
  color:#230f13;
  background:#fffafa;
}

.site-header{
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 28px rgba(8,32,78,.06);
}
.topbar{
  border-bottom:1px solid #e8eef8;
}
.topbar__row{
  gap:16px;
  padding:18px 0;
}
.brand{
  min-width:218px;
}
.brand__name img{
  width:190px;
  height:auto;
  display:block;
}
.header-info{
  align-items:center;
  gap:18px;
  color:#3d2529;
}
.header-info__title{
  max-width:250px;
  font-size:15px;
  line-height:1.35;
  font-weight:700;
}
.header-meta{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  line-height:1.25;
  color:#72809f;
  white-space:nowrap;
}
.header-meta b{
  color:#230f13;
  font-size:14px;
  font-weight:900;
}
.header-meta__icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:2px solid #f1cbd1;
  border-radius:50%;
  position:relative;
  background:#fff;
}
.city .header-meta__icon::before{
  content:"";
  position:absolute;
  left:8px;
  top:6px;
  width:8px;
  height:8px;
  border:2px solid var(--brand-blue);
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
}
.worktime .header-meta__icon::before{
  content:"";
  position:absolute;
  inset:6px;
  border:2px solid var(--brand-blue);
  border-radius:50%;
}
.worktime .header-meta__icon::after{
  content:"";
  position:absolute;
  left:13px;
  top:8px;
  width:6px;
  height:7px;
  border-left:2px solid var(--brand-blue);
  border-bottom:2px solid var(--brand-blue);
}
.phones .header-meta__icon::before{
  content:"";
  position:absolute;
  left:8px;
  top:7px;
  width:11px;
  height:11px;
  border:2px solid var(--brand-blue);
  border-top-color:transparent;
  border-right-color:transparent;
  border-radius:3px;
  transform:rotate(-45deg);
}
.phones{
  text-align:left;
}
.phones .tel{
  font-size:20px;
  line-height:1.1;
  color:#230f13;
}
.phones .small{
  margin-top:4px;
  color:#7f8aa4;
}
.cta{
  min-width:160px;
}
.btn--primary,
.contacts__btn{
  background:linear-gradient(180deg,#5f0010 0%, #2a1016 100%);
  border-radius:7px;
  box-shadow:0 10px 24px rgba(0,45,98,.18);
}
.btn--primary{
  min-height:48px;
  padding:0 20px;
  white-space:nowrap;
}
.nav{
  border-bottom:1px solid #e8eef8;
}
.nav__row{
  padding:11px 0;
}
.nav__links{
  width:100%;
  justify-content:space-between;
  gap:18px;
  color:#4a3034;
  font-size:15px;
}

.hero{
  background:linear-gradient(180deg,#fff 0%, #f4f8ff 100%);
  overflow:visible;
}
.hero::before{
  display:none;
}
.hero__inner{
  padding:16px 0 72px;
}
.hero__panel{
  grid-template-columns:minmax(420px, 48%) minmax(0, 1fr);
  gap:0;
  min-height:590px;
  padding:0;
  overflow:hidden;
  border:1px solid #e4edf9;
  border-radius:14px;
  background:
    radial-gradient(circle at 84% 18%, rgba(10,60,153,.10), transparent 16%),
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 44%, rgba(244,248,255,.76) 70%, rgba(255,255,255,.90) 100%);
  box-shadow:0 24px 70px rgba(20,48,90,.10);
  position:relative;
}
.hero__panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0) 0 48%, rgba(255,255,255,.58) 48% 100%),
    repeating-linear-gradient(90deg, transparent 0 58px, rgba(0,45,98,.035) 59px 60px);
  pointer-events:none;
}
.card{
  background:transparent;
  border-radius:0;
  box-shadow:none;
  padding:34px 28px 34px 58px;
  align-self:center;
  z-index:3;
}
.hero__pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 18px;
  margin-bottom:18px;
  border-radius:999px;
  background:#f8eef0;
  color:#8c0014;
  font-size:13px;
  font-weight:800;
}
.badge{
  top:75px;
  right:-68px;
  width:82px;
  height:82px;
  transform:none;
  background:linear-gradient(145deg,#a20a20 0%, #5f0010 100%);
  box-shadow:0 16px 42px rgba(47,115,255,.30);
}
.badge__text strong{
  font-size:25px;
}
.card h1{
  max-width:470px;
  font-size:42px;
  line-height:1.12;
  letter-spacing:0;
  color:#230f13;
  margin-bottom:18px;
}
.hero__list{
  list-style:none;
  margin:0 0 20px;
  padding:0;
  display:grid;
  gap:9px;
  max-width:470px;
  color:#4a3034;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
}
.hero__list li{
  position:relative;
  padding-left:28px;
}
.hero__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:1px;
  width:17px;
  height:17px;
  border:2px solid #8c0014;
  border-radius:50%;
  background:#fff;
}
.hero__list li::after{
  content:"";
  position:absolute;
  left:6px;
  top:6px;
  width:5px;
  height:8px;
  border-right:2px solid #8c0014;
  border-bottom:2px solid #8c0014;
  transform:rotate(45deg);
}
.hero__consult{
  max-width:455px;
  margin-top:24px;
  padding:15px;
  border:1px solid #dbe6f5;
  border-radius:10px;
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 36px rgba(10,40,90,.08);
  position:relative;
}
.hero__consult-head{
  margin:0 58px 14px 0;
  color:#4d5b78;
  font-size:14px;
  line-height:1.25;
}
.hero__consult-head b{
  display:block;
  margin-top:3px;
  color:#230f13;
  font-size:20px;
  line-height:1.1;
}
.hero__phone{
  position:absolute;
  right:16px;
  top:16px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff;
  border:1px solid #e2e9f5;
  box-shadow:0 6px 18px rgba(20,48,90,.06);
}
.hero__phone::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:20px;
  height:20px;
  background:#8c0014;
  transform:translate(-50%,-50%);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.hero__consult .contacts__form,
.ask-expert .contacts__form{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.hero__consult .contacts__row,
.ask-expert .contacts__row{
  grid-template-columns:1fr 1.2fr;
  gap:12px;
}
.hero__consult .contacts__input,
.ask-expert .contacts__input{
  height:50px;
  border-radius:7px;
  border-color:#dfe6f2;
  box-shadow:0 4px 14px rgba(8,32,78,.04);
}
.hero__consult .contacts__btn,
.ask-expert .contacts__btn{
  height:50px;
  border-radius:7px;
  font-size:14px;
}
.hero__consult .contacts__note{
  max-width:350px;
  margin-top:13px;
  color:#8a96af;
  font-size:11px;
}
.hero__image{
  min-height:590px;
  overflow:visible;
  border-radius:0;
  box-shadow:none;
  background:
    radial-gradient(circle at 92% 44%, rgba(46,78,130,.13), transparent 13%),
    linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,.90));
}
.hero__image::before{
  opacity:.45;
  background:
    linear-gradient(90deg, rgba(255,255,255,.9), rgba(255,255,255,0) 30%),
    radial-gradient(circle at 88% 76%, rgba(56,126,81,.22), transparent 9%),
    radial-gradient(circle at 78% 34%, rgba(56,126,81,.18), transparent 7%);
}
.hero__image img{
  width:116%;
  height:auto;
  max-width:none;
  align-self:flex-end;
  transform:translateX(-48px);
  filter:drop-shadow(0 24px 38px rgba(20,38,73,.16));
}
.hero__image .floor{
  height:170px;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(232,240,250,.86));
}

.features{
  margin-top:-56px;
  border:0;
  background:transparent;
  position:relative;
  z-index:4;
}
.features__row{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  padding:17px 20px;
  border:1px solid #e4edf9;
  border-radius:10px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 48px rgba(20,48,90,.10);
}
.feature{
  gap:13px;
  padding:0 16px;
  align-items:center;
}
.feature:not(:last-child){
  border-right:1px solid #edf2fb;
}
.ico{
  width:54px;
  height:54px;
  flex-basis:54px;
  border-radius:50%;
  background:#fbf3f4;
  border:1px solid #f1cbd1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);
}
.ico svg{
  display:none;
}
.ico::before{
  content:"";
  width:29px;
  height:29px;
  display:block;
  background:#8c0014;
  -webkit-mask:var(--feature-icon) center/contain no-repeat;
          mask:var(--feature-icon) center/contain no-repeat;
}
.feature:nth-child(1) .ico{--feature-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4.5-4.5'/%3E%3C/svg%3E")}
.feature:nth-child(2) .ico{--feature-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.6-2.8 8.4-7 10-4.2-1.6-7-5.4-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E")}
.feature:nth-child(3) .ico{--feature-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15.5A3.5 3.5 0 1 0 12 8a3.5 3.5 0 0 0 0 7.5z'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .34 1.88l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06A1.7 1.7 0 0 0 15 19.37a1.7 1.7 0 0 0-1 .15 1.7 1.7 0 0 0-1 1.56V21a2 2 0 1 1-4 0v-.09a1.7 1.7 0 0 0-1-1.56 1.7 1.7 0 0 0-1-.15 1.7 1.7 0 0 0-1.88.34l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.7 1.7 0 0 0 4.63 15a1.7 1.7 0 0 0-.15-1 1.7 1.7 0 0 0-1.56-1H3a2 2 0 1 1 0-4h.09a1.7 1.7 0 0 0 1.56-1 1.7 1.7 0 0 0 .15-1 1.7 1.7 0 0 0-.34-1.88l-.06-.06A2 2 0 1 1 7.23 2.23l.06.06A1.7 1.7 0 0 0 9 2.63a1.7 1.7 0 0 0 1-.15A1.7 1.7 0 0 0 11 1h2a1.7 1.7 0 0 0 1 1.48 1.7 1.7 0 0 0 1 .15 1.7 1.7 0 0 0 1.88-.34l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.7 1.7 0 0 0 19.37 7c.06.34.01.69-.15 1A1.7 1.7 0 0 0 21 9h.09a2 2 0 1 1 0 4H21a1.7 1.7 0 0 0-1.6 2z'/%3E%3C/svg%3E")}
.feature:nth-child(4) .ico{--feature-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6l4 2'/%3E%3C/svg%3E")}
.feature h3{
  color:#3a0710;
  font-size:13.5px;
  line-height:1.18;
}
.feature p{
  margin-top:4px;
  color:#6c7894;
  font-size:12px;
  line-height:1.25;
}

.pricing{
  margin-top:12px;
  padding:42px 0 22px;
  border:0;
  background:#fff;
}
.pricing__head{
  max-width:850px;
}
.pricing__head h2{
  color:#230f13;
  font-size:32px;
  line-height:1.15;
  letter-spacing:0;
}
.pricing__sub{
  color:#3d2529;
  font-size:15px;
  font-weight:800;
}
.pricing__layout{
  display:block;
  margin-top:28px;
}
.pricing__grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}
.p-card{
  min-height:148px;
  padding:22px 18px 18px 98px;
  border:1px solid #e8eef7;
  border-radius:9px;
  background:#fff;
  box-shadow:0 12px 34px rgba(20,48,90,.06);
  overflow:hidden;
}
.p-card::before{
  content:"";
  position:absolute;
  left:20px;
  top:21px;
  width:52px;
  height:52px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e5edf8;
  box-shadow:0 8px 18px rgba(20,48,90,.08);
}
.p-card::after{
  content:"";
  position:absolute;
  left:31px;
  top:32px;
  width:31px;
  height:31px;
  border:0;
  border-radius:0;
  opacity:1;
  background:#8c0014;
  -webkit-mask:var(--price-icon) center/contain no-repeat;
          mask:var(--price-icon) center/contain no-repeat;
}
.p-card:nth-child(1){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='4' width='12' height='16' rx='2'/%3E%3Cpath d='M9 4h6v3H9z'/%3E%3C/svg%3E")}
.p-card:nth-child(2){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2v6M15 2v6M7 8h10v4a5 5 0 0 1-10 0V8z'/%3E%3Cpath d='M12 17v5'/%3E%3C/svg%3E")}
.p-card:nth-child(3){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v10'/%3E%3Cpath d='M18.4 6.6A8.5 8.5 0 1 1 5.6 6.6'/%3E%3C/svg%3E")}
.p-card:nth-child(4){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2s7 7.1 7 12a7 7 0 0 1-14 0c0-4.9 7-12 7-12z'/%3E%3C/svg%3E")}
.p-card:nth-child(5){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2'/%3E%3Cpath d='M3 13c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2'/%3E%3Cpath d='M3 18c2 0 2-2 4-2s2 2 4 2 2-2 4-2 2 2 4 2'/%3E%3C/svg%3E")}
.p-card:nth-child(6){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .34 1.88l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06A1.7 1.7 0 0 0 15 19.37a1.7 1.7 0 0 0-1 .15A1.7 1.7 0 0 0 13 21h-2a1.7 1.7 0 0 0-1-1.48 1.7 1.7 0 0 0-1-.15 1.7 1.7 0 0 0-1.88.34l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.7 1.7 0 0 0 4.63 15a1.7 1.7 0 0 0-.15-1A1.7 1.7 0 0 0 3 13v-2a1.7 1.7 0 0 0 1.48-1 1.7 1.7 0 0 0 .15-1 1.7 1.7 0 0 0-.34-1.88l-.06-.06A2 2 0 1 1 7.06 4.23l.06.06A1.7 1.7 0 0 0 9 4.63a1.7 1.7 0 0 0 1-.15A1.7 1.7 0 0 0 11 3h2a1.7 1.7 0 0 0 1 1.48 1.7 1.7 0 0 0 1 .15 1.7 1.7 0 0 0 1.88-.34l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.7 1.7 0 0 0 19.37 9c.06.34.01.69-.15 1A1.7 1.7 0 0 0 21 11v2a1.7 1.7 0 0 0-1.6 2z'/%3E%3C/svg%3E")}
.p-card:nth-child(7){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 5c-2 2-3 4.3-3 7s1 5 3 7'/%3E%3Cpath d='M16 5c2 2 3 4.3 3 7s-1 5-3 7'/%3E%3Cpath d='M11 8c-1 1.1-1.5 2.4-1.5 4s.5 2.9 1.5 4'/%3E%3Cpath d='M13 8c1 1.1 1.5 2.4 1.5 4S14 14.9 13 16'/%3E%3C/svg%3E")}
.p-card:nth-child(8){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='6' width='16' height='12' rx='3'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M8 9h8'/%3E%3C/svg%3E")}
.p-card:nth-child(9){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H3v6h3l5 4V5z'/%3E%3Cpath d='M19 9l-6 6'/%3E%3Cpath d='M13 9l6 6'/%3E%3C/svg%3E")}
.p-card:nth-child(10){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h3l2-7 4 14 2-7h5'/%3E%3C/svg%3E")}
.p-card:nth-child(11){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0 5 5L11 20l-4-4 8.7-8.7z'/%3E%3Cpath d='M4 4l6 6'/%3E%3Cpath d='M2 6l4-4'/%3E%3Cpath d='M8 12l4 4'/%3E%3C/svg%3E")}
.p-card:nth-child(12){--price-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l2-6 4 12 2-6h6'/%3E%3C/svg%3E")}
.p-card__title{
  margin:0 0 10px;
  color:#230f13;
  font-size:16px;
  line-height:1.25;
  font-weight:900;
}
.p-card__desc{
  min-height:46px;
  color:#65718d;
  font-size:13px;
  line-height:1.45;
}
.p-card__price{
  margin-top:14px;
  color:#8c0014;
  font-size:16px;
  line-height:1;
  font-weight:900;
  letter-spacing:0;
  text-transform:none;
}
.pricing__promo{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:18px;
}
.promo{
  min-height:138px;
  padding:25px 24px 20px 138px;
  border:0;
  border-radius:8px;
  box-shadow:0 16px 38px rgba(20,48,90,.11);
}
.promo::before{
  content:"";
  position:absolute;
  left:24px;
  top:28px;
  width:82px;
  height:82px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
}
.promo::after{
  content:"";
  position:absolute;
  left:56px;
  top:58px;
  width:22px;
  height:22px;
  border:3px solid currentColor;
  border-radius:50%;
}
.promo--red{
  color:#e51b3b;
  background:linear-gradient(135deg,#e91d3c 0%, #d91c3a 100%);
}
.promo--gray{
  color:#8c0014;
  background:linear-gradient(135deg,#8c0014 0%, #5f0010 100%);
}
.promo--green{
  color:#0aa463;
  background:linear-gradient(135deg,#13bf76 0%, #079952 100%);
}
.promo__t{
  font-size:18px;
  line-height:1.2;
}
.promo__d{
  max-width:260px;
  font-size:15px;
}
.promo__p{
  margin-top:12px;
  font-size:14px;
  letter-spacing:0;
  text-transform:none;
}
.promo__img{
  display:none;
}

.ask-expert{
  padding:10px 0 34px;
  background:#fff;
}
.ask-expert__box{
  grid-template-columns:220px minmax(240px, 1fr) minmax(350px, 390px) 170px;
  gap:18px;
  align-items:center;
  min-height:178px;
  padding:0 24px 0 0;
  border:1px solid #f1cbd1;
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%, #fbf3f4 100%);
  box-shadow:none;
  overflow:hidden;
}
.ask-expert__visual{
  align-self:stretch;
  position:relative;
  min-height:178px;
  overflow:hidden;
}
.ask-expert__visual img{
  position:absolute;
  left:8px;
  bottom:-6px;
  width:190px;
  max-width:none;
  filter:drop-shadow(0 16px 20px rgba(20,48,90,.14));
}
.ask-expert__title{
  color:#230f13;
  font-size:25px;
  line-height:1.22;
  font-weight:900;
}
.ask-expert__lead{
  color:#485879;
  font-size:15px;
  line-height:1.45;
}
.ask-expert .contacts__row{
  grid-template-columns:1fr 1.05fr;
}
.ask-expert .contacts__note{
  margin-top:12px;
  padding-left:26px;
  position:relative;
  color:#6f7b96;
  font-size:12px;
}
.ask-expert .contacts__note::before{
  content:"";
  position:absolute;
  left:0;
  top:1px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#8c0014;
}
.ask-expert .contacts__note::after{
  content:"";
  position:absolute;
  left:6px;
  top:5px;
  width:4px;
  height:7px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
}
.ask-expert__right{
  color:#4a3034;
  font-size:14px;
  line-height:1.55;
}
.ask-expert__right b{
  display:block;
  margin-top:8px;
  color:#230f13;
  font-size:17px;
}

@media (max-width: 1240px){
  .header-info__title{
    display:none;
  }
  .phones .tel{
    font-size:18px;
  }
  .brand{
    min-width:205px;
  }
}

@media (max-width: 1120px){
  .header-info{
    gap:14px;
  }
  .header-info__title{
    display:none;
  }
  .hero__panel{
    grid-template-columns:minmax(390px, 52%) minmax(0, 1fr);
  }
  .card{
    padding-left:34px;
  }
  .badge{
    right:-42px;
  }
  .pricing__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .ask-expert__box{
    grid-template-columns:190px 1fr 360px;
    padding-right:20px;
  }
  .ask-expert__right{
    grid-column:2 / 4;
    padding-bottom:18px;
  }
}

@media (max-width: 920px){
  .topbar__row{
    padding:12px 0;
  }
  .mobile-contacts__phone .small{
    color:#6c7894;
  }
  .mobile-contacts__phone .tel{
    color:#230f13;
  }
  .hamburger{
    border-color:#dfe9f7;
  }
  .hero__inner{
    padding:14px 0 44px;
  }
  .hero__panel{
    grid-template-columns:1fr;
    min-height:0;
  }
  .card{
    padding:28px 22px 16px;
  }
  .card h1{
    font-size:34px;
  }
  .badge{
    top:72px;
    right:22px;
  }
  .hero__consult{
    max-width:none;
  }
  .hero__image{
    min-height:330px;
  }
  .hero__image img{
    width:min(620px, 112%);
    transform:translateX(0);
  }
  .features{
    margin-top:16px;
  }
  .features__row{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
  }
  .feature{
    border-right:0 !important;
    padding:0;
  }
  .pricing__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .pricing__promo{
    grid-template-columns:1fr;
  }
  .ask-expert__box{
    grid-template-columns:1fr;
    padding:18px;
  }
  .ask-expert__visual{
    display:none;
  }
  .ask-expert__right{
    grid-column:auto;
    padding-bottom:0;
  }
}

@media (max-width: 560px){
  .container{
    padding:0 12px;
  }
  .brand__name img{
    width:160px;
  }
  .mobile-contacts{
    align-items:stretch;
  }
  .mobile-contacts__cta{
    min-height:42px;
    padding:0 12px;
    font-size:13px;
  }
  .hero__inner{
    padding-bottom:26px;
  }
  .hero__panel{
    border-radius:10px;
  }
  .card{
    padding:22px 16px 12px;
  }
  .hero__pill{
    margin-bottom:14px;
  }
  .card h1{
    font-size:29px;
  }
  .badge{
    width:64px;
    height:64px;
    top:68px;
    right:16px;
  }
  .badge__text strong{
    font-size:20px;
  }
  .hero__list{
    font-size:14px;
  }
  .hero__consult{
    padding:13px;
  }
  .hero__consult .contacts__row,
  .ask-expert .contacts__row{
    grid-template-columns:1fr;
  }
  .hero__image{
    min-height:260px;
  }
  .hero__image img{
    width:118%;
    transform:translateX(-24px);
  }
  .features__row{
    grid-template-columns:1fr;
    padding:16px;
  }
  .pricing{
    padding-top:34px;
  }
  .pricing__head h2{
    font-size:25px;
  }
  .pricing__grid{
    grid-template-columns:1fr;
  }
  .p-card{
    min-height:132px;
  }
  .promo{
    padding-left:108px;
  }
  .promo::before{
    left:18px;
    width:68px;
    height:68px;
  }
  .promo::after{
    left:45px;
    top:53px;
  }
  .ask-expert__box{
    padding:16px;
  }
  .ask-expert__title{
    font-size:22px;
  }
}

@media (max-width: 560px){
  .privacy-modal__dialog{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 32px);
    margin:16px auto 0;
    padding:24px 16px 18px;
    border-radius:14px;
  }
  .privacy-policy{font-size:13px}
  .privacy-policy h2{font-size:20px}
}

/* Icon polish */
.header-meta__icon::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:17px !important;
  height:17px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#8c0014 !important;
  transform:translate(-50%,-50%) !important;
  -webkit-mask:var(--header-icon) center/contain no-repeat !important;
          mask:var(--header-icon) center/contain no-repeat !important;
}
.header-meta__icon::after{
  display:none !important;
}
.city .header-meta__icon{
  --header-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5.4-8 11-8 11S4 15.4 4 10a8 8 0 1 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.worktime .header-meta__icon{
  --header-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
}
.phones .header-meta__icon{
  --header-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
}

.feature:nth-child(3) .ico{
  --feature-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15.5A3.5 3.5 0 1 0 12 8a3.5 3.5 0 0 0 0 7.5z'/%3E%3Cpath d='M19.4 15a1.8 1.8 0 0 0 .36 1.98l.04.04a2 2 0 0 1-2.82 2.82l-.04-.04A1.8 1.8 0 0 0 15 19.4a1.8 1.8 0 0 0-1 .14A1.8 1.8 0 0 0 13 21h-2a1.8 1.8 0 0 0-1-1.46 1.8 1.8 0 0 0-1-.14 1.8 1.8 0 0 0-1.94.4l-.04.04a2 2 0 0 1-2.82-2.82l.04-.04A1.8 1.8 0 0 0 4.6 15a1.8 1.8 0 0 0-.14-1A1.8 1.8 0 0 0 3 13v-2a1.8 1.8 0 0 0 1.46-1 1.8 1.8 0 0 0 .14-1 1.8 1.8 0 0 0-.36-1.98l-.04-.04A2 2 0 0 1 7.02 4.16l.04.04A1.8 1.8 0 0 0 9 4.6a1.8 1.8 0 0 0 1-.14A1.8 1.8 0 0 0 11 3h2a1.8 1.8 0 0 0 1 1.46 1.8 1.8 0 0 0 1 .14 1.8 1.8 0 0 0 1.94-.4l.04-.04a2 2 0 0 1 2.82 2.82l-.04.04A1.8 1.8 0 0 0 19.4 9c.08.34.03.7-.14 1A1.8 1.8 0 0 0 21 11v2a1.8 1.8 0 0 0-1.6 2z'/%3E%3C/svg%3E") !important;
}

.promo::after{
  content:"";
  position:absolute;
  left:48px;
  top:50px;
  width:40px;
  height:40px;
  border:0;
  border-radius:0;
  background:currentColor;
  -webkit-mask:var(--promo-icon) center/contain no-repeat;
          mask:var(--promo-icon) center/contain no-repeat;
}
.promo--red{
  --promo-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4.5-4.5'/%3E%3C/svg%3E");
}
.promo--gray{
  --promo-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.6-2.8 8.4-7 10-4.2-1.6-7-5.4-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E");
}
.promo--green{
  --promo-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='5'/%3E%3Cpath d='M8.5 12.3 7 22l5-3 5 3-1.5-9.7'/%3E%3Cpath d='m10 8 1.4 1.4L14.5 6'/%3E%3C/svg%3E");
}

/* Certified engineers + reviews redesign */
.models{
  display:none !important;
}
.cert{
  background:linear-gradient(180deg,#fffafa 0%, #eef6ff 100%) !important;
  padding:64px 0 34px !important;
  border-top:0 !important;
}
.cert__head{
  grid-template-columns:minmax(0, 1fr) minmax(500px, 52%) !important;
  gap:42px !important;
  align-items:start !important;
}
.cert__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding-left:46px;
  position:relative;
  margin-bottom:18px;
  color:#8c0014;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.cert__eyebrow::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid #f1cbd1;
  background:#fffafa;
  box-shadow:0 8px 18px rgba(20,48,90,.05);
  -webkit-mask:none;
}
.cert__eyebrow::after{
  content:"";
  position:absolute;
  left:8px;
  top:8px;
  width:18px;
  height:18px;
  background:#8c0014;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.6-2.8 8.4-7 10-4.2-1.6-7-5.4-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.6-2.8 8.4-7 10-4.2-1.6-7-5.4-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.cert h2{
  margin:0 0 24px !important;
  color:#230f13 !important;
  font-size:46px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:-.01em;
}
.cert__text{
  max-width:640px !important;
  color:#52607d !important;
  font-size:17px !important;
  line-height:1.58 !important;
}
.cert__features{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  max-width:650px;
  margin-top:28px;
}
.cert__feature{
  min-height:50px;
  padding:4px 0 0 58px;
  border-right:1px solid #dce6f5;
  color:#60474b;
  font-size:12px;
  line-height:1.35;
  position:relative;
}
.cert__feature:last-child{
  border-right:0;
}
.cert__feature::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid #f1cbd1;
  background:#fffafa;
}
.cert__feature::after{
  content:"";
  position:absolute;
  left:12px;
  top:12px;
  width:22px;
  height:22px;
  background:#8c0014;
  -webkit-mask:var(--cert-feature-icon) center/contain no-repeat;
          mask:var(--cert-feature-icon) center/contain no-repeat;
}
.cert__feature--shield{--cert-feature-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.6-2.8 8.4-7 10-4.2-1.6-7-5.4-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E")}
.cert__feature--award{--cert-feature-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='5'/%3E%3Cpath d='M8.5 12.4 7 22l5-3 5 3-1.5-9.6'/%3E%3C/svg%3E")}
.cert__feature--like{--cert-feature-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10v11H3V10h4z'/%3E%3Cpath d='M7 10l4-7c.7.1 1.3.5 1.7 1 .4.6.5 1.3.3 2l-.6 2H19a2 2 0 0 1 2 2.3l-1.2 7A4 4 0 0 1 15.9 21H7V10z'/%3E%3C/svg%3E")}
.cert__docs{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:22px !important;
  padding:22px;
  border:1px solid #dfe8f5;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 45px rgba(20,48,90,.08);
  justify-items:stretch !important;
}
.cert-card{
  height:252px;
  overflow:hidden;
  border-radius:10px;
  background:#fff;
  border:1px solid #e3ebf6;
  box-shadow:0 12px 28px rgba(20,48,90,.07);
}
.cert-card .cert-img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:7px;
  background:#fff;
}
.cert-card--specialist{
  padding:32px 24px;
  color:#3a0710;
  position:relative;
  background:
    radial-gradient(circle at 100% 100%, rgba(140,0,20,.10), transparent 32%),
    linear-gradient(180deg,#fff,#fffafa);
}
.cert-card--specialist::before{
  content:"";
  position:absolute;
  right:20px;
  bottom:18px;
  width:76px;
  height:76px;
  border-radius:50%;
  border:16px solid rgba(140,0,20,.08);
}
.cert-card__brand{
  text-align:right;
  color:#8c0014;
  font-weight:900;
  font-size:13px;
  margin-bottom:30px;
}
.cert-card--specialist strong{
  display:block;
  margin-bottom:22px;
  text-transform:uppercase;
  font-size:17px;
  line-height:1.25;
  letter-spacing:.04em;
}
.cert-card--specialist span{
  display:block;
  max-width:190px;
  color:#6b7893;
  font-size:10px;
  line-height:1.55;
}
.engineers-carousel{
  margin-top:30px !important;
}
.eng-arrow{
  display:none !important;
}
.engineers{
  margin-top:0 !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:24px !important;
}
.eng{
  min-height:170px;
  display:grid;
  grid-template-columns:124px 1fr;
  align-items:center;
  column-gap:22px;
  padding:22px 28px !important;
  text-align:left !important;
  border:1px solid #e3ebf6 !important;
  border-radius:9px;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(20,48,90,.07) !important;
  position:relative;
}
.eng::after{
  content:"";
  position:absolute;
  right:20px;
  top:18px;
  width:24px;
  height:24px;
  background:#8c0014;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.6-2.8 8.4-7 10-4.2-1.6-7-5.4-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.6-2.8 8.4-7 10-4.2-1.6-7-5.4-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.eng img{
  width:120px;
  height:120px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 14px 24px rgba(20,48,90,.12);
}
.eng__name{
  margin:0 0 16px !important;
  color:#230f13 !important;
  font-size:20px !important;
  line-height:1.2;
  font-weight:900 !important;
}
.eng__exp{
  margin:0 !important;
  color:#52607d !important;
  font-size:14px !important;
}
.eng__exp b{
  color:#230f13;
}
.reviews{
  background:linear-gradient(180deg,#fff 0%, #fffafa 100%) !important;
  padding:38px 0 56px !important;
  border-top:0 !important;
}
.reviews__head{
  max-width:none !important;
  margin-bottom:26px !important;
  text-align:center;
}
.reviews__head h2{
  display:inline-flex;
  align-items:center;
  gap:28px;
  color:#230f13 !important;
  font-size:30px !important;
  line-height:1.2;
  font-weight:900 !important;
}
.reviews__head h2::before,
.reviews__head h2::after{
  content:"";
  width:52px;
  height:2px;
  background:#8c0014;
  border-radius:999px;
}
.reviews__head p{
  color:#6a7691 !important;
  font-size:15px !important;
}
.reviews__grid{
  max-width:1040px;
  margin:0 auto;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:18px !important;
}
.review:nth-child(n+4){
  display:none;
}
.review{
  min-height:206px;
  padding:24px 24px 18px !important;
  border:1px solid #e7edf6 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 12px 32px rgba(20,48,90,.07) !important;
  position:relative;
}
.review::after{
  content:"”";
  position:absolute;
  right:24px;
  top:12px;
  color:#dce5f4;
  font-size:56px;
  line-height:1;
  font-weight:900;
}
.review__top{
  gap:16px !important;
}
.avatar{
  width:46px !important;
  height:46px !important;
  flex:0 0 46px !important;
  font-size:19px !important;
  box-shadow:0 10px 20px rgba(80,60,220,.20);
}
.review__name{
  color:#230f13 !important;
  font-size:15px !important;
  font-weight:900 !important;
}
.review__text{
  margin-top:8px !important;
  color:#3d2529 !important;
  font-size:13px !important;
  line-height:1.55 !important;
  max-height:84px;
  overflow:hidden;
}
.review__bottom{
  margin-top:18px !important;
  gap:14px !important;
}
.stars{
  color:#ff9f00 !important;
  letter-spacing:2px;
}
.score{
  color:#4a3034 !important;
}

@media (max-width: 1060px){
  .cert__head{
    grid-template-columns:1fr !important;
  }
  .engineers,
  .reviews__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px){
  .cert h2{
    font-size:34px !important;
  }
  .cert__features,
  .cert__docs,
  .engineers,
  .reviews__grid{
    grid-template-columns:1fr !important;
  }
  .eng{
    grid-template-columns:96px 1fr;
    padding:18px !important;
  }
  .eng img{
    width:86px;
    height:86px;
  }
  .reviews__head h2{
    font-size:24px !important;
    gap:12px;
  }
  .reviews__head h2::before,
  .reviews__head h2::after{
    width:24px;
  }
}

/* Tabs redesign */
.tabs-block{
  background:linear-gradient(180deg,#fff 0%, #fff7f8 100%) !important;
  padding:64px 0 18px !important;
  border-top:0 !important;
}
.tabs-block__title{
  color:#230f13 !important;
  font-size:42px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}
.tabs-nav{
  gap:22px !important;
  margin:28px 0 0 !important;
  align-items:flex-end;
}
.tabs-nav a{
  min-width:146px;
  padding:17px 18px 16px !important;
  border:0 !important;
  border-radius:10px 10px 0 0;
  color:#3d2529 !important;
  font-size:16px !important;
  font-weight:700 !important;
  text-align:center;
}
.tabs-nav a.is-active{
  color:#8c0014 !important;
  background:#fff;
  box-shadow:0 12px 28px rgba(20,48,90,.08);
  position:relative;
}
.tabs-nav a.is-active::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:0;
  height:4px;
  border-radius:999px;
  background:#b00020;
}
.tabs-panel{
  max-width:var(--container) !important;
  min-height:0 !important;
  margin:0 auto !important;
  border:1px solid #e0e7f1 !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 18px 55px rgba(18,44,82,.08);
  overflow:hidden !important;
}
.tabs-panel .container{
  max-width:none;
  padding:0;
}
.tabs-panel__inner{
  grid-template-columns:46% 116px minmax(0, 1fr) !important;
  grid-template-areas:
    "media icon text"
    "media icon benefits";
  gap:22px !important;
  min-height:390px;
  padding:52px 64px 44px 40px !important;
  align-items:center !important;
}
.tabs-wm{
  grid-area:media;
  align-self:end;
  width:100% !important;
  height:340px !important;
  overflow:hidden;
  border-radius:12px 12px 0 0;
  margin-bottom:-45px;
}
.tabs-wm img{
  display:block;
  width:500px;
  max-width:none;
  height:auto;
  transform:translate(35px, -42px);
  filter:drop-shadow(0 18px 28px rgba(20,48,90,.12));
}
.tabs-icon{
  grid-area:icon;
  width:112px !important;
  height:112px !important;
  background:#fff !important;
  border:1px solid #edf2fa !important;
  box-shadow:0 18px 45px rgba(20,48,90,.08) !important;
}
.tabs-icon svg{
  width:58px !important;
  height:58px !important;
  stroke:#8c0014 !important;
  stroke-width:2.1 !important;
}
.tabs-content{
  grid-area:text;
  align-self:end;
  max-width:455px;
}
.tabs-content h3{
  margin:0 0 18px !important;
  color:#230f13 !important;
  font-size:28px !important;
  line-height:1.18 !important;
  font-weight:900 !important;
}
.tabs-content p{
  color:#3d2529 !important;
  font-size:16px !important;
  line-height:1.55 !important;
}
.tabs-benefits{
  grid-area:benefits;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  align-self:start;
  margin-top:16px;
}
.tabs-benefit{
  display:grid;
  grid-template-columns:52px minmax(0, 1fr);
  column-gap:10px;
  row-gap:4px;
  align-items:center;
  color:#2a1016;
}
.tabs-benefit span{
  grid-row:1 / 3;
  width:52px;
  height:52px;
  border-radius:12px;
  border:1px solid #f1cbd1;
  background:#fffafa;
  position:relative;
  box-shadow:0 8px 20px rgba(20,48,90,.04);
}
.tabs-benefit span::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:28px;
  height:28px;
  transform:translate(-50%,-50%);
  background:#8c0014;
  -webkit-mask:var(--tabs-benefit-icon) center/contain no-repeat;
          mask:var(--tabs-benefit-icon) center/contain no-repeat;
}
.tabs-benefit--clock{--tabs-benefit-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6l4 2'/%3E%3C/svg%3E")}
.tabs-benefit--shield{--tabs-benefit-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.6-2.8 8.4-7 10-4.2-1.6-7-5.4-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E")}
.tabs-benefit--like{--tabs-benefit-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10v11H3V10h4z'/%3E%3Cpath d='M7 10l4-7c.7.1 1.3.5 1.7 1 .4.6.5 1.3.3 2l-.6 2H19a2 2 0 0 1 2 2.3l-1.2 7A4 4 0 0 1 15.9 21H7V10z'/%3E%3C/svg%3E")}
.tabs-benefit b{
  font-size:13px;
  line-height:1.25;
  font-weight:900;
}
.tabs-benefit small{
  color:#4e5c7b;
  font-size:12px;
  line-height:1.35;
}

.ask-expert--tabs{
  background:linear-gradient(180deg,#fff7f8 0%, #fff 100%) !important;
  padding:24px 0 58px !important;
  border-top:0 !important;
}
.ask-expert--tabs .ask-expert__box{
  grid-template-columns:1fr 460px 320px !important;
  gap:36px !important;
  min-height:176px;
  padding:28px 54px !important;
  border:1px solid #d98b98 !important;
  border-radius:11px !important;
  background:#fff !important;
  box-shadow:0 14px 40px rgba(20,48,90,.07) !important;
}
.ask-expert--tabs .ask-expert__visual{
  display:none;
}
.ask-expert--tabs .ask-expert__title{
  color:#230f13 !important;
  font-size:26px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}
.ask-expert--tabs .ask-expert__lead{
  color:#3d2529 !important;
  font-size:15px !important;
}
.ask-expert--tabs .contacts__form{
  padding:18px 20px !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 12px 35px rgba(20,48,90,.08) !important;
}
.ask-expert--tabs .contacts__row{
  grid-template-columns:1fr 1.35fr !important;
  gap:14px !important;
}
.ask-expert--tabs .contacts__btn-ico{
  width:30px;
  height:30px;
}
.ask-expert--tabs .ask-expert__right{
  display:grid;
  grid-template-columns:76px 1fr;
  column-gap:24px;
  align-items:center;
  padding-left:34px;
  border-left:1px solid #dce6f5;
  text-align:left !important;
  color:#3d2529 !important;
}
.ask-expert__phone-ico{
  grid-row:1 / 4;
  width:68px;
  height:68px;
  border-radius:50%;
  border:1px solid #f1cbd1;
  background:#fffafa;
  position:relative;
}
.ask-expert__phone-ico::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:32px;
  height:32px;
  transform:translate(-50%,-50%);
  background:#8c0014;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width: 1060px){
  .tabs-panel__inner{
    grid-template-columns:1fr !important;
    grid-template-areas:"media" "icon" "text" "benefits";
    padding:26px !important;
  }
  .tabs-wm{
    display:block !important;
    height:270px !important;
    margin-bottom:0;
  }
  .tabs-benefits{
    grid-template-columns:1fr;
  }
  .ask-expert--tabs .ask-expert__box{
    grid-template-columns:1fr !important;
  }
  .ask-expert--tabs .ask-expert__right{
    border-left:0;
    padding-left:0;
  }
}

@media (max-width: 560px){
  .tabs-block{
    padding-top:38px !important;
  }
  .tabs-block__title{
    font-size:28px !important;
  }
  .tabs-nav{
    gap:8px !important;
    justify-content:flex-start !important;
    overflow:auto;
    flex-wrap:nowrap !important;
    padding-bottom:2px;
  }
  .tabs-nav a{
    min-width:max-content;
  }
  .tabs-wm img{
    width:470px;
    transform:translate(-70px, 12px);
  }
  .tabs-content h3{
    font-size:24px !important;
  }
  .ask-expert--tabs .contacts__row{
    grid-template-columns:1fr !important;
  }
  .ask-expert--tabs .ask-expert__box{
    padding:20px !important;
  }
}

/* Promo cards mockup redesign + final hero size */
.hero__panel{
  height:560px !important;
  min-height:560px !important;
  max-height:560px !important;
}
.hero__image{
  height:560px !important;
  min-height:560px !important;
  overflow:hidden !important;
}
.hero__image img{
  display:block !important;
  width:auto !important;
  height:540px !important;
  max-width:none !important;
  object-fit:contain !important;
  transform:translate(-4px, 0) !important;
}
.hero__panel .card{
  transform:translateY(0) !important;
}
.badge{
  top:184px !important;
}
.features{
  margin-top:-48px !important;
}

.pricing__promo{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:30px !important;
  margin-top:34px !important;
  margin-bottom:40px !important;
}
.promo{
  min-height:260px !important;
  padding:58px 24px 34px 142px !important;
  border:0 !important;
  border-radius:13px !important;
  overflow:hidden !important;
  position:relative;
  isolation:isolate;
  color:#fff !important;
  box-shadow:0 22px 42px rgba(20,48,90,.18) !important;
}
.promo::before{
  content:"";
  position:absolute;
  left:24px !important;
  top:58px !important;
  width:102px !important;
  height:102px !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 36% 28%, rgba(255,255,255,.96), rgba(255,255,255,.82) 58%, rgba(255,255,255,.70) 100%) !important;
  box-shadow:
    0 18px 26px rgba(0,0,0,.18),
    inset 8px 8px 16px rgba(255,255,255,.50),
    inset -10px -10px 16px rgba(0,47,130,.16) !important;
  z-index:2;
}
.promo::after{
  content:"" !important;
  position:absolute;
  left:56px !important;
  top:89px !important;
  width:40px !important;
  height:40px !important;
  border:0 !important;
  border-radius:0 !important;
  background:var(--promo-accent) !important;
  -webkit-mask:var(--promo-icon) center/contain no-repeat;
          mask:var(--promo-icon) center/contain no-repeat;
  z-index:3;
}
.promo__t,
.promo__d,
.promo__p{
  position:relative;
  z-index:4;
  color:#fff !important;
}
.promo__t{
  font-size:24px !important;
  line-height:1.14 !important;
  font-weight:900 !important;
  margin:0 0 20px !important;
  white-space:nowrap;
  letter-spacing:-.01em !important;
  text-shadow:0 2px 7px rgba(0,0,0,.12);
}
.promo__d{
  max-width:320px !important;
  font-size:19px !important;
  line-height:1.42 !important;
  opacity:.96 !important;
}
.promo__p{
  margin-top:26px !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}
.promo__img{
  display:block !important;
  position:absolute;
  right:26px;
  bottom:22px;
  width:128px;
  height:114px;
  z-index:1;
  opacity:.20;
  border:4px solid rgba(255,255,255,.42);
  border-radius:12px;
}
.promo__img::before{
  content:"";
  position:absolute;
  left:26px;
  bottom:16px;
  width:68px;
  height:68px;
  border:5px solid rgba(255,255,255,.40);
  border-radius:50%;
}
.promo__img::after{
  content:"";
  position:absolute;
  left:18px;
  top:18px;
  width:82px;
  height:18px;
  border-radius:4px;
  border:4px solid rgba(255,255,255,.34);
}
.promo--gray .promo__img{
  right:24px;
  bottom:18px;
  width:132px;
  height:150px;
  border:0;
  opacity:.14;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 140' fill='none' stroke='black' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M60 8 104 27v34c0 32-18 58-44 71-26-13-44-39-44-71V27L60 8Z'/%3E%3Cpath d='m38 70 16 16 30-42'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 140' fill='none' stroke='black' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M60 8 104 27v34c0 32-18 58-44 71-26-13-44-39-44-71V27L60 8Z'/%3E%3Cpath d='m38 70 16 16 30-42'/%3E%3C/svg%3E") center/contain no-repeat;
}
.promo--gray .promo__img::before,
.promo--gray .promo__img::after{
  display:none;
}
.promo--green .promo__img{
  opacity:.18;
}
.promo--green .promo__t{
  font-size:23px !important;
}
.promo--red{
  --promo-accent:#e91c3f;
  background:
    radial-gradient(circle at 11% 41%, rgba(255,255,255,.34), transparent 9%),
    radial-gradient(circle at 91% 10%, rgba(255,255,255,.14) 0 1.4px, transparent 1.7px) 0 0/16px 16px,
    linear-gradient(153deg, rgba(255,255,255,.13) 0 28%, transparent 28%),
    radial-gradient(95% 86% at 6% 105%, rgba(255,255,255,.24), transparent 44%),
    linear-gradient(135deg,#ff2147 0%,#d30732 74%,#b9032b 100%) !important;
}
.promo--gray{
  --promo-accent:#8c0014;
  background:
    radial-gradient(circle at 24% 28%, rgba(140,0,20,.42), transparent 15%),
    radial-gradient(circle at 24% 10%, rgba(255,255,255,.12) 0 1.4px, transparent 1.7px) 0 0/16px 16px,
    linear-gradient(34deg, transparent 0 58%, rgba(255,255,255,.09) 58% 61%, transparent 61%),
    radial-gradient(88% 82% at 6% 103%, rgba(140,0,20,.26), transparent 43%),
    linear-gradient(135deg,#8c0014 0%,#5f0010 54%,#2a1016 100%) !important;
}
.promo--green{
  --promo-accent:#0aa463;
  background:
    radial-gradient(circle at 15% 38%, rgba(255,255,255,.30), transparent 10%),
    radial-gradient(circle at 87% 12%, rgba(255,255,255,.12) 0 1.4px, transparent 1.7px) 0 0/16px 16px,
    radial-gradient(90% 82% at 6% 105%, rgba(255,255,255,.20), transparent 44%),
    linear-gradient(135deg,#1dc87b 0%,#069a55 58%,#03783e 100%) !important;
}
.promo::selection{
  background:rgba(255,255,255,.25);
}

@media (max-width: 1180px){
  .pricing__promo{
    grid-template-columns:1fr !important;
  }
  .promo{
    min-height:240px !important;
  }
}

/* Final pass: glossy promo cards + slightly taller hero */
.hero__panel{
  height:590px !important;
  min-height:590px !important;
  max-height:590px !important;
}
.hero__image{
  height:590px !important;
  min-height:590px !important;
}
.hero__image img{
  height:568px !important;
}
.badge{
  top:196px !important;
}
.features{
  margin-top:-52px !important;
}
.promo--red{
  background:
    radial-gradient(circle at 12% 41%, rgba(255,255,255,.33), transparent 11%),
    radial-gradient(circle, rgba(255,255,255,.18) 0 1.3px, transparent 1.7px) right 42px top 18px/126px 112px no-repeat,
    repeating-radial-gradient(ellipse at -6% 116%, transparent 0 12px, rgba(255,255,255,.16) 13px 14px, transparent 15px 24px),
    linear-gradient(153deg, rgba(255,255,255,.14) 0 29%, transparent 29%),
    linear-gradient(135deg,#ff2147 0%,#d30732 74%,#b9032b 100%) !important;
}
.promo--gray{
  background:
    radial-gradient(circle at 25% 31%, rgba(140,0,20,.46), transparent 15%),
    radial-gradient(circle, rgba(255,255,255,.13) 0 1.3px, transparent 1.7px) left 128px top 18px/140px 112px no-repeat,
    repeating-radial-gradient(ellipse at -2% 112%, transparent 0 13px, rgba(80,157,255,.18) 14px 15px, transparent 16px 27px),
    linear-gradient(34deg, transparent 0 58%, rgba(255,255,255,.10) 58% 61%, transparent 61%),
    linear-gradient(135deg,#8c0014 0%,#5f0010 54%,#2a1016 100%) !important;
}
.promo--green{
  background:
    radial-gradient(circle at 14% 39%, rgba(255,255,255,.30), transparent 11%),
    radial-gradient(circle, rgba(255,255,255,.16) 0 1.3px, transparent 1.7px) right 44px top 18px/128px 112px no-repeat,
    repeating-radial-gradient(ellipse at -5% 115%, transparent 0 12px, rgba(255,255,255,.14) 13px 14px, transparent 15px 24px),
    linear-gradient(135deg,#1dc87b 0%,#069a55 58%,#03783e 100%) !important;
}

/* Align hero features strip to the hero panel edges */
.features__row{
  width:calc(100% + 36px) !important;
  margin-left:-18px !important;
  margin-right:-18px !important;
}

/* Mobile fixes for hero, promo cards and city grid */
@media (max-width: 920px){
  .container{
    max-width:100% !important;
  }
  .hero__panel{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    padding:0 !important;
  }
  .hero__panel .card{
    width:100% !important;
    max-width:none !important;
    padding:26px 18px 22px !important;
    transform:none !important;
    position:relative !important;
    z-index:2 !important;
  }
  .hero__title{
    font-size:clamp(34px, 9.2vw, 44px) !important;
    line-height:1.08 !important;
    max-width:100% !important;
    overflow-wrap:break-word !important;
  }
  .hero__list li{
    font-size:14px !important;
    line-height:1.32 !important;
  }
  .hero__consult{
    max-width:none !important;
    width:100% !important;
  }
  .hero__form{
    grid-template-columns:1fr !important;
  }
  .hero__image{
    display:none !important;
  }
  .badge{
    display:none !important;
  }
  .features{
    margin-top:8px !important;
  }
  .features__row{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    grid-template-columns:1fr !important;
    padding:16px 18px !important;
  }

  .pricing__promo{
    grid-template-columns:1fr !important;
    gap:18px !important;
    margin-top:24px !important;
    margin-bottom:28px !important;
  }
  .promo{
    min-height:0 !important;
    height:auto !important;
    padding:108px 18px 24px !important;
    overflow:hidden !important;
  }
  .promo::before{
    left:22px !important;
    top:22px !important;
    width:76px !important;
    height:76px !important;
  }
  .promo::after{
    left:47px !important;
    top:47px !important;
    width:28px !important;
    height:28px !important;
  }
  .promo__t{
    white-space:normal !important;
    font-size:24px !important;
    line-height:1.16 !important;
    margin-bottom:16px !important;
    max-width:100% !important;
  }
  .promo--green .promo__t{
    font-size:24px !important;
  }
  .promo__d{
    max-width:100% !important;
    font-size:18px !important;
    line-height:1.38 !important;
  }
  .promo__p{
    margin-top:20px !important;
    font-size:17px !important;
  }
  .promo__img{
    right:14px !important;
    bottom:12px !important;
    width:116px !important;
    height:104px !important;
  }

  .geo__layout{
    grid-template-columns:1fr !important;
  }
  .geo__head h2{
    font-size:clamp(30px, 8vw, 38px) !important;
    line-height:1.12 !important;
  }
  .geo__head p{
    font-size:16px !important;
  }
  .geo__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }
  .city-card{
    min-height:58px !important;
  }
  .city-card__top{
    grid-template-columns:22px minmax(0, 1fr) !important;
    column-gap:10px !important;
    padding:10px 10px !important;
  }
  .city-card__top::before{
    width:24px !important;
    height:24px !important;
  }
  .city-card::after{
    left:16px !important;
    top:21px !important;
    width:10px !important;
    height:10px !important;
  }
  .city-card__name{
    font-size:12px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .city-card .pill{
    font-size:10px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .geo__map{
    margin-top:20px !important;
  }
}

@media (max-width: 560px){
  html,
  body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  .site-header,
  .topbar,
  .hero,
  .pricing,
  .geo{
    width:100% !important;
    max-width:100vw !important;
    overflow-x:hidden !important;
  }
  .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .topbar__row{
    grid-template-columns:minmax(0, 1fr) 44px !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
  }
  .brand{
    min-width:0 !important;
  }
  .brand__name img{
    width:min(160px, 62vw) !important;
    max-width:100% !important;
  }
  .hamburger{
    width:44px !important;
    height:36px !important;
    justify-self:end !important;
  }
  .mobile-contacts{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 158px !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    align-items:center !important;
  }
  .mobile-contacts__phone{
    min-width:0 !important;
  }
  .mobile-contacts__phone .small{
    font-size:11px !important;
    line-height:1.2 !important;
    white-space:normal !important;
  }
  .mobile-contacts__phone .tel{
    font-size:14px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
  .mobile-contacts__cta{
    min-width:0 !important;
    width:100% !important;
    min-height:42px !important;
    padding:0 6px !important;
    font-size:10.5px !important;
    white-space:nowrap !important;
  }
  .hero__inner{
    padding-top:14px !important;
    padding-bottom:28px !important;
  }
  .hero__panel{
    width:100% !important;
    max-width:100% !important;
    border-radius:10px !important;
  }
  .hero__panel .card{
    padding:24px 16px 20px !important;
    overflow:hidden !important;
  }
  .hero__pill{
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
  }
  .hero__title{
    font-size:25px !important;
    line-height:1.1 !important;
    max-width:100% !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }
  .hero__panel h1{
    font-size:25px !important;
    line-height:1.12 !important;
    max-width:100% !important;
    margin-top:22px !important;
    margin-bottom:18px !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
  .hero__list{
    gap:10px !important;
  }
  .hero__list li{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }
  .hero__consult{
    padding:14px !important;
  }
  .hero__consult-head{
    padding-right:48px !important;
  }
  .hero__form input,
  .hero__form button{
    width:100% !important;
    min-width:0 !important;
  }
  .pricing__promo{
    width:100% !important;
  }
  .promo{
    width:100% !important;
    max-width:100% !important;
    padding:96px 24px 22px 18px !important;
  }
  .promo__t{
    font-size:21px !important;
    line-height:1.18 !important;
    width:min(100%, 330px) !important;
    overflow-wrap:break-word !important;
  }
  .promo--green .promo__t{
    font-size:21px !important;
  }
  .promo__d{
    display:block !important;
    width:min(100%, 330px) !important;
    max-width:min(100%, 330px) !important;
    font-size:16px !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }
  .geo__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
  }
  .pricing__head,
  .pricing__head h2,
  .pricing__head p{
    max-width:100% !important;
    overflow-wrap:break-word !important;
    white-space:normal !important;
  }
  .pricing__head h2{
    font-size:26px !important;
    line-height:1.14 !important;
  }
  .pricing__head p{
    font-size:14px !important;
    line-height:1.35 !important;
  }
}

/* Required consent checkbox + mobile hero image between blocks */
.form-consent{
  display:grid !important;
  grid-template-columns:18px minmax(0, 1fr) !important;
  align-items:start !important;
  gap:9px !important;
  cursor:pointer;
}
.form-consent::before,
.form-consent::after{
  display:none !important;
}
.form-consent__checkbox{
  width:16px !important;
  height:16px !important;
  margin:1px 0 0 !important;
  flex:0 0 16px !important;
  accent-color:#8c0014;
  cursor:pointer;
}
.form-consent span{
  min-width:0;
}
.form-consent a{
  cursor:pointer;
}
.ask-expert .form-consent{
  padding-left:0 !important;
}

@media (max-width: 920px){
  .hero__image{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    height:280px !important;
    min-height:280px !important;
    max-height:280px !important;
    margin:0 16px 14px !important;
    overflow:hidden !important;
    border-radius:12px !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.86), rgba(255,255,255,.18)),
      linear-gradient(180deg, #fff 0%, #fbf3f4 100%) !important;
    box-shadow:0 18px 46px rgba(8,32,78,.10) !important;
  }
  .hero__image img{
    display:block !important;
    width:auto !important;
    height:285px !important;
    max-width:none !important;
    object-fit:contain !important;
    transform:translateX(-12px) !important;
  }
  .hero__image .floor{
    display:block !important;
    height:82px !important;
    background:linear-gradient(180deg, rgba(255,255,255,0), rgba(232,240,250,.86)) !important;
  }
}

@media (max-width: 560px){
  .hero__image{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
    margin:0 12px 12px !important;
  }
  .hero__image img{
    height:252px !important;
    transform:translateX(-18px) !important;
  }
  .form-consent{
    grid-template-columns:17px minmax(0, 1fr) !important;
    gap:8px !important;
  }
  .form-consent__checkbox{
    width:15px !important;
    height:15px !important;
  }
}

/* Header contact icons: crisp centered SVGs */
.header-info .header-meta__icon{
  position:relative !important;
  width:36px !important;
  height:36px !important;
  flex:0 0 36px !important;
  border:2px solid #f1cbd1 !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 6px 16px rgba(140,0,20,.08) !important;
}
.header-info .header-meta__icon::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:18px !important;
  height:18px !important;
  transform:translate(-50%, -50%) !important;
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  -webkit-mask:none !important;
          mask:none !important;
}
.header-info .header-meta__icon::after{
  display:none !important;
}
.header-info .city .header-meta__icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b56d9' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10.5c0 5.6-8 10.5-8 10.5s-8-4.9-8-10.5a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10.5' r='2.5'/%3E%3C/svg%3E") !important;
}
.header-info .worktime .header-meta__icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b56d9' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E") !important;
}
.header-info .phones .header-meta__icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b56d9' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v2.7a2 2 0 0 1-2.2 2A19.4 19.4 0 0 1 3.4 5.2 2 2 0 0 1 5.4 3h2.7a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.7a2 2 0 0 1-.45 2.1L9.1 10.65a15 15 0 0 0 4.25 4.25l1.15-1.15a2 2 0 0 1 2.1-.45c.9.3 1.8.5 2.7.6A2 2 0 0 1 22 16.9Z'/%3E%3C/svg%3E") !important;
}

/* Hero clean background and softer checklist */
.hero__panel,
.hero__panel::before{
  background:
    linear-gradient(90deg, rgba(255,255,255,1) 0 46%, rgba(255,255,255,.88) 58%, rgba(245,249,255,.72) 100%) !important;
}
.hero__panel::before{
  opacity:1 !important;
}
.hero__list{
  gap:14px !important;
  margin-top:22px !important;
  margin-bottom:22px !important;
}
.hero__list li{
  gap:12px !important;
  line-height:1.34 !important;
}
.hero__list li::before{
  width:17px !important;
  height:17px !important;
  flex:0 0 17px !important;
  border-width:2px !important;
  margin-top:1px !important;
  background:#fff !important;
}
.hero__list li::after{
  width:4px !important;
  height:7px !important;
  left:7px !important;
  top:4px !important;
  border-right-width:2px !important;
  border-bottom-width:2px !important;
}

/* Hero room background from the new mockup */
.hero__panel{
  background:#fffafa !important;
}
.hero__panel::before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.95) 39%, rgba(255,255,255,.72) 57%, rgba(255,255,255,.16) 100%),
    url("/img/hero-room-bg.webp") center center / cover no-repeat !important;
  opacity:1 !important;
}
.hero__image{
  background:transparent !important;
}
.hero__image::before{
  display:none !important;
}

@media (max-width: 920px){
  .hero__panel::before{
    background:
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.91) 56%, rgba(255,255,255,.58) 100%),
      url("/img/hero-room-bg.webp") center center / cover no-repeat !important;
  }
  .hero__image{
    background:
      linear-gradient(180deg, rgba(255,255,255,.10), rgba(232,240,250,.76)),
      url("/img/hero-room-bg.webp") center center / cover no-repeat !important;
  }
}

/* Tabs block: remove large center icon and move copy closer to the image */
.tabs-panel__inner{
  grid-template-columns:46% minmax(0, 1fr) !important;
  grid-template-areas:
    "media text"
    "media benefits" !important;
  column-gap:22px !important;
}
.tabs-icon{
  display:none !important;
}
.tabs-content{
  max-width:560px !important;
  align-self:end !important;
  padding-left:0 !important;
}
.tabs-benefits{
  max-width:620px !important;
  gap:22px !important;
  align-self:start !important;
}

@media (max-width: 1060px){
  .tabs-panel__inner{
    grid-template-columns:1fr !important;
    grid-template-areas:"media" "text" "benefits" !important;
  }
}

/* Footer redesign */
.footer{
  overflow:hidden !important;
  padding:58px 0 0 !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(140,0,20,.28), transparent 28%),
    radial-gradient(circle at 8% 0%, rgba(140,0,20,.22), transparent 24%),
    linear-gradient(135deg, #1a1012 0%, #2a1016 45%, #3a0710 100%) !important;
  box-shadow:none !important;
}
.footer::before{
  display:none !important;
}
.footer .container{
  max-width:var(--container) !important;
}
.footer__top{
  align-items:flex-start !important;
  margin-bottom:58px !important;
  min-height:70px !important;
}
.footer__brand{
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
  color:#fff !important;
  letter-spacing:0 !important;
}
.footer__brand img{
  width:300px !important;
  height:auto !important;
  max-width:300px !important;
  filter:brightness(0) invert(1) !important;
}
.footer__brand br{
  display:none !important;
}
.footer__brand > div{
  position:relative !important;
  max-width:360px !important;
  padding-left:34px !important;
}
.footer__brand > div::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  width:1px !important;
  height:60px !important;
  transform:translateY(-50%) !important;
  background:rgba(255,255,255,.26) !important;
}
.footer__brand small{
  margin:0 !important;
  color:rgba(255,255,255,.68) !important;
  font-size:23px !important;
  line-height:1.42 !important;
  font-weight:500 !important;
}
.footer__to-top{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:82px !important;
  height:86px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.035) !important;
  color:rgba(255,255,255,.76) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.footer__to-top::after{
  content:"Наверх";
  font-size:15px;
  line-height:1;
}
.footer__to-top svg{
  width:20px !important;
  height:20px !important;
}
.footer__divider{
  display:none !important;
}
.footer__grid{
  display:grid !important;
  grid-template-columns:minmax(420px, 1.22fr) minmax(250px, .78fr) minmax(250px, .78fr) minmax(420px, 1fr) !important;
  gap:0 !important;
  align-items:start !important;
  margin-bottom:48px !important;
}
.footer__grid .f-col{
  min-height:306px !important;
  padding:0 38px 0 40px !important;
  border-left:1px solid rgba(255,255,255,.15) !important;
}
.footer__grid .f-col:first-child{
  padding-left:0 !important;
  border-left:0 !important;
}
.footer__grid .f-col:last-child{
  min-height:0 !important;
  margin-left:28px !important;
  padding:34px 34px 36px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:24px !important;
  background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 24px 70px rgba(0,0,0,.18) !important;
}
.f-col h4{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:20px !important;
  min-height:54px !important;
  margin:0 0 26px !important;
  color:#fff !important;
  font-size:24px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
}
.f-col h4::before{
  content:"" !important;
  width:52px !important;
  height:52px !important;
  flex:0 0 52px !important;
  border:1px solid rgba(31,143,255,.55) !important;
  border-radius:10px !important;
  background:rgba(140,0,20,.16) center / 27px 27px no-repeat !important;
  box-shadow:0 10px 30px rgba(140,0,20,.16) !important;
}
.footer__grid .f-col:nth-child(1) h4::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339a5ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Ccircle cx='12' cy='14' r='4'/%3E%3Cpath d='M8 6h8M8 9h2m3 0h3'/%3E%3C/svg%3E") !important;
}
.footer__grid .f-col:nth-child(2) h4::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339a5ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21h16'/%3E%3Cpath d='M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16'/%3E%3Cpath d='M9 8h1m4 0h1M9 12h1m4 0h1M9 16h1m4 0h1'/%3E%3C/svg%3E") !important;
}
.footer__grid .f-col:nth-child(3) h4::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339a5ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.6-7 10-4.2-1.4-7-5.3-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E") !important;
}
.f-links{
  grid-template-columns:1fr 1fr !important;
  gap:26px 42px !important;
}
.f-links a,
.f-col li a{
  position:relative !important;
  display:block !important;
  padding-left:28px !important;
  color:rgba(255,255,255,.66) !important;
  font-size:19px !important;
  line-height:1.2 !important;
  font-weight:500 !important;
}
.f-links a::before,
.f-col li a::before{
  content:"›" !important;
  position:absolute !important;
  left:0 !important;
  top:-2px !important;
  color:#ff4d5f !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:400 !important;
}
.f-links a:hover,
.f-col li a:hover{
  color:#fff !important;
}
.f-col ul{
  margin:0 !important;
  padding:0 !important;
}
.f-col li{
  margin:0 0 28px !important;
}
.footer__note,
.footer__phone,
.footer__addr{
  position:relative !important;
  padding-left:68px !important;
}
.footer__note{
  margin:0 0 28px !important;
  padding-bottom:28px !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  color:rgba(255,255,255,.68) !important;
  font-size:18px !important;
  line-height:1.45 !important;
}
.footer__note::before,
.footer__phone::before,
.footer__addr::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:48px !important;
  height:48px !important;
  border-radius:8px !important;
  background:rgba(140,0,20,.28) center / 24px 24px no-repeat !important;
  box-shadow:0 12px 28px rgba(140,0,20,.22) !important;
}
.footer__note::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6l4 2'/%3E%3C/svg%3E") !important;
}
.footer__phone{
  margin:0 0 28px !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
}
.footer__phone::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v2.6a2 2 0 0 1-2.2 2A19.3 19.3 0 0 1 3.5 5.2 2 2 0 0 1 5.5 3h2.6a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.6a2 2 0 0 1-.45 2.1L9.1 10.6a15.4 15.4 0 0 0 4.3 4.3l1.2-1.15a2 2 0 0 1 2.1-.45c.8.3 1.7.5 2.6.6A2 2 0 0 1 22 16.9Z'/%3E%3C/svg%3E") !important;
}
.footer__phone a{
  color:#fff !important;
}
.footer__addr{
  min-height:48px !important;
  margin:0 0 22px !important;
  color:rgba(255,255,255,.88) !important;
  font-size:20px !important;
  font-weight:700 !important;
  display:flex !important;
  align-items:center !important;
}
.footer__addr::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10.5c0 5.5-8 10.5-8 10.5s-8-5-8-10.5a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10.5' r='2.5'/%3E%3C/svg%3E") !important;
}
.footer__cta{
  display:block !important;
  margin-top:18px !important;
}
.footer__cta .btn-footer{
  width:100% !important;
  min-height:64px !important;
  justify-content:center !important;
  border-radius:8px !important;
  border:0 !important;
  background:linear-gradient(180deg, #ff2330 0%, #e50712 100%) !important;
  color:#fff !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:0 18px 38px rgba(227,7,18,.28) !important;
}
.footer__cta .btn-footer::before{
  content:"⚒" !important;
  position:static !important;
  width:auto !important;
  height:auto !important;
  margin-right:12px !important;
  background:transparent !important;
  color:#fff !important;
  font-size:22px !important;
}
.footer__bottom{
  margin:0 calc(50% - 50vw) !important;
  padding:28px max(24px, calc((100vw - var(--container)) / 2)) !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.62) !important;
  font-size:16px !important;
  line-height:1.3 !important;
}
.footer__bottom::before{
  content:"" !important;
  width:52px !important;
  height:52px !important;
  margin-right:22px !important;
  flex:0 0 52px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.035) center / 28px 28px no-repeat !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2385a7df' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v5c0 5-3.2 8.5-8 10-4.8-1.5-8-5-8-10V6l8-3z'/%3E%3C/svg%3E") !important;
}
.footer__bottom > div:first-child{
  margin-right:auto !important;
}
.footer__bottom > div:last-child{
  display:flex !important;
  gap:28px !important;
  align-items:center !important;
}
.footer__bottom > div:last-child a + a{
  position:relative !important;
}
.footer__bottom > div:last-child a + a::before{
  content:"" !important;
  position:absolute !important;
  left:-15px !important;
  top:50% !important;
  width:1px !important;
  height:18px !important;
  transform:translateY(-50%) !important;
  background:rgba(255,255,255,.25) !important;
}
.footer__bottom a{
  color:rgba(255,255,255,.68) !important;
  font-weight:600 !important;
}

@media (max-width: 1180px){
  .footer__grid{
    grid-template-columns:1fr 1fr !important;
    gap:34px !important;
  }
  .footer__grid .f-col{
    border-left:0 !important;
    padding:0 !important;
  }
  .footer__grid .f-col:last-child{
    margin-left:0 !important;
  }
}
@media (max-width: 720px){
  .footer{
    padding-top:36px !important;
  }
  .footer__top{
    flex-direction:column !important;
    margin-bottom:34px !important;
  }
  .footer__brand{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:18px !important;
  }
  .footer__brand img{
    width:220px !important;
  }
  .footer__brand > div{
    padding-left:0 !important;
  }
  .footer__brand > div::before{
    display:none !important;
  }
  .footer__brand small{
    font-size:18px !important;
  }
  .footer__grid{
    grid-template-columns:1fr !important;
  }
  .f-links{
    grid-template-columns:1fr !important;
  }
  .footer__phone{
    font-size:25px !important;
  }
  .footer__bottom{
    align-items:flex-start !important;
    flex-wrap:wrap !important;
    gap:16px !important;
  }
  .footer__bottom > div:last-child{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:12px !important;
  }
  .footer__bottom > div:last-child a + a::before{
    display:none !important;
  }
}

/* Footer typography scale down */
.footer__brand img{
  width:240px !important;
  max-width:240px !important;
}
.footer__brand small{
  font-size:18px !important;
  line-height:1.36 !important;
}
.footer__top{
  margin-bottom:44px !important;
}
.footer__to-top{
  width:70px !important;
  height:72px !important;
  gap:6px !important;
}
.footer__to-top::after{
  font-size:13px !important;
}
.footer__grid{
  margin-bottom:38px !important;
}
.footer__grid .f-col{
  min-height:250px !important;
  padding-right:30px !important;
  padding-left:32px !important;
}
.footer__grid .f-col:last-child{
  padding:28px 28px 30px !important;
  border-radius:18px !important;
}
.f-col h4{
  gap:16px !important;
  min-height:46px !important;
  margin-bottom:22px !important;
  font-size:20px !important;
  line-height:1.18 !important;
}
.f-col h4::before{
  width:44px !important;
  height:44px !important;
  flex-basis:44px !important;
  background-size:22px 22px !important;
}
.f-links{
  gap:22px 34px !important;
}
.f-links a,
.f-col li a{
  padding-left:22px !important;
  font-size:16px !important;
  line-height:1.22 !important;
}
.f-links a::before,
.f-col li a::before{
  top:-1px !important;
  font-size:22px !important;
}
.f-col li{
  margin-bottom:22px !important;
}
.footer__note{
  margin-bottom:22px !important;
  padding-left:58px !important;
  padding-bottom:22px !important;
  font-size:16px !important;
  line-height:1.38 !important;
}
.footer__phone,
.footer__addr{
  padding-left:58px !important;
}
.footer__note::before,
.footer__phone::before,
.footer__addr::before{
  width:40px !important;
  height:40px !important;
  background-size:20px 20px !important;
}
.footer__phone{
  margin-bottom:22px !important;
  font-size:26px !important;
  line-height:1.22 !important;
  letter-spacing:0 !important;
}
.footer__addr{
  min-height:40px !important;
  margin-bottom:18px !important;
  font-size:17px !important;
}
.footer__cta .btn-footer{
  min-height:54px !important;
  font-size:18px !important;
}
.footer__cta .btn-footer::before{
  font-size:18px !important;
}
.footer__bottom{
  padding-top:22px !important;
  padding-bottom:22px !important;
  font-size:14px !important;
}
.footer__bottom::before{
  width:44px !important;
  height:44px !important;
  flex-basis:44px !important;
  margin-right:18px !important;
  background-size:23px 23px !important;
}

@media (max-width: 720px){
  .footer__brand img{
    width:200px !important;
  }
  .footer__brand small{
    font-size:16px !important;
  }
  .footer__phone{
    font-size:23px !important;
  }
}

/* Footer final small typography nudge */
.footer__brand small{
  font-size:16px !important;
  line-height:1.34 !important;
}
.f-col h4{
  font-size:18px !important;
}
.f-links a,
.f-col li a{
  font-size:15px !important;
  line-height:1.2 !important;
}
.footer__note{
  font-size:15px !important;
}
.footer__phone{
  font-size:24px !important;
}
.footer__addr{
  font-size:16px !important;
}
.footer__cta .btn-footer{
  font-size:17px !important;
}
.footer__bottom{
  font-size:13px !important;
}

@media (max-width: 720px){
  .footer__brand small{
    font-size:15px !important;
  }
  .footer__phone{
    font-size:22px !important;
  }
}

/* Mobile header and hero centering */
@media (max-width: 560px){
  .topbar__row{
    position:relative !important;
    width:100% !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "brand burger"
      "mobile mobile" !important;
    row-gap:14px !important;
    padding:18px 56px 16px 12px !important;
    overflow:visible !important;
  }
  .hamburger{
    position:absolute !important;
    top:18px !important;
    right:12px !important;
    justify-self:auto !important;
    margin:0 !important;
  }
  .mobile-contacts{
    grid-area:mobile !important;
    display:block !important;
    width:100% !important;
    text-align:center !important;
    justify-self:center !important;
  }
  .mobile-contacts__cta{
    display:none !important;
  }
  .mobile-contacts__phone{
    width:100% !important;
    text-align:center !important;
  }
  .mobile-contacts__phone .small{
    color:#71809b !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
  }
  .mobile-contacts__phone .small{
    font-size:0 !important;
  }
  .mobile-contacts__phone .small::before{
    content:"Круглосуточно";
    font-size:13px !important;
  }
  .mobile-contacts__phone .tel{
    margin-top:2px !important;
    font-size:21px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
  }
  .mobile-contacts__phone .tel a{
    color:#3a0710 !important;
  }
  .hero__panel .card{
    text-align:center !important;
  }
  .hero__pill{
    display:inline-flex !important;
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  .hero__panel h1,
  .card h1{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .hero__list{
    width:100% !important;
    justify-items:center !important;
    text-align:left !important;
  }
  .hero__list li{
    width:100% !important;
    max-width:350px !important;
  }
}

/* Mobile header final position and larger hero title */
@media (max-width: 560px){
  .topbar__row{
    padding:18px 64px 16px 12px !important;
  }
  .hamburger{
    position:absolute !important;
    top:16px !important;
    right:12px !important;
    transform:none !important;
  }
  .mobile-contacts{
    margin-top:2px !important;
  }
  .mobile-contacts__phone .small::before{
    font-size:14px !important;
  }
  .mobile-contacts__phone .tel{
    font-size:24px !important;
    line-height:1.08 !important;
  }
  .hero__panel h1,
  .card h1{
    font-size:28px !important;
    line-height:1.12 !important;
    max-width:390px !important;
  }
}

/* Mobile burger pinned to the actual header corner */
@media (max-width: 560px){
  .topbar .container{
    position:relative !important;
  }
  .topbar__row{
    position:static !important;
    padding-right:12px !important;
  }
  .hamburger{
    position:fixed !important;
    top:18px !important;
    right:auto !important;
    left:min(calc(100vw - 84px), calc(50vw + 128px)) !important;
    z-index:20 !important;
  }
}


/* Miele raster-brand overlays for legacy branded photos */
.hero__image,
.ask-expert__visual--branded{
  position:relative !important;
}
.brand-patch{
  position:absolute;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  background:#8c0014;
  color:#fff;
  border-radius:2px;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:900;
  letter-spacing:0;
  line-height:1;
  box-shadow:0 2px 8px rgba(0,0,0,.16);
  pointer-events:none;
}
.hero__image .brand-patch--machine{
  left:13.4%;
  top:38.1%;
  width:196px;
  height:27px;
  font-size:22px;
  transform:rotate(.2deg);
}
.hero__image .brand-patch--shirt{
  left:50.8%;
  top:48.3%;
  width:238px;
  height:50px;
  font-size:42px;
  transform:rotate(1deg);
}
.hero__image .brand-patch--bag-1{
  left:53.4%;
  top:81.2%;
  width:94px;
  height:19px;
  font-size:15px;
  transform:rotate(11deg);
}
.hero__image .brand-patch--bag-2{
  left:62.7%;
  top:84.1%;
  width:92px;
  height:19px;
  font-size:15px;
  transform:rotate(14deg);
}
.ask-expert__visual--branded .brand-patch--machine{
  left:0.4%;
  top:39.2%;
  width:150px;
  height:21px;
  font-size:17px;
}
.ask-expert__visual--branded .brand-patch--shirt{
  left:32%;
  top:25%;
  width:252px;
  height:104px;
  font-size:42px;
  transform:rotate(1deg);
}
.ask-expert__visual--branded .brand-patch--bag-1{
  left:48.9%;
  top:81.9%;
  width:72px;
  height:15px;
  font-size:12px;
  transform:rotate(11deg);
}
.ask-expert__visual--branded .brand-patch--bag-2{
  left:59.2%;
  top:84.8%;
  width:70px;
  height:15px;
  font-size:12px;
  transform:rotate(14deg);
}
@media (max-width: 700px){
  .hero__image .brand-patch--machine{left:24%; top:37.5%; width:58px; height:18px; font-size:14px;}
  .hero__image .brand-patch--shirt{left:52%; top:48.8%; width:128px; height:34px; font-size:30px;}
  .hero__image .brand-patch--bag-1{left:50%; top:81.7%; width:54px; height:13px; font-size:11px;}
  .hero__image .brand-patch--bag-2{left:61%; top:84.6%; width:52px; height:13px; font-size:11px;}
}


/* Hero image supplied for Miele */
.hero__image--miele-master img{
  height:590px !important;
  transform:translate(-16px, 0) !important;
  object-fit:contain !important;
}
@media (max-width: 700px){
  .hero__image--miele-master img{
    height:420px !important;
    transform:translate(12px, 0) !important;
  }
}


/* Consultation block uses the clean Miele hero cutout */
.ask-expert__visual--miele-master{
  position:relative !important;
  overflow:hidden !important;
}
.ask-expert__visual--miele-master img{
  width:auto !important;
  height:194px !important;
  max-width:none !important;
  object-fit:contain !important;
  transform:translate(0, -6px) !important;
}
@media (max-width: 700px){
  .ask-expert__visual--miele-master img{
    height:184px !important;
    transform:translate(0, -4px) !important;
  }
}


/* Detailed universal washer for tabs block */
.tabs-wm img[src="/img/tabs-washer-universal.png"]{
  max-height:390px !important;
  width:auto !important;
  object-fit:contain !important;
  transform:translate(18px, -4px) scale(.96) !important;
  filter:drop-shadow(0 18px 28px rgba(20,48,90,.12));
}
@media (max-width: 900px){
  .tabs-wm img[src="/img/tabs-washer-universal.png"]{
    max-height:360px !important;
    transform:none !important;
  }
}


/* Larger washer photo in tabs information block */
.tabs-panel__inner{
  grid-template-columns:minmax(560px, .98fr) minmax(0, 1fr) !important;
  grid-template-areas:
    "media text"
    "media benefits" !important;
  column-gap:36px !important;
  min-height:420px !important;
  padding:42px 58px 42px 34px !important;
}
.tabs-panel__inner .tabs-icon{
  display:none !important;
}
.tabs-wm{
  align-self:stretch !important;
  height:100% !important;
  min-height:360px !important;
  margin:0 !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#f6f3ef !important;
}
.tabs-wm img[src="/img/tabs-washer-miele-large.webp"]{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}
@media (max-width: 1100px){
  .tabs-panel__inner{
    grid-template-columns:minmax(420px, .9fr) minmax(0, 1fr) !important;
    column-gap:28px !important;
    padding:34px 28px !important;
  }
}
@media (max-width: 900px){
  .tabs-panel__inner{
    grid-template-columns:1fr !important;
    grid-template-areas:"media" "text" "benefits" !important;
  }
  .tabs-wm{
    min-height:260px !important;
  }
}


/* Keep Miele footer logo in real brand colors */
.footer__brand img{
  filter:none !important;
  background:transparent !important;
}


/* Fix hero Miele master image framing */
.hero__panel{
  min-height:620px !important;
  height:auto !important;
  overflow:hidden !important;
}
.hero__image.hero__image--miele-master{
  align-self:stretch !important;
  height:auto !important;
  min-height:620px !important;
  max-height:none !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  overflow:visible !important;
  padding-right:18px !important;
}
.hero__image--miele-master img{
  width:auto !important;
  height:596px !important;
  max-height:596px !important;
  object-fit:contain !important;
  object-position:right bottom !important;
  transform:translate(8px, 0) !important;
}
.hero__image--miele-master .floor{
  display:none !important;
}
.features{
  position:relative !important;
  z-index:5 !important;
  margin-top:0 !important;
}
@media (max-width: 920px){
  .hero__panel{
    min-height:0 !important;
  }
  .hero__image.hero__image--miele-master{
    min-height:300px !important;
    height:300px !important;
    overflow:hidden !important;
    padding-right:0 !important;
  }
  .hero__image--miele-master img{
    height:330px !important;
    max-height:none !important;
    transform:translate(10px, 0) !important;
  }
}
@media (max-width: 560px){
  .hero__image.hero__image--miele-master{
    min-height:270px !important;
    height:270px !important;
  }
  .hero__image--miele-master img{
    height:300px !important;
    transform:translate(12px, 0) !important;
  }
}


/* Hero checklist icons from supplied Miele check asset */
.hero__list li::before{
  width:24px !important;
  height:24px !important;
  flex:0 0 24px !important;
  margin-top:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent url("/img/hero-check-miele.webp") center / contain no-repeat !important;
  box-shadow:none !important;
}
.hero__list li::after{
  display:none !important;
  content:none !important;
}
@media (max-width: 560px){
  .hero__list li::before{
    width:22px !important;
    height:22px !important;
    flex-basis:22px !important;
  }
}

/* Miele red header icons and mobile hero master framing */
.header-info .city .header-meta__icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c0014' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10.5c0 5.6-8 10.5-8 10.5s-8-4.9-8-10.5a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10.5' r='2.5'/%3E%3C/svg%3E") !important;
}
.header-info .worktime .header-meta__icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c0014' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E") !important;
}
.header-info .phones .header-meta__icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c0014' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v2.7a2 2 0 0 1-2.2 2A19.4 19.4 0 0 1 3.4 5.2 2 2 0 0 1 5.4 3h2.7a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.7a2 2 0 0 1-.45 2.1L9.1 10.65a15 15 0 0 0 4.25 4.25l1.15-1.15a2 2 0 0 1 2.1-.45c.9.3 1.8.5 2.7.6A2 2 0 0 1 22 16.9Z'/%3E%3C/svg%3E") !important;
}
.header-info .header-meta__icon{
  border-color:rgba(140,0,20,.22) !important;
  box-shadow:0 7px 18px rgba(140,0,20,.10) !important;
}

@media (max-width: 920px){
  .hero__panel{
    overflow:hidden !important;
  }
  .hero__image.hero__image--miele-master{
    width:calc(100% - 32px) !important;
    min-height:340px !important;
    height:340px !important;
    margin:10px auto 16px !important;
    border:1px solid rgba(140,0,20,.10) !important;
    border-radius:14px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.76) 78%, rgba(255,255,255,.94) 100%),
      url("/img/hero-room-bg.webp") center center / cover no-repeat !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    box-shadow:0 16px 34px rgba(20,48,90,.10) !important;
  }
  .hero__image--miele-master img{
    width:auto !important;
    height:356px !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:translate(10px, 0) !important;
    filter:drop-shadow(0 16px 24px rgba(35,15,19,.15)) !important;
  }
}
@media (max-width: 560px){
  .hero__panel{
    border-radius:13px !important;
  }
  .hero__image.hero__image--miele-master{
    width:calc(100% - 24px) !important;
    min-height:318px !important;
    height:318px !important;
    margin:8px auto 14px !important;
    border-radius:13px !important;
  }
  .hero__image--miele-master img{
    height:334px !important;
    transform:translate(8px, 0) !important;
  }
}
@media (max-width: 390px){
  .hero__image.hero__image--miele-master{
    min-height:292px !important;
    height:292px !important;
  }
  .hero__image--miele-master img{
    height:310px !important;
    transform:translate(6px, 0) !important;
  }
}

/* Appliance hero copy can span more lines than the washing-machine page. */
.appliance-page .hero__panel{
  max-height:none !important;
}

/* Footer category icons in white */
.f-col h4::before{
  border-color:rgba(255,255,255,.42) !important;
  background-color:rgba(255,255,255,.035) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.footer__grid .f-col:nth-child(1) h4::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Ccircle cx='12' cy='14' r='4'/%3E%3Cpath d='M8 6h8M8 9h2m3 0h3'/%3E%3C/svg%3E") !important;
}
.footer__grid .f-col:nth-child(2) h4::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21h16'/%3E%3Cpath d='M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16'/%3E%3Cpath d='M9 8h1m4 0h1M9 12h1m4 0h1M9 16h1m4 0h1'/%3E%3C/svg%3E") !important;
}
.footer__grid .f-col:nth-child(3) h4::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.6-7 10-4.2-1.4-7-5.3-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E") !important;
}

/* Appliance service pages */
.nav__links a[aria-current="page"],
.mnav__links a[aria-current="page"],
.footer a[aria-current="page"]{
  color:#8c0014;
  font-weight:800;
}
.nav__links a[aria-current="page"]{
  box-shadow:inset 0 -3px 0 #8c0014;
}
.appliance-page .tabs-wm img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  transform:none !important;
  filter:drop-shadow(0 18px 28px rgba(20,48,90,.12)) !important;
}
.appliance-types{
  display:block !important;
  padding:64px 0 !important;
  background:#fff;
}
.appliance-types__layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(420px, .78fr);
  align-items:stretch;
  gap:56px;
}
.appliance-types__content{
  padding:20px 0;
}
.appliance-types h2{
  text-align:left;
  font-size:44px;
  line-height:1.08;
  color:#1f1114;
  margin:0 0 30px;
}
.appliance-types__list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.appliance-type{
  min-height:92px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border:1px solid #e8e1e3;
  border-radius:8px;
  background:#fff;
}
.appliance-type:first-child{
  grid-column:1 / -1;
}
.appliance-type > span{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#8c0014;
  color:#fff;
  font-size:13px;
  font-weight:800;
}
.appliance-type b,
.appliance-type small{
  display:block;
}
.appliance-type b{
  color:#24171a;
  font-size:17px;
  line-height:1.2;
}
.appliance-type small{
  margin-top:5px;
  color:#6f6568;
  font-size:13px;
  line-height:1.35;
}
.appliance-types__visual{
  min-height:500px;
  margin:0;
  overflow:hidden;
  border-radius:8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.9)),
    url("/img/hero-room-bg.webp") center / cover no-repeat;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.appliance-types__visual img{
  display:block;
  width:auto;
  height:500px;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 18px 28px rgba(35,15,19,.14));
}
@media (max-width: 980px){
  .appliance-types__layout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .appliance-types__visual{
    min-height:400px;
  }
  .appliance-types__visual img{
    height:420px;
  }
}
@media (max-width: 620px){
  .appliance-types{
    padding:42px 0 !important;
  }
  .appliance-types h2{
    font-size:32px;
  }
  .appliance-types__list{
    grid-template-columns:1fr;
  }
  .appliance-type:first-child{
    grid-column:auto;
  }
  .appliance-types__visual{
    min-height:330px;
  }
  .appliance-types__visual img{
    height:350px;
    max-width:none;
  }
}

/* Shared service van image in the branded appliance repair block. */
.tabs-wm .tabs-service-van,
.appliance-page .tabs-wm .tabs-service-van{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}
