
/* ===== bootstrap-grid.min.css ===== */
/*!
 * Bootstrap Grid v5 minimal import for offline use
 */
.container,.container-fluid,.row,.col,.col-12,.col-md-6,.col-lg-6,.col-lg-4,.col-md-4{box-sizing:border-box}


/* ===== style.css ===== */
:root{
  --page-bg:#eaeaea;
  --frame-bg:#fbfbfb;
  --line:#bec4cb;
  --line-soft:#d6dbe1;
  --text:#2d3745;
  --muted:#4f5b69;
  --blue:#5d84bb;
  --blue-dark:#466faa;
  --green:#8fd06f;
  --green-dark:#5ea445;
  --green-text:#31582a;
  --gold:#f3c83f;
  --gray:#b7bfc8;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--page-bg);
  color:var(--text);
}

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

.page-shell{
  padding:18px 18px 28px;
}

.site-frame{
  width:100%;
  max-width:1020px;
  margin:0 auto;
  background:var(--frame-bg);
  border:2px solid var(--line);
  position:relative;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}

.site-header{
  border-bottom:2px solid var(--line);
  background:linear-gradient(180deg, #fcfdfe 0%, #f7f9fb 100%);
}

.site-header__inner{
  min-height:82px;
  padding:10px 20px 10px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.logo{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--text);
  font-size:22px;
  font-weight:700;
  flex:0 0 auto;
}

.logo img{
  width:52px;
  height:52px;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:34px;
  flex-wrap:wrap;
  justify-content:center;
}

.main-nav a{
  text-decoration:none;
  color:var(--text);
  font-size:17px;
  font-weight:600;
}

.header-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.phone-box{
  text-decoration:none;
  color:var(--text);
  font-size:18px;
  font-weight:700;
  padding:11px 16px;
  border:2px solid var(--line);
  background:#fff;
  line-height:1;
}

.top-request-btn{
  text-decoration:none;
  color:#fff;
  font-size:18px;
  font-weight:700;
  min-width:122px;
  justify-content:center;
  align-items:center;
  padding:11px 18px;
  border:2px solid #4f74ab;
  background:linear-gradient(180deg, #6a93cb 0%, #4f7bb9 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3);
  display:flex;
}

.hero{
  padding:28px 22px 16px;
}

.hero__grid{
  display:grid;
  grid-template-columns: 1.02fr .98fr;
  gap:22px;
  align-items:start;
}

.hero__content{
  padding:4px 4px 0 4px;
}

.hero__title{
  margin:8px 0 10px;
  font-size:41px;
  line-height:.95;
  font-weight:800;
  letter-spacing:-1.5px;
  color:#2c3440;
}

.hero__subtitle{
  font-size:22px;
  color:#485260;
  margin-bottom:22px;
}

.lead-form{
  max-width:470px;
}

.form-row{
  margin-bottom:14px;
}

.lead-form input{
  width:100%;
  height:58px;
  border:2px solid var(--line);
  background:#fff;
  outline:none;
  box-shadow:none;
  padding:0 18px;
  font-size:22px;
  color:var(--text);
  font-family:inherit;
}

.lead-form input:focus{
  border-color:#9eafc4;
}

.field-with-value{
  position:relative;
}

.field-sample{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:20px;
  color:#4f5965;
  pointer-events:none;
  background:#fff;
  padding-left:14px;
}

.form-submit{
  padding-top:8px;
}

.form-submit button{
  width:292px;
  max-width:100%;
  height:62px;
  border:2px solid #5a8d45;
  background:linear-gradient(180deg, #95d86f 0%, #67a74b 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 4px 0 rgba(78,114,63,.22);
  color:#fff;
  font-size:26px;
  font-weight:800;
  font-family:inherit;
  cursor:pointer;
}

.form-submit button:disabled{
  cursor:not-allowed;
  background:linear-gradient(180deg, #bcc4ce 0%, #96a0ad 100%);
  border-color:#8c97a3;
  box-shadow:none;
}

.hero__visual{
  min-height:430px;
  border:2px solid #d7dce2;
  background:
    linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,255,255,.72)),
    repeating-linear-gradient(-18deg, rgba(121,129,138,.05) 0, rgba(121,129,138,.05) 2px, transparent 2px, transparent 10px),
    linear-gradient(180deg, #f7fafc 0%, #f0f4f7 100%);
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  overflow:hidden;
}

.hero__visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right bottom;
}

.top-advantages{
  border-top:2px solid var(--line);
  border-bottom:2px solid var(--line);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fcfcfc;
}

.adv-strip-item{
  min-height:92px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 22px;
  border-right:2px solid var(--line);
  font-size:22px;
  font-weight:600;
  color:#36414f;
}

.adv-strip-item strong{
  font-weight:800;
}

.adv-strip-item:last-child{
  border-right:none;
}

.adv-strip-item img{
  width:58px;
  height:58px;
  flex:0 0 58px;
}

.section{
  padding:26px 22px 0;
}

.section-title{
  margin:0 0 16px;
  font-size:26px;
  font-weight:700;
  color:#2f3844;
}

.how-grid{
  display:grid;
  grid-template-columns:1.42fr .82fr;
  gap:18px;
  align-items:start;
}

.steps-card{
  background:#fff;
}

.steps-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:2px solid var(--line-soft);
}

.step-box{
  position:relative;
  min-height:194px;
  padding:14px 12px 12px;
  text-align:center;
  border-right:2px solid var(--line-soft);
}

.step-box:last-child{
  border-right:none;
}

.step-illustration{
  width:112px;
  height:86px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.step-illustration img{
  max-width:100%;
  max-height:100%;
}

.step-arrow{
  position:absolute;
  right:-12px;
  top:48px;
  font-size:34px;
  line-height:1;
  color:#7b8796;
  background:#fff;
  z-index:2;
}

.step-box:last-child .step-arrow{
  display:none;
}

.step-title{
  font-size:17px;
  font-weight:700;
  line-height:1.3;
  color:#303843;
}

.benefits-card{
  border:2px solid var(--line-soft);
  background:#fff;
  padding:16px 20px 18px;
}

.benefits-card h3{
  margin:0 0 18px;
  font-size:22px;
  font-weight:700;
}

.benefits-card ul{
  list-style:none;
  padding:0;
  margin:0;
}

.benefits-card li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:18px;
  padding:10px 0;
  border-top:1px solid #e3e8ed;
}

.benefits-card li:first-child{
  border-top:none;
  padding-top:0;
}

.benefits-card li span{
  color:#7fcbbc;
  font-size:24px;
  line-height:1;
  margin-top:-2px;
  font-weight:700;
}

.faq-section{
  padding-top:28px;
}

.faq-list{
  border-top:2px solid var(--line-soft);
}

.faq-item{
  border-bottom:2px solid var(--line-soft);
  background:#fff;
}

.faq-question{
  width:100%;
  border:none;
  background:#fff;
  text-align:left;
  font-family:inherit;
  font-size:20px;
  font-weight:700;
  color:#2f3844;
  padding:18px 20px;
  cursor:pointer;
  position:relative;
}

.faq-question::after{
  content:"+";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  font-size:28px;
  color:#5a7fb6;
  font-weight:400;
}

.faq-item.active .faq-question::after{
  content:"−";
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
  background:#f9fbfd;
}

.faq-answer__inner{
  padding:0 20px 18px;
  font-size:18px;
  line-height:1.45;
  color:#4f5b69;
}

.reviews-section{
  padding-bottom:84px;
}

.reviews-row{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  align-items:flex-start;
  padding:8px 4px 0;
}

.review-card{
  width:300px;
  max-width:100%;
  border:2px solid #d0d7df;
  background:#fff;
  position:relative;
  padding:18px 16px 16px;
  box-shadow:0 8px 18px rgba(0,0,0,.03);
}

.review-card::after{
  content:"";
  position:absolute;
  left:34px;
  bottom:-20px;
  width:32px;
  height:32px;
  border-left:2px solid #d0d7df;
  border-bottom:2px solid #d0d7df;
  background:#fff;
  transform:rotate(-45deg);
}

.review-card--offset-1{margin-top:8px}
.review-card--offset-2{margin-top:42px}
.review-card--offset-3{margin-top:16px}
.review-card--offset-4{margin-top:34px}

.review-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}

.review-avatar{
  width:54px;
  height:54px;
  flex:0 0 54px;
}

.review-head__content{
  min-width:0;
}

.review-stars{
  font-size:24px;
  line-height:1;
  letter-spacing:1px;
  margin-bottom:6px;
}

.review-name{
  font-size:16px;
  font-weight:700;
  color:#43505f;
}

.gold{color:var(--gold)}
.gray{color:var(--gray)}
.blue{color:var(--blue)}

.review-card p{
  margin:0;
  font-size:17px;
  line-height:1.45;
  color:#4f5966;
}

.support-btn{
  position:absolute;
  right:22px;
  bottom:62px;
  min-width:150px;
  height:48px;
  text-decoration:none;
  color:#fff;
  font-size:18px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #4f74ab;
  background:linear-gradient(180deg, #6290c8 0%, #4673ad 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
}

.site-footer{
  border-top:2px solid var(--line);
  padding:16px 22px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  font-size:14px;
  color:#505c69;
}

.site-footer a{
  color:#505c69;
  text-decoration:none;
}

.success-frame{
  min-height:calc(100vh - 48px);
}

.success-section{
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:32px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.9)),
    repeating-linear-gradient(-18deg, rgba(121,129,138,.05) 0, rgba(121,129,138,.05) 2px, transparent 2px, transparent 10px);
}

.success-section h1{
  margin:0;
  font-size:52px;
  line-height:1.15;
  font-weight:800;
  color:#2d3745;
}

@media (max-width: 991px){
  .site-header__inner{
    flex-wrap:wrap;
  }
  .main-nav{
    order:3;
    width:100%;
    justify-content:flex-start;
    gap:18px 28px;
  }
  .hero__grid,
  .how-grid{
    grid-template-columns:1fr;
  }
  .hero__title{
    font-size:58px;
  }
  .hero__visual{
    min-height:360px;
  }
  .top-advantages{
    grid-template-columns:1fr;
  }
  .adv-strip-item{
    border-right:none;
    border-bottom:2px solid var(--line);
  }
  .adv-strip-item:last-child{
    border-bottom:none;
  }
  .support-btn{
    position:static;
    margin:0 22px 18px auto;
  }
}

@media (max-width: 767px){
  .page-shell{
    padding:0 0 24px;
  }
  .site-frame{
    border-left:none;
    border-right:none;
    max-width:100%;
  }
  .site-header__inner,
  .hero,
  .section,
  .site-footer{
    padding-left:16px;
    padding-right:16px;
  }
  .header-actions{
    width:100%;
    justify-content:space-between;
  }
  .main-nav{
    gap:14px 18px;
  }
  .main-nav a{
    font-size:16px;
  }
  .phone-box,
  .top-request-btn{
    font-size:16px;
  }
  .hero__title{
    font-size:44px;
    letter-spacing:-1px;
  }
  .hero__subtitle{
    font-size:18px;
  }
  .lead-form input{
    font-size:20px;
    height:56px;
  }
  .field-sample{
    position:static;
    display:block;
    transform:none;
    padding:6px 0 0;
    font-size:16px;
    color:#596575;
  }
  .field-with-value{
    display:block;
  }
  .form-submit button{
    width:100%;
    height:60px;
    font-size:24px;
  }
  .hero__visual{
    min-height:300px;
  }
  .steps-row{
    grid-template-columns:1fr;
  }
  .step-box{
    border-right:none;
    border-bottom:2px solid var(--line-soft);
    min-height:auto;
    padding-bottom:16px;
  }
  .step-box:last-child{
    border-bottom:none;
  }
  .step-arrow{
    right:auto;
    left:50%;
    top:auto;
    bottom:-20px;
    transform:translateX(-50%) rotate(90deg);
  }
  .faq-question{
    padding-right:54px;
    font-size:18px;
  }
  .reviews-row{
    gap:32px;
  }
  .review-card{
    width:100%;
  }
  .review-card--offset-1,
  .review-card--offset-2,
  .review-card--offset-3,
  .review-card--offset-4{
    margin-top:0;
  }
  .support-btn{
    margin-right:16px;
  }
  .success-section h1{
    font-size:34px;
  }
}


/* --- detailed visual upgrade --- */
.hero__visual{
  background:
    linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.78)),
    url('../img/city-lines.svg') center/cover no-repeat,
    linear-gradient(180deg, #f7fafc 0%, #f0f4f7 100%);
}
.hero__visual img{
  width:97%;
  height:97%;
  object-fit:contain;
  object-position:right bottom;
}
.adv-strip-item{
  min-height:96px;
}
.adv-strip-item img{
  width:64px;
  height:64px;
}
.step-illustration{
  width:126px;
  height:98px;
}
.review-card{
  min-height:140px;
}


/* exact inserted images from user */
.hero__visual{
  min-height: 470px;
  padding: 0;
}
.hero__visual img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.steps-row--image{
  display:block;
  border:2px solid var(--line-soft);
  background:#fff;
  overflow:hidden;
}
.steps-row--image img{
  width:100%;
  height:auto;
  display:block;
}
@media (max-width: 767px){
  .hero__visual{
    min-height: 320px;
  }
}


.hp-wrap{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* ===== sketch / hand-drawn upgrade ===== */
body{
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.18)),
    repeating-linear-gradient(-12deg, rgba(80,90,100,.018) 0, rgba(80,90,100,.018) 2px, transparent 2px, transparent 10px),
    #ececec;
}

.site-frame,
.site-header,
.hero__visual,
.adv-strip-item,
.steps-row,
.step-box,
.benefits-card,
.faq-item,
.review-card,
.phone-box,
.top-request-btn,
.lead-form input,
.site-footer,
.support-btn,
.success-frame{
  position: relative;
}

.site-frame{
  border: 1px solid #bfc5cc;
  box-shadow: none;
}
.site-frame::before,
.site-frame::after{
  content:"";
  position:absolute;
  inset:6px;
  border:1px solid rgba(95,104,115,.34);
  pointer-events:none;
}
.site-frame::after{
  inset:2px 8px 4px 3px;
  border-color: rgba(95,104,115,.22);
  transform: rotate(-0.15deg);
}

.site-header{
  border-bottom: 1px solid #c2c8cf;
}
.site-header::after{
  content:"";
  position:absolute;
  left:8px; right:10px; bottom:2px;
  border-bottom:1px solid rgba(100,110,120,.28);
  transform: rotate(-0.12deg);
  pointer-events:none;
}

.hero__visual{
  border:1px solid #cfd5db;
}
.hero__visual::before,
.hero__visual::after,
.lead-form input::before{
  pointer-events:none;
}
.hero__visual::after{
  content:"";
  position:absolute;
  inset:7px 6px 5px 8px;
  border:1px solid rgba(120,128,138,.18);
  transform: rotate(.18deg);
}

.adv-strip-item,
.step-box,
.benefits-card,
.faq-item,
.review-card,
.phone-box,
.top-request-btn,
.lead-form input,
.site-footer,
.support-btn{
  border-width:1px !important;
}

.adv-strip-item::after,
.step-box::after,
.benefits-card::after,
.faq-item::after,
.review-card::before,
.phone-box::after,
.top-request-btn::after,
.site-footer::after,
.support-btn::after{
  content:"";
  position:absolute;
  inset:3px 4px 4px 3px;
  border:1px solid rgba(110,118,126,.16);
  transform: rotate(-0.22deg);
  pointer-events:none;
}

.lead-form input{
  border:1px solid #bcc3cb;
  background:
    linear-gradient(180deg, #ffffff, #fcfcfc);
  box-shadow: none;
}
.field-with-value::after{
  content:"";
  position:absolute;
  inset:4px 5px 5px 4px;
  border:1px solid rgba(100,108,118,.16);
  transform: rotate(-0.18deg);
  pointer-events:none;
}
.form-row{
  position:relative;
}

.phone-box,
.top-request-btn,
.support-btn{
  box-shadow:none;
}
body {
  font-family: 'Manrope', Arial, sans-serif;
}

button,
input,
select,
textarea {
  font-family: 'Manrope', Arial, sans-serif;
}

.btn,
button,
.form-submit {
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.form-submit button{
  position: relative;
  width: 296px;
  max-width:100%;
  height: 66px;
  border:none;
  background: url('../img/btn-sketch.png') center/100% 100% no-repeat;
  color:#fff;
  font-size:26px;
  font-weight:800;
  text-shadow: 0 1px 0 rgba(0,0,0,.18);
  box-shadow:none;
  transition: 0.75s;
}
.form-submit button:hover{
  background: url('../img/btn-sketch-hover.png') center/100% 100% no-repeat;
  transition: 0.75s;
}
.form-submit button::before{
  content:"";
  position:absolute;
  inset:4px 10px 8px 7px;
  transform: rotate(-0.2deg);
  pointer-events:none;
}
.form-submit button::after{
  content:"";
  position:absolute;
  left:-10px; right:-18px; bottom:-6px; top:auto;
  height:18px;
  background:
    repeating-linear-gradient(-18deg, rgba(80,85,92,.18) 0, rgba(80,85,92,.18) 1px, transparent 1px, transparent 7px);
  opacity:.45;
  pointer-events:none;
}
.form-submit button:hover{
  filter:brightness(1.01);
}
.form-submit button:disabled{
  background:
    linear-gradient(180deg, #c2c8cf 0%, #989faa 100%);
  color:#fff;
}

.review-card{
  box-shadow:none;
}
.review-card::after{
  border-left-width:1px;
  border-bottom-width:1px;
}

.section-title,
.hero__title,
.hero__subtitle,
.step-title,
.benefit-card h3,
.benefits-card h3,
.faq-question,
.review-name{
  text-rendering: geometricPrecision;
}

@media (max-width: 767px){
  .form-submit button{
    width:100%;
    height:64px;
    background-size:100% 100%;
  }
}


/* ===== deeper paper sketch styling ===== */
body{
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.42), transparent 28%),
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.25), transparent 24%),
    repeating-linear-gradient(0deg, rgba(90,98,108,.018) 0, rgba(90,98,108,.018) 1px, transparent 1px, transparent 5px),
    repeating-linear-gradient(90deg, rgba(90,98,108,.014) 0, rgba(90,98,108,.014) 1px, transparent 1px, transparent 6px),
    repeating-linear-gradient(-16deg, rgba(70,78,88,.02) 0, rgba(70,78,88,.02) 2px, transparent 2px, transparent 13px),
    linear-gradient(180deg, #eceae5 0%, #ece9e3 100%);
  color:#2e3640;
}

.page-shell{
  position:relative;
}
.page-shell::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.12) 0, rgba(255,255,255,0) 22%),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.08) 0, rgba(255,255,255,0) 24%),
    repeating-linear-gradient(25deg, rgba(75,82,90,.02) 0, rgba(75,82,90,.02) 1px, transparent 1px, transparent 16px);
  mix-blend-mode:multiply;
  opacity:.7;
}

.site-frame{
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.78)),
    repeating-linear-gradient(-15deg, rgba(100,108,116,.018) 0, rgba(100,108,116,.018) 2px, transparent 2px, transparent 14px),
    linear-gradient(180deg, #fbfaf7 0%, #f8f7f4 100%);
}
.site-frame::before{
  border-color: rgba(88,96,105,.30);
}
.site-frame::after{
  border-color: rgba(88,96,105,.18);
}

.site-header{
  background:
    linear-gradient(180deg, rgba(255,255,255,.84) 0%, rgba(247,249,251,.88) 100%),
    repeating-linear-gradient(-12deg, rgba(90,98,106,.018) 0, rgba(90,98,106,.018) 2px, transparent 2px, transparent 12px);
}
.main-nav a,
.logo span,
.phone-box,
.hero__subtitle,
.section-title,
.step-title,
.faq-question,
.review-card p,
.review-name,
.site-footer,
.site-footer a{
  text-shadow: 0 0 0.01px rgba(30,35,40,.2);
}

.hero{
  position:relative;
}
.hero::before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:10px;
  bottom:6px;
  pointer-events:none;
  background:
    repeating-linear-gradient(-18deg, rgba(95,103,112,.018) 0, rgba(95,103,112,.018) 2px, transparent 2px, transparent 18px);
  opacity:.35;
}

.hero__content{
  position:relative;
}
.hero__content::after{
  content:"";
  position:absolute;
  left:0;
  right:26%;
  top:112px;
  border-top:1px solid rgba(116,124,134,.18);
  transform:rotate(-1deg);
  pointer-events:none;
}

.hero__title{
  position:relative;
  letter-spacing:-1.6px;
}
.hero__title::after{
  content:"";
  position:absolute;
  left:2px;
  right:18%;
  bottom:-12px;
  border-bottom:1px solid rgba(95,103,111,.18);
  transform:rotate(-0.7deg);
  pointer-events:none;
}

.lead-form input{
  background:
    linear-gradient(180deg, #ffffff 0%, #fcfcfb 100%),
    repeating-linear-gradient(-14deg, rgba(100,108,118,.012) 0, rgba(100,108,118,.012) 1px, transparent 1px, transparent 12px);
}
.lead-form input,
.phone-box,
.top-request-btn,
.support-btn,
.review-card,
.faq-item,
.benefits-card,
.steps-row--image,
.hero__visual{
  overflow:hidden;
}
.lead-form input::placeholder{
  color:#404a57;
}

.lead-form .form-row::before{
  content:"";
  position:absolute;
  left:3px;
  right:2px;
  top:3px;
  bottom:2px;
  border:1px solid rgba(120,128,138,.09);
  transform:rotate(-0.25deg);
  pointer-events:none;
}

.top-advantages{
  position:relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.75), rgba(252,252,252,.9)),
    repeating-linear-gradient(-15deg, rgba(95,103,112,.012) 0, rgba(95,103,112,.012) 2px, transparent 2px, transparent 14px);
}
.top-advantages::before{
  content:"";
  position:absolute;
  left:10px;
  right:8px;
  top:0;
  border-top:1px solid rgba(95,103,112,.18);
  transform:rotate(-0.15deg);
  pointer-events:none;
}
.top-advantages::after{
  content:"";
  position:absolute;
  left:8px;
  right:12px;
  bottom:0;
  border-bottom:1px solid rgba(95,103,112,.18);
  transform:rotate(0.12deg);
  pointer-events:none;
}

.adv-strip-item{
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.58)),
    repeating-linear-gradient(-16deg, rgba(95,103,112,.012) 0, rgba(95,103,112,.012) 1px, transparent 1px, transparent 12px);
}

.section{
  position:relative;
}
.section::before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:0;
  border-top:1px solid rgba(95,103,112,.16);
  transform:rotate(-0.1deg);
  pointer-events:none;
}

.steps-row--image,
.benefits-card,
.faq-item,
.review-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(252,252,251,.96)),
    repeating-linear-gradient(-14deg, rgba(95,103,112,.01) 0, rgba(95,103,112,.01) 1px, transparent 1px, transparent 11px);
}

.faq-question{
  background:
    linear-gradient(180deg, rgba(255,255,255,.76), rgba(250,251,252,.94));
}
.faq-answer{
  background:
    linear-gradient(180deg, rgba(247,250,252,.85), rgba(249,251,253,.98)),
    repeating-linear-gradient(-12deg, rgba(95,103,112,.01) 0, rgba(95,103,112,.01) 1px, transparent 1px, transparent 10px);
}
.faq-question::before{
  content:"";
  position:absolute;
  left:16px;
  right:54px;
  bottom:0;
  border-bottom:1px solid rgba(95,103,112,.08);
  transform:rotate(-0.2deg);
  pointer-events:none;
}

.review-card::before{
  inset:4px 5px 4px 4px;
}
.review-card::after{
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(252,252,251,.98));
}

.site-footer{
  background:
    linear-gradient(180deg, rgba(255,255,255,.64), rgba(248,248,246,.78)),
    repeating-linear-gradient(-12deg, rgba(95,103,112,.012) 0, rgba(95,103,112,.012) 1px, transparent 1px, transparent 10px);
}
.site-footer::before{
  content:"";
  position:absolute;
  left:8px;
  right:10px;
  top:2px;
  border-top:1px solid rgba(95,103,112,.16);
  transform:rotate(-0.12deg);
  pointer-events:none;
}

.support-btn{
  background:
    linear-gradient(180deg, #6794cf 0%, #4c79b2 100%),
    repeating-linear-gradient(-16deg, rgba(255,255,255,.08) 0, rgba(255,255,255,.08) 1px, transparent 1px, transparent 9px);
}

.form-submit button{
  filter: saturate(.94) contrast(1.02);
}
.form-submit button::after{
  left:-7px;
  right:-14px;
  height:20px;
  background:
    repeating-linear-gradient(-18deg, rgba(70,78,86,.18) 0, rgba(70,78,86,.18) 1px, transparent 1px, transparent 6px),
    repeating-linear-gradient(18deg, rgba(70,78,86,.08) 0, rgba(70,78,86,.08) 1px, transparent 1px, transparent 10px);
  opacity:.36;
}

.success-section{
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.9)),
    repeating-linear-gradient(-16deg, rgba(95,103,112,.018) 0, rgba(95,103,112,.018) 2px, transparent 2px, transparent 14px),
    linear-gradient(180deg, #fbfaf7 0%, #f8f7f4 100%);
}


/* Состояние формы во время отправки */
.lead-form.is-sending input{
  opacity:.82;
}
.lead-form.is-sending input[readonly]{
  cursor:default;
}

.legal-section{
  padding-bottom:42px;
}
.legal-section h1{
  font-size:34px;
  margin-bottom:18px;
}
.legal-section p{
  max-width:760px;
  font-size:18px;
  line-height:1.55;
  color:#4f5b69;
  margin:0 0 16px;
}

/* ===== cleanup after markup refactor ===== */
.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

main{
  display:block;
}

.hero__title{
  margin:8px 0 14px;
}

.hero__subtitle{
  margin-top:0;
  line-height:1.35;
}

.lead-form input[type="number"]{
  appearance:textfield;
  -moz-appearance:textfield;
}
.lead-form input[type="number"]::-webkit-outer-spin-button,
.lead-form input[type="number"]::-webkit-inner-spin-button{
  margin:0;
  appearance:none;
  -webkit-appearance:none;
}

.linkBtn{
  min-height:58px;
  min-width:230px;
  padding:15px 26px;
  border:1px solid #5a8d45;
  background:url('../img/btn-sketch.png') center/100% 100% no-repeat;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:22px;
  line-height:1.15;
  font-weight:800;
  text-align:center;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
}

.motivation{
  padding:32px 22px 8px;
  position:relative;
}
.motivation::before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:8px;
  border-top:1px solid rgba(95,103,112,.16);
  transform:rotate(.1deg);
  pointer-events:none;
}
.motivation__inner{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:22px;
  border:1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(252,252,251,.96)),
    repeating-linear-gradient(-14deg, rgba(95,103,112,.01) 0, rgba(95,103,112,.01) 1px, transparent 1px, transparent 11px);
  padding:24px;
  position:relative;
  overflow:hidden;
}
.motivation__inner::after{
  content:"";
  position:absolute;
  inset:5px 6px 6px 5px;
  border:1px solid rgba(110,118,126,.14);
  transform:rotate(-.18deg);
  pointer-events:none;
}
.motivation__title{

}
.motivation__content{
  position:relative;
  z-index:1;
}
.motivation__content p{
  margin:0 0 14px;
  font-size:18px;
  line-height:1.5;
  color:#4f5b69;
}
.motivation__cta{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:20px;
}
.motivation__rate{
  display:grid;
  gap:3px;
  color:#4f5b69;
  font-size:16px;
}
.motivation__rate-title{
  color:#31582a;
  font-size:24px;
  font-weight:800;
}
.motivation__stats{
  margin-top:24px;
  border-top:1px solid #e3e8ed;
  padding-top:18px;
}
.motivation__stats-title{
  margin-bottom:12px;
  font-size:22px;
  font-weight:800;
  color:#2f3844;
}
.motivation__stats-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.motivation__stat{
  border:1px solid #d6dbe1;
  background:#fff;
  padding:14px 16px;
}
.motivation__stat strong{
  display:block;
  margin-bottom:4px;
  font-size:25px;
  line-height:1.1;
  color:#466faa;
}
.motivation__stat span{
  font-size:16px;
  line-height:1.35;
  color:#4f5b69;
}

.site-footer--extended{
  display:block;
  padding:24px 22px;
}
.site-footer--extended .footer-grid{
  width:100%;
  display:grid;
  grid-template-columns:1.35fr .85fr .7fr;
  gap:24px;
  align-items:start;
}
.site-footer--extended .footer-col p{
  margin:0 0 10px;
  line-height:1.45;
}
.site-footer--extended h3{
  margin:0 0 12px;
  font-size:19px;
  color:#2f3844;
}
.site-footer--extended small{
  display:block;
  width:100%;
  margin-top:16px;
  line-height:1.45;
  color:#66717f;
}
.site-footer--extended a{
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width: 991px){
  .hero__title{
    font-size:52px;
  }
  .motivation__inner,
  .site-footer--extended .footer-grid{
    grid-template-columns:1fr;
  }
  .motivation__title{
    max-width:640px;
  }
}

@media (max-width: 767px){
  .site-header__inner{
    gap:12px;
  }
  .logo{
    font-size:20px;
  }
  .phone-box,
  .top-request-btn{
    flex:1 1 auto;
    justify-content:center;
    text-align:center;
  }
  .hero__title{
    font-size:38px;
    line-height:1.05;
  }
  .hero::before,
  .hero__content::after,
  .hero__title::after{
    display:none;
  }
  .motivation{
    padding-left:16px;
    padding-right:16px;
  }
  .motivation__inner{
    padding:20px 16px;
  }
  .motivation__title{
    font-size:30px;
  }
  .motivation__stats-grid{
    grid-template-columns:1fr;
  }
  .linkBtn{
    width:100%;
  }
  .site-footer--extended{
    padding-left:16px;
    padding-right:16px;
  }
}

@media (max-width: 420px){
  .hero__title{
    font-size:32px;
	text-align: center;
  }
  p.hero__subtitle {
    text-align: center;
}
  .lead-form input{
    font-size:18px;
    padding-left:14px;
    padding-right:14px;
  }
}


/* ===== header one-line layout + drawn request button ===== */
.site-header__inner{
  flex-wrap:nowrap !important;
  justify-content:space-between;
  gap:clamp(6px, 1.6vw, 18px);
  min-height:clamp(58px, 8vw, 82px);
  padding:clamp(8px, 1.4vw, 10px) clamp(10px, 2.2vw, 20px) !important;
  overflow:visible;
}

.logo{
  flex:0 0 auto;
  min-width:0;
}

.logo img{
  width:clamp(36px, 5.2vw, 52px);
  height:clamp(36px, 5.2vw, 52px);
  flex:0 0 auto;
}

.header-actions{
  width:auto !important;
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  gap:clamp(6px, 1.4vw, 12px);
}

.phone-box{
  flex:0 1 auto;
  min-width:0;
  white-space:nowrap;
  font-size:clamp(12px, 2.1vw, 18px) !important;
  line-height:1 !important;
  padding:clamp(8px, 1.6vw, 11px) clamp(8px, 1.9vw, 16px) !important;
}

.top-request-btn{
  flex:0 0 auto !important;
  width:clamp(100px, 16vw, 150px) !important;
  min-width:clamp(100px, 16vw, 150px) !important;
  height:clamp(34px, 5.2vw, 48px) !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  display:block !important;
  overflow:hidden !important;
  white-space:nowrap;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-shadow:none !important;
  background:url('../img/btn-zayavka.png') center/100% 100% no-repeat !important;
  box-shadow:none !important;
  transition:filter .22s ease, transform .22s ease, background-image .22s ease;
}

.top-request-btn:hover,
.top-request-btn:focus-visible{
  background-image:url('../img/btn-zayavka-hover.png') !important;
  transform:translateY(-1px);
  filter:saturate(1.04) contrast(1.03);
  outline:none;
}

.top-request-btn:active{
  background-image:url('../img/btn-zayavka-hover-dark.png') !important;
  transform:translateY(1px);
  filter:saturate(1.02) contrast(1.05);
}

.top-request-btn::after,
.top-request-btn::before{
  display:none !important;
}

/* Дополнительные варианты hover уже лежат в assets/img:
   btn-zayavka-hover.png, btn-zayavka-hover-dark.png, btn-zayavka-hover-light.png */
@media (max-width: 420px){
  .site-header__inner{
    gap:6px;
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .header-actions{
    gap:5px;
  }
  .phone-box{
    font-size:11.5px !important;
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .top-request-btn{
    width:92px !important;
    min-width:92px !important;
    height:31px !important;
  }
  .logo img{
    width:34px;
    height:34px;
  }
}


/* ===== Fixed buttons and header layout ===== */

/* ===== Шапка в одну линию ===== */
.site-header__inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  min-height:82px;
  padding:10px 20px 10px 22px !important;
  overflow:visible;
}

.logo{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  min-width:0 !important;
  white-space:nowrap !important;
}

.logo img{
  width:52px !important;
  height:52px !important;
  max-width:none !important;
  flex:0 0 auto !important;
}

.header-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  width:auto !important;
  min-width:0 !important;
  flex:0 1 auto !important;
}

.header-actions > *{
  flex-shrink:0 !important;
}

.phone-box{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  line-height:1 !important;
}

/* ===== Кнопка "ЗАЯВКА" в шапке: фиксированный размер ===== */
.top-request-btn{
  display:block !important;
  flex:0 0 150px !important;
  flex-shrink:0 !important;
  width:150px !important;
  min-width:150px !important;
  max-width:150px !important;
  height:50px !important;
  min-height:50px !important;
  max-height:50px !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  white-space:nowrap !important;

  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-shadow:none !important;
  text-decoration:none !important;

  background:url('../img/btn-zayavka.png') center / 150px 50px no-repeat !important;
  box-shadow:none !important;
  transition:transform .22s ease, filter .22s ease, background-image .22s ease;
}

.top-request-btn:hover,
.top-request-btn:focus-visible{
  background-image:url('../img/btn-zayavka-hover.png') !important;
  transform:translateY(-1px);
  filter:saturate(1.04) contrast(1.03);
  outline:none !important;
}

.top-request-btn:active{
  background-image:url('../img/btn-zayavka-hover-dark.png') !important;
  transform:translateY(1px);
  filter:saturate(1.02) contrast(1.05);
}

.top-request-btn::before,
.top-request-btn::after{
  display:none !important;
  content:none !important;
}

/* ===== Кнопка отправки формы: не растягивать на 100% ===== */
.form-submit{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  width:auto !important;
  max-width:none !important;
}

.form-submit button{
  display:block !important;
  flex:0 0 296px !important;
  flex-shrink:0 !important;
  width:296px !important;
  min-width:296px !important;
  max-width:296px !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
  padding:0 !important;
  background-size:296px 66px !important;
}

/* Чтобы любые кнопки в flex-контейнерах не растягивались случайно */
button,
.btn,
.support-btn,
.top-request-btn{
  flex-grow:0 !important;
}

/* ===== Планшеты: размер фиксированный, но отдельный для этого диапазона ===== */
@media (max-width: 768px){
  .site-header__inner{
    min-height:64px !important;
    padding:8px 12px !important;
    gap:8px !important;
  }

  .logo img{
    width:40px !important;
    height:40px !important;
  }

  .header-actions{
    gap:8px !important;
  }

  .phone-box{
    font-size:13px !important;
    padding:8px 9px !important;
  }

  .top-request-btn{
    flex-basis:126px !important;
    width:126px !important;
    min-width:126px !important;
    max-width:126px !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    background-size:126px 42px !important;
  }

  .form-submit button{
    width:296px !important;
    min-width:296px !important;
    max-width:296px !important;
    height:66px !important;
    min-height:66px !important;
    max-height:66px !important;
    background-size:296px 66px !important;
  }
}

/* ===== Маленькие экраны: не тянем, а используем фиксированный компактный размер ===== */
@media (max-width: 420px){
  .site-header__inner{
    padding-left:8px !important;
    padding-right:8px !important;
    gap:6px !important;
  }

  .logo img{
    width:34px !important;
    height:34px !important;
  }

  .header-actions{
    gap:5px !important;
  }

  .phone-box{
    font-size:11.5px !important;
    padding:7px 6px !important;
  }

  .top-request-btn{
    flex-basis:108px !important;
    width:108px !important;
    min-width:108px !important;
    max-width:108px !important;
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    background-size:108px 36px !important;
  }

  .form-submit button{
    width:270px !important;
    min-width:270px !important;
    max-width:270px !important;
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
    background-size:270px 60px !important;
  }
}


/* ===== Header: logo left, phone center, request button right ===== */
/* ===== Header layout: logo left, phone center, request button right ===== */
.site-header__inner{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  min-height:82px;
  padding:10px 20px 10px 22px !important;
  gap:12px !important;
  overflow:visible !important;
}

.logo{
  position:relative !important;
  z-index:3 !important;
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  margin-right:auto !important;
  white-space:nowrap !important;
}

.logo img{
  display:block !important;
  width:52px !important;
  height:52px !important;
  max-width:none !important;
  flex:0 0 auto !important;
}

.header-actions{
  position:static !important;
  z-index:3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  margin-left:auto !important;
  gap:0 !important;
}

.phone-box{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  z-index:2 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  line-height:1 !important;
}

.top-request-btn{
  position:relative !important;
  z-index:4 !important;
  display:block !important;
  flex:0 0 150px !important;
  width:150px !important;
  min-width:150px !important;
  max-width:150px !important;
  height:50px !important;
  min-height:50px !important;
  max-height:50px !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-shadow:none !important;
  text-decoration:none !important;
  background:url('../img/btn-zayavka.png') center / 150px 50px no-repeat !important;
  box-shadow:none !important;
  transition:transform .22s ease, filter .22s ease, background-image .22s ease;
}

.top-request-btn:hover,
.top-request-btn:focus-visible{
  background-image:url('../img/btn-zayavka-hover.png') !important;
  transform:translateY(-1px) !important;
  filter:saturate(1.05) contrast(1.04);
  outline:none !important;
}

.top-request-btn:active{
  background-image:url('../img/btn-zayavka-hover-dark.png') !important;
  transform:translateY(1px) !important;
  filter:saturate(1.03) contrast(1.06);
}

.top-request-btn::before,
.top-request-btn::after{
  display:none !important;
  content:none !important;
}

@media (max-width: 768px){
  .site-header__inner{
    min-height:64px !important;
    padding:8px 12px !important;
    gap:8px !important;
  }

  .logo img{
    width:40px !important;
    height:40px !important;
  }

  .phone-box{
    font-size:13px !important;
    padding:8px 9px !important;
  }

  .top-request-btn{
    flex-basis:126px !important;
    width:126px !important;
    min-width:126px !important;
    max-width:126px !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    background-size:126px 42px !important;
  }
}

@media (max-width: 480px){
  .site-header__inner{
    min-height:54px !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .logo img{
    width:34px !important;
    height:34px !important;
  }

  .phone-box{
    font-size:11.5px !important;
    padding:6px 5px !important;
  }

  .top-request-btn{
    flex-basis:100px !important;
    width:100px !important;
    min-width:100px !important;
    max-width:100px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    background-size:100px 34px !important;
  }
}

@media (max-width: 360px){
  .logo img{
    width:30px !important;
    height:30px !important;
  }

  .phone-box{
    font-size:10.2px !important;
    padding:5px 4px !important;
  }

  .top-request-btn{
    flex-basis:88px !important;
    width:88px !important;
    min-width:88px !important;
    max-width:88px !important;
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
    background-size:88px 30px !important;
  }
}


/* ===== Header phone: larger text, no frame/background ===== */
/* ===== Header phone: larger text, no frame/background ===== */
.phone-box{
  color:#1f2b20 !important;
  font-size:24px !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  text-decoration:none !important;
  line-height:1 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
}

.phone-box:hover,
.phone-box:focus,
.phone-box:focus-visible,
.phone-box:active{
  color:#1f2b20 !important;
  text-decoration:none !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.phone-box::before,
.phone-box::after{
  display:none !important;
  content:none !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
}

@media (max-width: 768px){
  .phone-box{
    font-size:18px !important;
    padding:0 !important;
  }
}

@media (max-width: 480px){
  .phone-box{
    font-size:14px !important;
    padding:0 !important;
    letter-spacing:0 !important;
  }
}

@media (max-width: 360px){
  .phone-box{
    font-size:12.5px !important;
    padding:0 !important;
  }
}


/* ===== Captcha gate ===== */
.captcha-page .page-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.captcha-gate{
  width:100%;
  max-width:560px;
  margin:0 auto;
  padding:34px 28px 30px;
  text-align:center;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.96)),
    repeating-linear-gradient(-16deg, rgba(95,103,112,.018) 0, rgba(95,103,112,.018) 2px, transparent 2px, transparent 14px),
    linear-gradient(180deg, #fbfaf7 0%, #f8f7f4 100%);
  border:2px solid var(--line);
  box-shadow:0 8px 24px rgba(35,45,56,.08);
  position:relative;
}

.captcha-gate::before{
  content:"";
  position:absolute;
  left:10px;
  right:12px;
  top:9px;
  bottom:10px;
  border:1px solid rgba(90,99,109,.13);
  transform:rotate(-.25deg);
  pointer-events:none;
}

.captcha-gate__logo{
  display:flex;
  justify-content:center;
  margin-bottom:18px;
}

.captcha-gate__logo img{
  width:86px;
  height:86px;
  object-fit:contain;
}

.captcha-gate h1{
  margin:0 0 12px;
  font-size:30px;
  line-height:1.15;
  font-weight:800;
  color:#243040;
}

.captcha-gate__text{
  margin:0 0 24px;
  font-size:20px;
  line-height:1.35;
  color:#4f5b69;
}

.captcha-gate__form{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  position:relative;
  z-index:2;
}

.captcha-gate__error{
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(190,80,70,.4);
  background:rgba(255,238,236,.9);
  color:#9a3029;
  font-weight:700;
  line-height:1.35;
}

.captcha-gate__submit{
  min-width:230px;
  min-height:58px;
  padding:0 28px;
  border:0;
  background:url('../img/btn-sketch.png') center/100% 100% no-repeat;
  color:#fff;
  font-size:22px;
  line-height:1.15;
  font-weight:800;
  text-align:center;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
  cursor:pointer;
  box-shadow:none;
  transition:transform .22s ease, filter .22s ease;
}

.captcha-gate__submit:hover,
.captcha-gate__submit:focus-visible{
  background-image:url('../img/btn-sketch-hover.png');
  transform:translateY(-1px);
  filter:saturate(1.04) contrast(1.03);
  outline:none;
}

@media (max-width: 480px){
  .captcha-gate{
    padding:26px 14px 24px;
  }
  .captcha-gate h1{
    font-size:24px;
  }
  .captcha-gate__text{
    font-size:17px;
  }
  .g-recaptcha{
    transform:scale(.88);
    transform-origin:center;
  }
}

/* ===== Form valid checkmarks ===== */
.lead-form .form-row{
  position:relative;
}

.lead-form .form-row input{
  padding-right:56px !important;
}

.lead-form .form-row::after{
  content:"✓";
  position:absolute;
  right:15px;
  top:50%;
  width:28px;
  height:28px;
  transform:translateY(-50%) scale(.78);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #8fd06f 0%, #5ea445 100%);
  border:1px solid rgba(51,103,42,.35);
  color:#fff;
  font-size:19px;
  font-weight:900;
  line-height:1;
  box-shadow:0 2px 0 rgba(53,102,43,.18), inset 0 1px 0 rgba(255,255,255,.35);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}

.lead-form .form-row.is-valid::after{
  opacity:1;
  transform:translateY(-50%) scale(1);
}

.lead-form .form-row.is-valid input{
  border-color:#79bc5c;
  box-shadow:inset 0 0 0 1px rgba(120,188,92,.18);
}

/* ===== Success page: updated to current sketch/green style ===== */
.success-page{
  font-family:'Manrope', Arial, Helvetica, sans-serif;
}

.success-page .success-frame{
  min-height:calc(100vh - 56px);
  display:flex;
  flex-direction:column;
}

.success-page main{
  flex:1 1 auto;
  display:flex;
}

.success-page .success-section{
  flex:1 1 auto;
  width:100%;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 22px;
  text-align:center;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 50% 34%, rgba(143,208,111,.22) 0, rgba(143,208,111,.10) 24%, transparent 56%),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.96)),
    repeating-linear-gradient(-16deg, rgba(80,90,100,.045) 0, rgba(80,90,100,.045) 2px, transparent 2px, transparent 13px),
    #fbfaf7;
}

.success-page .success-section::before,
.success-page .success-section::after{
  content:"";
  position:absolute;
  pointer-events:none;
  opacity:.34;
  filter:saturate(.96);
}

.success-page .success-section::before{
  width:280px;
  height:280px;
  right:-70px;
  top:36px;
  background:url('../img/logo.png') center/contain no-repeat;
  transform:rotate(7deg);
}

.success-page .success-section::after{
  width:260px;
  height:120px;
  left:-42px;
  bottom:20px;
  background:
    repeating-linear-gradient(-8deg, rgba(43,55,47,.12) 0, rgba(43,55,47,.12) 2px, transparent 2px, transparent 10px);
  transform:rotate(-2deg);
}

.success-card{
  position:relative;
  z-index:2;
  width:100%;
  max-width:710px;
  margin:0 auto;
  padding:42px 42px 36px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(250,252,247,.98) 100%),
    repeating-linear-gradient(-14deg, rgba(80,90,100,.035) 0, rgba(80,90,100,.035) 2px, transparent 2px, transparent 14px);
  border:2px solid rgba(74,87,96,.34);
  box-shadow:
    0 16px 34px rgba(33,45,38,.12),
    inset 0 1px 0 rgba(255,255,255,.76);
}

.success-card::before{
  content:"";
  position:absolute;
  left:12px;
  right:14px;
  top:11px;
  bottom:12px;
  border:1px solid rgba(52,68,58,.14);
  transform:rotate(-.22deg);
  pointer-events:none;
}

.success-card__logo{
  width:94px;
  height:94px;
  margin:0 auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.success-card__logo img{
  width:94px;
  height:94px;
  object-fit:contain;
}

.success-card__check{
  width:74px;
  height:74px;
  margin:0 auto 18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:48px;
  font-weight:900;
  line-height:1;
  background:linear-gradient(180deg, #9ad978 0%, #5ea445 100%);
  border:2px solid rgba(49,88,42,.32);
  box-shadow:
    0 7px 0 rgba(55,96,47,.14),
    inset 0 2px 0 rgba(255,255,255,.38);
  text-shadow:0 1px 0 rgba(0,0,0,.18);
}

.success-card h1{
  margin:0 0 14px;
  font-size:clamp(34px, 5.2vw, 54px);
  line-height:1.06;
  font-weight:800;
  letter-spacing:-.04em;
  color:#243040;
}

.success-card__lead{
  max-width:590px;
  margin:0 auto 22px;
  font-size:21px;
  line-height:1.45;
  font-weight:500;
  color:#4f5b69;
}

.success-card__notice{
  max-width:560px;
  margin:0 auto 24px;
  padding:15px 18px;
  display:flex;
  flex-direction:column;
  gap:5px;
  border:2px solid rgba(143,208,111,.46);
  background:rgba(246,255,240,.88);
  color:#31582a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.success-card__notice strong{
  font-size:18px;
  font-weight:800;
}

.success-card__notice span{
  font-size:16px;
  line-height:1.35;
}

.success-steps{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  margin:0 0 28px;
}

.success-step{
  min-height:112px;
  padding:16px 12px 14px;
  background:#fff;
  border:2px solid rgba(190,196,203,.76);
  box-shadow:0 2px 0 rgba(43,55,69,.05);
}

.success-step span{
  width:32px;
  height:32px;
  margin:0 auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(180deg, #8fd06f 0%, #5ea445 100%);
  color:#fff;
  font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34);
}

.success-step p{
  margin:0;
  font-size:15px;
  line-height:1.3;
  font-weight:700;
  color:#384252;
}

.success-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

.success-action{
  min-width:188px;
  min-height:52px;
  padding:15px 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  transition:transform .22s ease, filter .22s ease, background .22s ease, color .22s ease;
}

.success-action--primary{
  color:#fff;
  text-shadow:0 1px 0 rgba(0,0,0,.16);
  border:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.30) 0%, transparent 32%),
    linear-gradient(180deg, #8fd06f 0%, #5ea445 100%);
  box-shadow:
    0 5px 0 rgba(48,88,38,.18),
    inset 0 1px 0 rgba(255,255,255,.46);
  outline:2px solid rgba(31,55,33,.56);
  outline-offset:-2px;
  border-radius:6px;
}

.success-action--primary:hover,
.success-action--primary:focus-visible{
  transform:translateY(-1px);
  filter:saturate(1.08) contrast(1.03);
  outline:2px solid rgba(31,55,33,.68);
}

.success-action--phone{
  color:#243040;
  background:#fff;
  border:2px solid rgba(190,196,203,.9);
  box-shadow:0 3px 0 rgba(43,55,69,.06);
}

.success-action--phone:hover,
.success-action--phone:focus-visible{
  color:#31582a;
  border-color:rgba(94,164,69,.65);
  transform:translateY(-1px);
}

@media (max-width: 767px){
  .success-page .success-section{
    min-height:0;
    padding:30px 12px;
  }

  .success-card{
    padding:30px 16px 26px;
  }

  .success-card__logo{
    width:78px;
    height:78px;
  }

  .success-card__logo img{
    width:78px;
    height:78px;
  }

  .success-card__check{
    width:62px;
    height:62px;
    font-size:40px;
  }

  .success-card__lead{
    font-size:18px;
  }

  .success-steps{
    grid-template-columns:1fr;
  }

  .success-step{
    min-height:auto;
  }

  .success-action{
    width:100%;
    max-width:280px;
  }
}


/* ===== Final fixes: Telegram sending state button ===== */
.lead-form.is-sending .form-submit button,
.form-submit button:disabled{
  width:296px !important;
  min-width:296px !important;
  max-width:296px !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
  border:0 !important;
  background: url('../img/btn-sketch-sending.png') center/296px 66px no-repeat !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  color:transparent !important;
  text-shadow:none !important;
  cursor:wait !important;
}

.lead-form.is-sending .form-submit button .btn-text,
.form-submit button:disabled .btn-text{
  opacity:0 !important;
}

.lead-form.is-sending .form-submit button::after,
.form-submit button:disabled::after{
  opacity:.36 !important;
}

@media (max-width: 768px){
  .lead-form.is-sending .form-submit button,
  .form-submit button:disabled{
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    height:58px !important;
    min-height:58px !important;
    max-height:58px !important;
    background-size:250px 58px !important;
  }
}

/* ===== Phone confirmation before send ===== */
body.phone-check-open{
  overflow:hidden;
}

.phone-check-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.phone-check-modal.is-open{
  display:flex;
}

.phone-check-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(28,36,46,.52);
  backdrop-filter:blur(4px);
}

.phone-check-modal__dialog{
  position:relative;
  width:min(480px, 100%);
  border:2px solid #d5dde6;
  border-radius:30px;
  background:
    radial-gradient(circle at 12% 0%, rgba(143,208,111,.18), transparent 36%),
    linear-gradient(180deg, #fff 0%, #f8fbf4 100%);
  box-shadow:0 28px 70px rgba(25,38,57,.24), inset 0 1px 0 rgba(255,255,255,.86);
  padding:34px 26px 28px;
  text-align:center;
  overflow:hidden;
}

.phone-check-modal__dialog::before,
.phone-check-modal__dialog::after{
  content:"";
  position:absolute;
  pointer-events:none;
  opacity:.42;
}

.phone-check-modal__dialog::before{
  inset:12px;
  border:2px dashed rgba(80,96,114,.18);
  border-radius:24px;
}

.phone-check-modal__dialog::after{
  left:28px;
  right:28px;
  bottom:18px;
  height:12px;
  background:repeating-linear-gradient(90deg, rgba(87,100,116,.18) 0 18px, transparent 18px 28px);
}

.phone-check-modal__close{
  position:absolute;
  top:14px;
  right:16px;
  z-index:2;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#4e5c6c;
  font-size:30px;
  line-height:34px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 5px 16px rgba(31,44,59,.14);
}

.phone-check-modal__logo{
  width:78px;
  height:78px;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 28px rgba(46,75,37,.13);
}

.phone-check-modal__logo img{
  width:58px;
  height:58px;
  object-fit:contain;
}

.phone-check-modal h2{
  position:relative;
  z-index:1;
  margin:0 0 10px;
  color:#202733;
  font-size:30px;
  line-height:1.08;
  font-weight:900;
}

.phone-check-modal__text{
  position:relative;
  z-index:1;
  margin:0;
  color:#4f5c69;
  font-size:21px;
  font-weight:700;
}

.phone-check-modal__phone{
  position:relative;
  z-index:1;
  margin:16px auto 22px;
  width:fit-content;
  max-width:100%;
  padding:12px 20px;
  border-radius:18px;
  border:2px solid rgba(126,185,92,.48);
  background:#fff;
  color:#2c7a2f;
  font-size:28px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8), 0 8px 24px rgba(81,140,60,.12);
  word-break:break-word;
}

.phone-check-modal__actions{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.phone-check-confirm{
  width:296px;
  max-width:100%;
  height:66px;
  border:0;
  background:url('../img/btn-sketch.png') center/296px 66px no-repeat;
  color:#fff;
  font-family:inherit;
  font-size:20px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
  cursor:pointer;
  text-shadow:0 1px 1px rgba(39,80,28,.26);
}

.phone-check-confirm:hover,
.phone-check-confirm:focus-visible{
  background-image:url('../img/btn-sketch-hover.png');
  outline:none;
}

.phone-check-edit{
  border:0;
  background:transparent;
  color:#445366;
  font-family:inherit;
  font-size:18px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
}

.phone-check-edit:hover,
.phone-check-edit:focus-visible{
  color:#2c7a2f;
  outline:none;
}

@media (max-width: 520px){
  .phone-check-modal__dialog{
    padding:30px 18px 24px;
    border-radius:24px;
  }

  .phone-check-modal h2{
    font-size:25px;
  }

  .phone-check-modal__text{
    font-size:19px;
  }

  .phone-check-modal__phone{
    font-size:24px;
    padding:11px 15px;
  }

  .phone-check-confirm{
    width:250px;
    height:58px;
    background-size:250px 58px;
    font-size:17px;
  }
}

/* ===== Protected table page ===== */
.admin-table-page{
  font-family:'Manrope', Arial, Helvetica, sans-serif;
  background:#eaf1f6;
}

.admin-table-frame{
  min-height:calc(100vh - 56px);
}

.admin-table-header-title{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  color:#202733;
  font-size:28px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.admin-table-logout,
.admin-table-home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:2px solid rgba(108,133,164,.24);
  border-radius:999px;
  background:#fff;
  color:#334155;
  font-size:16px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(31,44,59,.08);
}

.admin-table-main{
  padding:32px clamp(16px, 4vw, 44px) 46px;
}

.admin-login-card,
.admin-table-card{
  width:min(100%, 1120px);
  margin:0 auto;
  border:2px solid #d4dde7;
  border-radius:30px;
  background:
    radial-gradient(circle at 0% 0%, rgba(143,208,111,.16), transparent 34%),
    linear-gradient(180deg, #fff 0%, #f8fbf4 100%);
  box-shadow:0 24px 58px rgba(29,43,61,.12);
}

.admin-login-card{
  width:min(100%, 480px);
  padding:34px 28px;
  text-align:center;
}

.admin-login-card__logo{
  width:74px;
  height:74px;
  object-fit:contain;
  margin-bottom:14px;
}

.admin-login-card h1,
.admin-table-card h1{
  margin:0;
  color:#202733;
  font-size:32px;
  line-height:1.12;
  font-weight:900;
}

.admin-login-card p,
.admin-table-topline p{
  margin:10px 0 0;
  color:#5b6878;
  font-size:18px;
  font-weight:600;
}

.admin-login-error{
  margin:18px 0 0;
  padding:12px 14px;
  border-radius:16px;
  background:#fff2f2;
  color:#ba2d2d;
  font-size:16px;
  font-weight:800;
}

.admin-login-form{
  margin-top:22px;
  display:grid;
  gap:14px;
}

.admin-login-form input{
  width:100%;
  height:58px;
  border:2px solid #d4dde7;
  border-radius:18px;
  background:#fff;
  padding:0 18px;
  color:#202733;
  font-family:inherit;
  font-size:22px;
  font-weight:800;
  text-align:center;
  outline:none;
}

.admin-login-form input:focus{
  border-color:#87bd65;
  box-shadow:0 0 0 4px rgba(135,189,101,.16);
}

.admin-login-form button{
  justify-self:center;
  width:250px;
  height:58px;
  border:0;
  background:url('../img/btn-sketch.png') center/250px 58px no-repeat;
  color:#fff;
  font-family:inherit;
  font-size:21px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}

.admin-login-form button:hover,
.admin-login-form button:focus-visible{
  background-image:url('../img/btn-sketch-hover.png');
  outline:none;
}

.admin-table-card{
  padding:26px;
}

.admin-table-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}

.admin-table-empty{
  padding:26px;
  border:2px dashed rgba(91,104,120,.24);
  border-radius:22px;
  color:#5b6878;
  background:#fff;
  font-size:19px;
  font-weight:800;
  text-align:center;
}

.admin-table-scroll{
  overflow:auto;
  border:2px solid #d4dde7;
  border-radius:22px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.admin-leads-table{
  width:100%;
  min-width:980px;
  border-collapse:separate;
  border-spacing:0;
  font-size:15px;
  color:#263241;
}

.admin-leads-table th,
.admin-leads-table td{
  padding:14px 16px;
  border-bottom:1px solid #e4ebf2;
  border-right:1px solid #eef3f7;
  vertical-align:top;
  text-align:left;
}

.admin-leads-table th:last-child,
.admin-leads-table td:last-child{
  border-right:0;
}

.admin-leads-table tr:last-child td{
  border-bottom:0;
}

.admin-leads-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#eef8e9;
  color:#223044;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.admin-leads-table tbody tr:nth-child(even) td{
  background:#fbfdf8;
}

.admin-leads-table a{
  color:#2b7a31;
  font-weight:900;
  text-decoration:none;
}

.admin-leads-table a:hover{
  text-decoration:underline;
}

.user-agent-cell{
  max-width:420px;
  word-break:break-word;
  color:#4e5d70;
  font-size:13px;
  line-height:1.35;
}

@media (max-width: 768px){
  .admin-table-header-title{
    font-size:20px;
  }

  .admin-table-logout{
    min-height:38px;
    padding:0 12px;
    font-size:14px;
  }

  .admin-table-main{
    padding:22px 12px 34px;
  }

  .admin-login-card,
  .admin-table-card{
    border-radius:22px;
  }

  .admin-login-card h1,
  .admin-table-card h1{
    font-size:26px;
  }

  .admin-table-card{
    padding:16px;
  }

  .admin-table-topline{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* ===== Mobile fix: sending image must not be covered by hover/disabled state ===== */
#lead-form.is-sending #submitBtn,
#submitBtn.is-sending-button,
#submitBtn.is-sending-button:hover,
#submitBtn.is-sending-button:focus,
#submitBtn.is-sending-button:focus-visible,
#submitBtn.is-sending-button:active,
#submitBtn.is-sending-button:disabled{
  display:block !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  color:transparent !important;
  text-shadow:none !important;
  overflow:hidden !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

#lead-form.is-sending #submitBtn::before,
#lead-form.is-sending #submitBtn::after,
#submitBtn.is-sending-button::before,
#submitBtn.is-sending-button::after{
  display:none !important;
  content:none !important;
  background:none !important;
}

#submitBtn.is-sending-button .btn-sending-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:fill !important;
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}

#submitBtn.is-sending-button .btn-text{
  display:none !important;
}


/* ===== Visible sending button fallback for mobile Safari/Android ===== */
#lead-form #submitBtn.is-sending-button,
#lead-form #submitBtn.is-sending-button:hover,
#lead-form #submitBtn.is-sending-button:focus,
#lead-form #submitBtn.is-sending-button:focus-visible,
#lead-form #submitBtn.is-sending-button:active,
#lead-form #submitBtn.is-sending-button:disabled{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:296px !important;
  min-width:296px !important;
  max-width:296px !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
  padding:0 !important;
  border:2px solid rgba(46, 126, 29, .75) !important;
  border-radius:14px !important;
  background:#5ebd30 !important;
  background-image:linear-gradient(180deg, #83de4c 0%, #4eaa27 100%) !important;
  box-shadow:0 8px 20px rgba(68, 142, 41, .28), inset 0 1px 0 rgba(255,255,255,.45) !important;
  opacity:1 !important;
  filter:none !important;
  color:#fff !important;
  text-shadow:0 1px 1px rgba(0,0,0,.24) !important;
  font-size:26px !important;
  font-weight:800 !important;
  line-height:1 !important;
  overflow:hidden !important;
  cursor:wait !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

#lead-form #submitBtn.is-sending-button::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  background:url('../img/btn-sketch-sending.png') center / 100% 100% no-repeat !important;
  z-index:0 !important;
  pointer-events:none !important;
}

#lead-form #submitBtn.is-sending-button::after{
  display:none !important;
  content:none !important;
}

#lead-form #submitBtn.is-sending-button .btn-text{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  opacity:1 !important;
  color:#fff !important;
  font-size:26px !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.24) !important;
}

#lead-form #submitBtn.is-sending-button .btn-sending-img{
  display:none !important;
}

@media (max-width: 768px){
  #lead-form #submitBtn.is-sending-button,
  #lead-form #submitBtn.is-sending-button:hover,
  #lead-form #submitBtn.is-sending-button:focus,
  #lead-form #submitBtn.is-sending-button:focus-visible,
  #lead-form #submitBtn.is-sending-button:active,
  #lead-form #submitBtn.is-sending-button:disabled{
    width:270px !important;
    min-width:270px !important;
    max-width:270px !important;
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
    font-size:23px !important;
  }

  #lead-form #submitBtn.is-sending-button .btn-text{
    font-size:23px !important;
  }
}


/* ===== FINAL FIX: clean sending button on desktop and mobile ===== */
/* Убираем наложение текста, hover и псевдоэлементов поверх картинки "Отправка ..." */
#lead-form.is-sending #submitBtn,
#lead-form #submitBtn.is-sending-button,
#lead-form #submitBtn.is-sending-button:disabled,
#lead-form #submitBtn.is-sending-button:hover,
#lead-form #submitBtn.is-sending-button:focus,
#lead-form #submitBtn.is-sending-button:focus-visible,
#lead-form #submitBtn.is-sending-button:active{
  display:block !important;
  flex:0 0 296px !important;
  width:296px !important;
  min-width:296px !important;
  max-width:296px !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#55b631 url('../img/btn-sketch-sending.png') center center / 296px 66px no-repeat !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  color:transparent !important;
  text-shadow:none !important;
  font-size:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
  cursor:wait !important;
  transform:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

#lead-form.is-sending #submitBtn .btn-text,
#lead-form #submitBtn.is-sending-button .btn-text{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

#lead-form.is-sending #submitBtn::before,
#lead-form.is-sending #submitBtn::after,
#lead-form #submitBtn.is-sending-button::before,
#lead-form #submitBtn.is-sending-button::after{
  display:none !important;
  content:none !important;
  background:none !important;
  box-shadow:none !important;
}

@media (max-width: 768px){
  #lead-form.is-sending #submitBtn,
  #lead-form #submitBtn.is-sending-button,
  #lead-form #submitBtn.is-sending-button:disabled,
  #lead-form #submitBtn.is-sending-button:hover,
  #lead-form #submitBtn.is-sending-button:focus,
  #lead-form #submitBtn.is-sending-button:active{
    flex-basis:250px !important;
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    height:58px !important;
    min-height:58px !important;
    max-height:58px !important;
    background-size:250px 58px !important;
  }
}


/* ===== FINAL CLEAN FIX: remove green side background from sending button ===== */
#lead-form.is-sending #submitBtn,
#lead-form #submitBtn.is-sending-button,
#lead-form #submitBtn.is-sending-button:disabled,
#lead-form #submitBtn.is-sending-button:hover,
#lead-form #submitBtn.is-sending-button:focus,
#lead-form #submitBtn.is-sending-button:focus-visible,
#lead-form #submitBtn.is-sending-button:active{
  background-color:transparent !important;
  background-image:url('../img/btn-sketch-sending.png') !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-size:296px 66px !important;
  box-shadow:none !important;
  border:0 !important;
  outline:0 !important;
}

@media (max-width: 768px){
  #lead-form.is-sending #submitBtn,
  #lead-form #submitBtn.is-sending-button,
  #lead-form #submitBtn.is-sending-button:disabled,
  #lead-form #submitBtn.is-sending-button:hover,
  #lead-form #submitBtn.is-sending-button:focus,
  #lead-form #submitBtn.is-sending-button:focus-visible,
  #lead-form #submitBtn.is-sending-button:active{
    background-color:transparent !important;
    background-size:250px 58px !important;
  }
}


/* ===== ABSOLUTE FINAL FIX: mobile sending state overrides normal/hover button ===== */
/* Кнопка отправки НЕ disabled: поэтому стили :disabled/hover больше не могут подменить картинку. */
html body #lead-form.lead-form.is-sending .form-submit #submitBtn,
html body #lead-form.lead-form.is-sending .form-submit #submitBtn:hover,
html body #lead-form.lead-form.is-sending .form-submit #submitBtn:focus,
html body #lead-form.lead-form.is-sending .form-submit #submitBtn:focus-visible,
html body #lead-form.lead-form.is-sending .form-submit #submitBtn:active,
html body #lead-form .form-submit #submitBtn.is-sending-button,
html body #lead-form .form-submit #submitBtn.is-sending-button:hover,
html body #lead-form .form-submit #submitBtn.is-sending-button:focus,
html body #lead-form .form-submit #submitBtn.is-sending-button:focus-visible,
html body #lead-form .form-submit #submitBtn.is-sending-button:active{
  display:block !important;
  flex:0 0 296px !important;
  width:296px !important;
  min-width:296px !important;
  max-width:296px !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background-color:transparent !important;
  background-image:url('../img/btn-sketch-sending.png') !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-size:296px 66px !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  color:transparent !important;
  text-shadow:none !important;
  font-size:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
  cursor:wait !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

html body #lead-form.lead-form.is-sending .form-submit #submitBtn .btn-text,
html body #lead-form .form-submit #submitBtn.is-sending-button .btn-text{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

html body #lead-form.lead-form.is-sending .form-submit #submitBtn::before,
html body #lead-form.lead-form.is-sending .form-submit #submitBtn::after,
html body #lead-form .form-submit #submitBtn.is-sending-button::before,
html body #lead-form .form-submit #submitBtn.is-sending-button::after{
  display:none !important;
  content:none !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  opacity:0 !important;
}

@media (max-width: 768px){
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn,
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn:hover,
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn:focus,
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn:focus-visible,
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn:active,
  html body #lead-form .form-submit #submitBtn.is-sending-button,
  html body #lead-form .form-submit #submitBtn.is-sending-button:hover,
  html body #lead-form .form-submit #submitBtn.is-sending-button:focus,
  html body #lead-form .form-submit #submitBtn.is-sending-button:focus-visible,
  html body #lead-form .form-submit #submitBtn.is-sending-button:active{
    flex:0 0 270px !important;
    width:270px !important;
    min-width:270px !important;
    max-width:270px !important;
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
    background-color:transparent !important;
    background-image:url('../img/btn-sketch-sending.png') !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-size:270px 60px !important;
  }
}

@media (max-width: 420px){
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn,
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn:hover,
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn:focus,
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn:focus-visible,
  html body #lead-form.lead-form.is-sending .form-submit #submitBtn:active,
  html body #lead-form .form-submit #submitBtn.is-sending-button,
  html body #lead-form .form-submit #submitBtn.is-sending-button:hover,
  html body #lead-form .form-submit #submitBtn.is-sending-button:focus,
  html body #lead-form .form-submit #submitBtn.is-sending-button:focus-visible,
  html body #lead-form .form-submit #submitBtn.is-sending-button:active{
    flex:0 0 270px !important;
    width:270px !important;
    min-width:270px !important;
    max-width:270px !important;
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
    background-size:270px 60px !important;
  }
}


/* ===== RADICAL FIX: submit is image input, old .form-submit button styles no longer apply ===== */
html body #lead-form .form-submit{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  padding-top:8px !important;
}

html body #lead-form .form-submit input#submitBtn.send-image-input,
html body #lead-form .form-submit input#submitBtn.send-image-input:hover,
html body #lead-form .form-submit input#submitBtn.send-image-input:focus,
html body #lead-form .form-submit input#submitBtn.send-image-input:focus-visible,
html body #lead-form .form-submit input#submitBtn.send-image-input:active,
html body #lead-form .form-submit input#submitBtn.send-image-input.is-sending-image,
html body #lead-form.is-sending .form-submit input#submitBtn.send-image-input{
  display:block !important;
  flex:0 0 296px !important;
  width:296px !important;
  min-width:296px !important;
  max-width:296px !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  object-fit:fill !important;
  cursor:pointer !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

html body #lead-form.is-sending .form-submit input#submitBtn.send-image-input,
html body #lead-form .form-submit input#submitBtn.send-image-input.is-sending-image{
  cursor:wait !important;
}

@media (max-width: 768px){
  html body #lead-form .form-submit input#submitBtn.send-image-input,
  html body #lead-form .form-submit input#submitBtn.send-image-input:hover,
  html body #lead-form .form-submit input#submitBtn.send-image-input:focus,
  html body #lead-form .form-submit input#submitBtn.send-image-input:focus-visible,
  html body #lead-form .form-submit input#submitBtn.send-image-input:active,
  html body #lead-form .form-submit input#submitBtn.send-image-input.is-sending-image,
  html body #lead-form.is-sending .form-submit input#submitBtn.send-image-input{
    flex-basis:270px !important;
    width:270px !important;
    min-width:270px !important;
    max-width:270px !important;
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
  }
}

@media (max-width: 360px){
  html body #lead-form .form-submit input#submitBtn.send-image-input,
  html body #lead-form .form-submit input#submitBtn.send-image-input:hover,
  html body #lead-form .form-submit input#submitBtn.send-image-input:focus,
  html body #lead-form .form-submit input#submitBtn.send-image-input:focus-visible,
  html body #lead-form .form-submit input#submitBtn.send-image-input:active,
  html body #lead-form .form-submit input#submitBtn.send-image-input.is-sending-image,
  html body #lead-form.is-sending .form-submit input#submitBtn.send-image-input{
    flex-basis:250px !important;
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
  }
}


/* ===== REAL FINAL FIX: image button component with visible text ===== */
/* Кнопка отправки теперь отдельный компонент. Старые .form-submit button стили полностью сбрасываются. */
html body #lead-form .form-submit{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  padding-top:8px !important;
}

html body #lead-form .form-submit button#submitBtn.send-img-btn,
html body #lead-form .form-submit button#submitBtn.send-img-btn:hover,
html body #lead-form .form-submit button#submitBtn.send-img-btn:focus,
html body #lead-form .form-submit button#submitBtn.send-img-btn:focus-visible,
html body #lead-form .form-submit button#submitBtn.send-img-btn:active,
html body #lead-form .form-submit button#submitBtn.send-img-btn.is-sending-image,
html body #lead-form.is-sending .form-submit button#submitBtn.send-img-btn{
  position:relative !important;
  display:block !important;
  flex:0 0 296px !important;
  width:296px !important;
  min-width:296px !important;
  max-width:296px !important;
  height:66px !important;
  min-height:66px !important;
  max-height:66px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  overflow:hidden !important;
  cursor:pointer !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

html body #lead-form .form-submit button#submitBtn.send-img-btn::before,
html body #lead-form .form-submit button#submitBtn.send-img-btn::after,
html body #lead-form .form-submit button#submitBtn.send-img-btn:hover::before,
html body #lead-form .form-submit button#submitBtn.send-img-btn:hover::after,
html body #lead-form .form-submit button#submitBtn.send-img-btn:active::before,
html body #lead-form .form-submit button#submitBtn.send-img-btn:active::after,
html body #lead-form.is-sending .form-submit button#submitBtn.send-img-btn::before,
html body #lead-form.is-sending .form-submit button#submitBtn.send-img-btn::after{
  display:none !important;
  content:none !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  opacity:0 !important;
}

html body #lead-form .form-submit button#submitBtn.send-img-btn .send-img-btn__image{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:fill !important;
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}

html body #lead-form .form-submit button#submitBtn.send-img-btn .send-img-btn__text{
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 14px 4px !important;
  color:#fff !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:800 !important;
  font-family:Arial, Helvetica, sans-serif !important;
  letter-spacing:.2px !important;
  text-align:center !important;
  text-shadow:0 1px 1px rgba(0,0,0,.28) !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}

html body #lead-form .form-submit button#submitBtn.send-img-btn:hover .send-img-btn__image{
  content:url('../img/btn-sketch-hover.png') !important;
}

html body #lead-form .form-submit button#submitBtn.send-img-btn.is-sending-image,
html body #lead-form.is-sending .form-submit button#submitBtn.send-img-btn{
  cursor:wait !important;
}

html body #lead-form .form-submit button#submitBtn.send-img-btn.is-sending-image .send-img-btn__image,
html body #lead-form.is-sending .form-submit button#submitBtn.send-img-btn .send-img-btn__image,
html body #lead-form .form-submit button#submitBtn.send-img-btn.is-sending-image:hover .send-img-btn__image,
html body #lead-form.is-sending .form-submit button#submitBtn.send-img-btn:hover .send-img-btn__image{
  content:url('../img/btn-sketch-sending.png') !important;
}

html body #lead-form .form-submit button#submitBtn.send-img-btn.is-sending-image .send-img-btn__text,
html body #lead-form.is-sending .form-submit button#submitBtn.send-img-btn .send-img-btn__text{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

@media (max-width: 768px){
  html body #lead-form .form-submit button#submitBtn.send-img-btn,
  html body #lead-form .form-submit button#submitBtn.send-img-btn:hover,
  html body #lead-form .form-submit button#submitBtn.send-img-btn:focus,
  html body #lead-form .form-submit button#submitBtn.send-img-btn:focus-visible,
  html body #lead-form .form-submit button#submitBtn.send-img-btn:active,
  html body #lead-form .form-submit button#submitBtn.send-img-btn.is-sending-image,
  html body #lead-form.is-sending .form-submit button#submitBtn.send-img-btn{
    flex-basis:270px !important;
    width:270px !important;
    min-width:270px !important;
    max-width:270px !important;
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
  }

  html body #lead-form .form-submit button#submitBtn.send-img-btn .send-img-btn__text{
font-size:19px !important;
    padding:0 10px 3px !important;
  }
}

@media (max-width: 360px){
  html body #lead-form .form-submit button#submitBtn.send-img-btn,
  html body #lead-form .form-submit button#submitBtn.send-img-btn:hover,
  html body #lead-form .form-submit button#submitBtn.send-img-btn:focus,
  html body #lead-form .form-submit button#submitBtn.send-img-btn:focus-visible,
  html body #lead-form .form-submit button#submitBtn.send-img-btn:active,
  html body #lead-form .form-submit button#submitBtn.send-img-btn.is-sending-image,
  html body #lead-form.is-sending .form-submit button#submitBtn.send-img-btn{
    flex-basis:250px !important;
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
  }

  html body #lead-form .form-submit button#submitBtn.send-img-btn .send-img-btn__text{
     font-size:18px !important;
  }
}
