html, body { margin: 0; }
body { overflow-x: hidden; }
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
html, body{
  font-family: "Inter", system-ui, sans-serif;
}



.hero__title{
  font-family: "Fira Code", monospace;
}
.prices__highlight{}

/* ===== TOP BAR (phone + logo) ===== */
.hero__top{
  position:absolute;
  left:56px; right:16px; top:26px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  z-index:10;
}

/* main.css */
.container {
  max-width: 1290px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px; 
  padding-right: 15px;
  box-sizing: border-box;
}


.hero__phone{
  width: 533px;
  height: 100px;
  position:relative;
  display:inline-flex;
  margin-top: -17px;
  margin-left: -9px;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:600;
  font-size:37.5px;
  letter-spacing:.06em;
  text-decoration:none;
  isolation:isolate; 
}

.hero__phone2{
  width: 533px;
  height: 100px;
  position:relative;
  display:inline-flex;
  margin-top: -17px;
  margin-left: -9px;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:600;
  font-size:27.5px;
  letter-spacing:.06em;
  text-decoration:none;
  isolation:isolate; 
}

.hero__phone::before{
  content:"";
  position:absolute;
  z-index:-2;
  left:0;
  right:4px;
  top:0;
  bottom:0;
  border-radius: 44px;

  background:
    radial-gradient(120px 90px at 92% 50%,
      rgba(255, 255, 255, 0.71) 0%,
      rgba(255, 255, 255, 0.53) 35%,
      rgba(255, 255, 255, 0.474) 62%
    ),

    linear-gradient(180deg,
      rgba(255, 255, 255, 0.084) 0%,
      rgba(255,255,255,.12) 55%,
      rgba(255,255,255,.06) 100%
    );


  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.18);

  pointer-events:none;


  opacity: .9; 
  mask-image: linear-gradient(90deg,
  transparent 0%,
  transparent 5%,  
  rgba(0,0,0,.25) 70%,
  #000 100%
);
-webkit-mask-image: linear-gradient(90deg,
  transparent 0%,
  transparent 55%,
  rgba(0,0,0,.25) 70%,
  #000 100%
);
}


.hero__phone::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:44px;
  padding:4px; /* толщина рамки */

background: linear-gradient(90deg,
  rgba(255, 255, 255, 0.064)  0%,
  rgba(255,255,255,.08) 55%,
  rgba(255,255,255,.22) 75%,
  rgba(255, 255, 255, 0.776) 100%
);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:-1;
}

/* logo справа */
.hero__brand{
  position:static;
  top:26px;
  margin-right:-66px;
  z-index:10;
  color:#fff;
}

.hero__logo{
  display:block;
  width:168px; 
  height:auto;
  margin-bottom: -14px;
  margin-top: -12px;
  margin-right: 72px;
}

.hero__brand-text{
  display:block;
  margin-left: -92px;
  font-size:12px;
  letter-spacing:.08em;
  white-space:nowrap;
}

/* ===== HERO ===== */
.hero__text,.hero__media{position:relative;z-index:1;}
.hero{
  position:relative;
  overflow:hidden;
  min-height:809px;
  padding:120px 28px 70px; 
  color:#fff;
  background:

  linear-gradient(180deg,
      #bfe3f7 0%,
      #2f6fd6 32%,
      #0b1730 52%,
      #000 72%,
      #000 100%)
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: 

  url("imgs/border3.png");
  

  background-repeat:no-repeat;
  

  background-position:82px 140px;
  background-size:43% auto;
  pointer-events:none;
  z-index:0;
}

.hero::after{
  content:"";
  position:absolute; inset:0;
  background:url("imgs/tube.png") center/cover no-repeat;
  z-index:1;
}

.hero__text{
  position:absolute;

  left: 96px;
  top: 140px;
  width:620px;
  height:660px;
    z-index:-1;
}
.hero__text::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-10;
}

.hero__content{
    position:relative;
    z-index:2;
    padding:4px 12px;
    color:#fff;
}

.hero__title{
  margin-top: -82px;
  margin-left: -12px;
  font-size:56px;
  line-height:1.12;
  font-weight:400;
  text-transform:uppercase;
}

.hero__note{
  padding-top: 2px;
  padding-left: 16px;
  margin:0 0 114px;
  font-size: 23px;
  letter-spacing:.21em;
  text-transform:uppercase;
}
.hero__text,
.hero__media{
  position: relative;
  z-index: 2;
}

#callbackForm .btn.form__btn{min-width: auto;}
/* Hover — при наведении */
.btn.form__btn:hover {
  background-color: #005fcc;   /* чуть темнее */
  transform: translateY(-2px); /* эффект "поднятия" */
  box-shadow: 0 6px 10px rgba(0,0,0,0.15);
}

/* Active — при нажатии */
.btn.form__btn:active {
  background-color: #004999;   /* ещё темнее */
  transform: translateY(0px);  /* кнопка "вдавливается" */
  box-shadow: 0 3px 5px rgba(0,0,0,0.1);
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:410px;
  height:82px;
  margin-left: 44px;
  padding:0 34px;
  border-radius:14px;
  background:#2f69ff;
  color:#fff;
  text-decoration:none;
  font-size:32px;
  letter-spacing:.1em;
  text-transform:uppercase;
    font-family: "Fira Code", monospace;
  font-weight: 400;
}

.hero .btn{
  margin-left: 0px !important;
  transform: none !important;
  position: relative !important;
    position: relative;
  z-index: 5;
}

.hero__media{
  position:absolute;
  right:0;
  bottom:0;
  width:760px;
  height:100%;
  z-index:4;
  pointer-events:none;
}

.hero__doc{
  position:absolute;
  left:10px;
  top:210px;
  width:500px;
}

.hero__scales{
  position:absolute;
  right: 30px;
  bottom:-5px;
  width: 590px;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));
  z-index:3;
}

/* интро .......................................................................................................................... */
/* ===== INTRO ===== */
.intro__wrapper{
  position: relative;
  height: 809px;
  overflow: hidden;
  background:
  url("imgs/sphere.png") left -180px bottom -120px / 520px auto no-repeat,
    #000;
}

.intro__wrapper::before{
  content:"";
  position:absolute;
  inset:0;
  background: url("imgs/tube2.png") right -10px top -10px / 500px auto no-repeat;
  z-index: 2;
  pointer-events:none;
}

.intro{
  padding:40px 24px 20px;
  text-align:center;
}
.intro__title{
    margin-top: 20px;
  color:#fff;
  font-size:56px;
  line-height:0.8;
  font-weight:300;
  letter-spacing: 0.01em;
  position: relative;
  z-index: 99;
}

.steps{
  padding:0 13px 0;
}
.steps__list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  gap:28px;
  justify-content:center;
}
.step{
  width:320px;
  height:290px;
  padding:0 0;
  position: relative;
  color:#fff;
  border-radius:28px;
  border:3px solid rgba(255,255,255,.45);
  background:linear-gradient(180deg,#12294D 0%, #1e63d1 55%, #bcdcf3 100%);
  box-shadow:0 0 0 1px rgba(0,0,0,.25) inset;
}
.step__title{
  padding: 34px 44px;
  margin:0 0 0;
  text-align: left;
  width: auto;
  font-size:18px;
  letter-spacing:.001em;
  line-height: 1.2;
  text-transform:uppercase;
  height: 90px; 
/*  display: flex;*/
  align-items: center;
  justify-content: center; 
  padding: 0 44px;
  padding-left: 30px;
      padding-top: 30px;
}
.step:first-child .step__title{
/*  transform: translateX(-75px);*/
}
.step__text{
  text-align: left;
  margin-left: 25px;
  width: 250px;
  font-size:18px;
  line-height:1.15;
  opacity:.95;
}
/* эта карточка ПОД трубой */
.step-card--under{
  z-index: 1;
}

/* эта карточка НАД трубой */
.step-card--over{
  z-index: 3;
}

/* третий блок.......................................................................................................................... */
.offer{
  position:relative;
  overflow:hidden;
  height:809px;
  padding:90px 0;
  color:#fff;


  background-image:
    url("imgs/Vector.png"),
    url("imgs/Vector2.png"),
    url("imgs/sphere2.png"),
    linear-gradient(180deg,
      #000 0%,
      #000 32%,
      #0b1730 48%,
      #2f6fd6 78%,
      #bfe3f7 100%
    );

  background-repeat:no-repeat;
  background-size:
    475px 700px,
    700px auto,
    330px 330px,
    100% 100%;

  background-position:
    18px 60px,                                /* Vector.png слева */
    calc(100% + 288px) 98px,                   /* Vector2.png справа сверху */
    calc(100% + 40px) calc(100% + 80px),      /* sphere2.png снизу справа */
    0 0;                                      /* градиент */
}

/* сфера снизу справа */
.offer::after{
  content:"";
  position:absolute;
  right:-60px;
  bottom:-80px;
  width:420px;
  height:520px;
  pointer-events:none;
}


.offer__media{ position:absolute; inset:0; pointer-events:none; }

.offer__text{
  position:relative;
  z-index:2;
  max-width:760px;
  margin:0 auto;
  text-align:center;

  margin-top: -20px;
}


.offer__title{
  margin:0;
  font-weight:400;
  font-size:34px;
  line-height:1.69;
  letter-spacing:.06em;
  text-transform:uppercase;
}


.offer__title br{
  content:"";
  display:block;
  margin:10px 0;
}

.offer__price{
  margin:68px 0 0;
  font-weight:400;
  font-size:44px;
  line-height:1.1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.offer__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left: 36px !important;
  margin-top:120px;
  margin-left: 20px;
  width:470px;
  height:94px;
  padding:0 34px;

  border-radius:14px;
  background:#2f69ff;
  color:#fff;
  text-decoration:none;

  font-size:38px;
  letter-spacing:.10em;
  text-transform:uppercase;
  white-space:nowrap;
}

.offer__avatar{
  position:absolute;
  left:40px;
  top:140px;
  width:430px;
  height:430px;
  z-index:2;
}

.offer__avatar-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  clip-path:polygon(0 0,82% 0,100% 18%,100% 100%,0 100%);
  z-index:1;
}

.offer__doc{
  position:absolute;
  right: 0;

  top:134px;
  width:460px;
  height:460px;
  border-radius:44px;
  overflow:hidden;
  pointer-events:none;
}

.offer__doc-img{
  width:430px;
  height:430px;
  object-fit:cover;
  border-radius:44px;
}

/*.         4 блок ................................................................................ */

.clients{
  position:relative;
  overflow:hidden;
  padding:70px 18px 90px;
  color:#fff;
  text-align:center;

  background:linear-gradient(180deg,
    #071225 0%,
    #0b2a5a 25%,
    #2f6fd6 50%,
    #bfe3f7 100%
  );
}

.clients__title{
  margin: -40px -50px 68px;
  font-weight:400;
  font-size:52px;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.clients__text{
  margin: auto;
  margin-bottom: 60px;
  max-width:900px;
  font-size:20px;
  line-height:1.6;
  letter-spacing:.14em;
  opacity:.95;
}

.clients__row{
  position:relative;
  max-width:1400px;
  margin:0 auto;
  padding:26px 44px;
  min-height:196px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 38px;
}

/* расстояние между рядами */
.clients__row + .clients__row{
  margin-top:30px;
}

.clients__row::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;

  border-radius:36px;

  background:linear-gradient(270deg,
    rgba(255,255,255,.18) 0%,
    rgba(255,255,255,.10) 45%,
    rgba(255,255,255,0)   100%
  );

}

.clients__row::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;

  border-radius:36px;
  padding:2px;

  background:linear-gradient(90deg,
    rgba(255,255,255,.02)    0%,
    rgba(255,255,255,.10)  45%,
    rgba(255,255,255,.22)  100%
  );

  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
}


.clients__logo{
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.clients__logo-img{
  display: block;
  max-height: 150px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
/*.      5 блок ....................................................................................*/

/* карта на фоне (поверх градиента, но ПОД текстом) */
.trust{
  position: relative;
  height: 810px;
  padding: 42px 28px 0;
  overflow: hidden;
  color:#fff;

  background: linear-gradient(180deg,
    #071225 0%,
    #0b2a5a 45%,
    #2f6fd6 78%,
    #bfe3f7 100%
  );
}

.trust__title{
  margin: 0 0 22px;
  text-align:center;
  font-size: 44px;
  font-weight: 300;
  letter-spacing: .01em;
}

.trust__body{
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  height: 680px;
}

/* карта — фоном */
.trust__body::before{
  content:"";
  position:absolute;
  left: 630px;
  top: 320px;
  width: 596px;
  height: 495px;
  transform: translate(-50%, -50%);
  background: url("imgs/map.png") center/contain no-repeat;
  z-index: 0;
  pointer-events:none;
}

.trust__body::after{
  content:"";
  position:absolute;
  left: 728px;
  top: 62%;
  width: 466px;
  height: 395px;
  transform: translate(-140%, -50%);
  background: url("imgs/dude2.png") center/contain no-repeat;
  z-index: 1;
  pointer-events:none;
}

.trust__point{
  position:absolute;
  z-index: 2;
  width: 420px;
}

.trust__body > .trust__point:nth-child(1){
  left: 50px;
  top: 20px;

  width:440px;
  text-align: left;

  --badge-w: 720px;
}


.trust__body > .trust__point:nth-child(2){
  right: 20px;
  top: 32px;

  width: 540px;
  text-align: left;

  --badge-w: 720px;
}

.trust__body > .trust__point:nth-child(3){
  right: 20px;
  top: 320px;

  width: 510px;
  text-align: right;

  --badge-w: 520px;
}

.trust__badge{
  display:flex;
  align-items:center;

  height: 86px;
  padding: 0 34px;
  margin: 0 0 14px;

  width: var(--badge-w, 420px);
  max-width: 100%;
  box-sizing: border-box;

  background: linear-gradient(180deg,
  #3199f4 0%,
  #BAD5DF 100%
);

border: 3px solid #ffffff;
  border-radius: 999px;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.trust__text{
  margin: 0;
  color: #fff;

  font-size: 20px;
  line-height: 1.55;
  letter-spacing: .08em;

  text-align: center;
  max-width: 420px;
}
.trust__text.tt1{
  margin-top: 0;
  margin-left: 0;
}
.trust__text.tt2{
  max-width: 490px;
  margin-left: 20px;
  margin-top: 18px;
}
.trust__text.tt3{
  max-width: 500px;
  margin-top: 30px;
}

/*  6 блок........................................................................................... */
/* ===== FAQ ===== */
.faq{
  position: relative;
  overflow: hidden;
  padding: 90px 28px 110px;
  color:#fff;
  height: 1620px;
  margin-bottom: -2px;

  background: linear-gradient(180deg,
    #bfe3f7 0%,
    #2f6fd6 24%,
    #0b1730 44%,
    #000 100%
  );
}

.faq__title{
  margin: -50px 0 60px;
  padding-right: 150px;
  text-align: center;
  font-weight: 300;
  font-size: 72px;
  letter-spacing: .06em;
}

.faq__decor{
    margin-top: 676px;
    margin-right: 32px;
    width: 930px;
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 1;
}

.faq__decor--left{
  left: -26px;
  bottom: -6px;
  width: 220px;
  height: auto;
}

.faq__decor--right{
  right: -60px;
  top: 120px;
  width: 560px;
  height: auto;
}

.faq__grid{
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: repeat(2, 615px);
  gap: 34px 60px;
  justify-content: center;
  align-items: start;
}

.faq-card__div{color: #000000;font-size: 24px;    margin-top: 5px;    font-family: "Montserrat", sans-serif;    line-height: 28px;    font-weight: 300;}

.faq-card {
        width: 615px;
    height: 615px;
    background: #f4f4f4;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 18px 40px rgba(0, 0, 0, .45));
}



/* Внутренние отступы */
.faq-card__inner {
    padding: 130px 90px 0 90px;
    position: relative;
    z-index: 2;
}

/* Заголовок */
.faq-card__title {
    margin: 0;
    line-height: 1.05;
    letter-spacing: -1px;
}

/* Жирные строки */
.faq-card__title .bold {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: 72px;
    color: #1d1b22;
}

/* Лёгкая строка */
.faq-card__title .light {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    font-size: 64px;
    margin-top: 20px;
    color: #1d1b22;
}

.faq-card__sign{
  position: absolute;
  z-index: 3;
  pointer-events: none;

  left: 52%;
  top: 0;

  width: 106px;
  height: auto;

  transform: translate(calc(-645px + 470px), 260px);
}

/* =========================
   МОБИЛЬНАЯ ВЕРСИЯ
   ========================= */

@media (max-width: 768px) {

    .faq-card {
        width: 100%;
        max-width: 615px;
        aspect-ratio: 1 / 1; /* сохраняем квадрат */
        height: auto;
    }

    .faq-card__inner {
        padding: 18vw 8vw 0 8vw; /* пропорциональные отступы */
    }

    .faq-card__title .bold {
        font-size: clamp(32px, 12vw, 52px);
        letter-spacing: -0.5px;
    }

    .faq-card__title .light {
        font-size: clamp(32px, 11vw, 52px);
        margin-top: 4vw;
    }

    /* уменьшаем нижнюю полосу */
    .faq-card::after {
        height: 22px;
    }

    /* делаем линии чуть мягче на мобиле */
    .faq-card::before {
        opacity: 0.35;
    }
}

.faq-card--blue {
    width: 615px;
    height: 615px;
    position: relative;
    overflow: hidden;
    background: #f4f4f4;
    box-shadow: 0 18px 40px rgba(0,0,0,.45);
}


/* Верхняя синяя часть */
.faq-card__header {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: 36px;
    line-height: 1.2;
    padding: 10px 20px;
    text-transform: uppercase;
    background: #4f89e0;
    letter-spacing: 1.5px;
}

/* Контент */
.faq-card__body {
    padding: 5px 20px 40px 20px;
    position: relative;
    z-index: 2;
    font-family: "Montserrat", sans-serif;
}

.faq-card__body p {
    line-height: 1.2;
    margin-bottom: 10px;
    margin-top: 10px;
    color: #111;
     font-size: 21.4382px;
   font-family: "Montserrat", sans-serif;
   font-weight: 100;
}

.faq-card__body strong {
    font-weight: 700;
   font-size: 21.4382px;
   font-family: "Montserrat", sans-serif;
}

/* Важно блок */
.faq-card__important {
    display: flex;
    gap: 1px;
    margin: 30px 0 20px 0;
    align-items: flex-start;
}

.faq-card__important img {
    width: 110px;
    height: auto;
    flex-shrink: 0;
    position: relative;
    top: 45px;
}

.faq-card__important-title {
    font-size: 20px;
    font-weight: 800;
    color: #2f6ec9;
    margin-bottom: 6px;
}

/* Нижний текст */
.faq-card__footer-text {
    margin-top: 20px;
    margin-left: 111px;
}

@media (max-width: 768px) {

    .faq-card__div{    
      font-size: 18px;
    margin-top: 0px;
}

    .faq-card--blue {
        width: 100%;
        max-width: 615px;
        aspect-ratio: 1 / 1;
        height: 650px;
    }

    .faq-card__header {
        font-size: clamp(18px, 4.8vw, 26px);
        padding: 20px 22px;
    }

    .faq-card__body {
        padding: 20px 22px 25px 22px;
    }

    .faq-card__body p {
        font-size: clamp(14px, 4vw, 16px);
        margin-bottom: 16px;
    }

    .faq-card__important {
        gap: 12px;
        margin: 20px 0 15px 0;
    }

    .faq-card__important img {
        width: 48px;
    }

    .faq-card__important-title {
        font-size: 16px;
    }
}

.faq-card--problem {
    width: 615px;
    height: 615px;
    position: relative;
    overflow: visible;
    background: #f4f4f4;
    box-shadow: 0 18px 40px rgba(0,0,0,.45);
}

/* Диагональные линии */
.faq-card--problem::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        repeating-linear-gradient(
            75deg,
            rgba(255,255,255,0.5) 0px,
            rgba(255,255,255,0.5) 1px,
            transparent 1px,
            transparent 14px
        );
    opacity: .5;
    pointer-events: none;
}

/* Контент */
.faq-card__content {
    padding: 10px 20px 20px 20px;
    position: relative;
    z-index: 2;
    font-family: "Montserrat", sans-serif;
}

/* Заголовок */
.faq-card__title {
    margin: 0 0 35px 0;
    line-height: 1.15;
}

.faq-card__title .light1 {
    font-size: 30px;
    font-weight: 500;
    display: block;
    font-family: "Montserrat", sans-serif;
    margin-top: 5px;
    color: #1d1b22;
}

.faq-card__title .bold1 {
    display: block;
    font-size: 29px;
    font-weight: 800;
    font-family: "Montserrat", sans-serif;
    color: #1d1b22;
}

/* Список */
.faq-card__list {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.faq-card__item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    font-size: 18px;
    line-height: 1.4;
}

/* Синий квадрат с номером */
.faq-card__num {
    width: 48px;
    height: 36px;
    background: linear-gradient(180deg, #4d8ae3, #4a8be4);
    color: #fff;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    flex-shrink: 0;
    padding-right: 5px;
    font-size: 24px;
}

/* Декоративные картинки */

.faq-card__img {
    position: absolute;
    pointer-events: none;
}

/* Верхний вопрос */
.faq-card__img--qtop {
    right: 40px;
    top: 40px;
    width: 95px;
}

/* Облачка */
.faq-card__img--qbubble {
    left: 60px;
    bottom: 50px;
    width: 140px;
}

/* Весы */
.faq-card__img--scale {
    right: 0;
    bottom: -30px;
    width: 361.399px;
}
.faq-card__img--scale2{    
  width: 390.399px;
    bottom: -40px;
    right: -40px;
    z-index: 10;
    pointer-events: none;}

@media (max-width: 768px) {

    .faq-card--problem {
        width: 100%;
        max-width: 615px;
        aspect-ratio: 1/1;
        height: auto;
    }

    .faq-card__content {
        padding: 40px 25px 40px 25px;
    }

    .faq-card__title .light1 {
        font-size: clamp(18px,4vw,24px);
    }

    .faq-card__title .bold1 {
        font-size: clamp(20px,4.5vw,26px);
    }
    .faq-card__body p{margin-left: 0px;}

    .faq-card__item {
        font-size: clamp(14px,4vw,16px);
        gap: 12px;
    }

    .faq-card__num {
        width: 28px;
        height: 28px;
        font-size: 14px;
    }

    .faq-card__img--qtop {
        width: 60px;
        top: 20px;
        right: 20px;
    }

    .faq-card__img--qbubble {
        width: 80px;
        left: 270px;
        bottom: 180px;
    }

    .faq-card__img--scale {
        width: 180px;
        right: -20px;
        bottom: -60px;
    }
}


/*.       7 блок .....................................................................................*/
/* =============== PRICES =============== */
.prices{
  position: relative;
  overflow: hidden;
  padding: 70px 28px 14px;
  color:#fff;
  text-align:center;

  background:
    url("imgs/tube3.png") center/cover no-repeat,
    linear-gradient(180deg,
      #000000 0%,
      #0b2a5a 45%,
      #2f6fd6 78%,
      #bfe3f7 100%
    );
}

.prices__title{
  margin:0 0 22px;
  margin-top: -60px;
/*  margin-left: 100px;*/
  font-size:48px;
  font-weight:400;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.prices__note{
  margin: 60px 0 42px;
  font-size: 32px;
  font-weight:400;
  letter-spacing:.06em;
  opacity:.95;
}

.prices__table{
  width: min(1130px, 100%);
  height: 482px;
  margin: auto;
/*  margin-left: 152px;*/
  border-collapse: collapse;
  table-layout: fixed;
  border: 2px solid rgba(255,255,255,.85);
  background: transparent;
}

.prices__table td{
  border: 2px solid rgba(255,255,255,.85);
  font-size:32px;
  font-weight: 300;
  letter-spacing:.06em;
  color:#fff;
}

.prices__table td:first-child{
  text-align:left;
  padding-left: 10px;
  width:50%;
}
.prices__table td:last-child{
  text-align:center;
/*  padding-left: 186px;*/
  width:50%;
}
.prices__table tr{     background: rgb(34 83 162); }
.prices__table tr:nth-child(1) td{ background: rgba( 47,111,214,.22); }
.prices__table tr:nth-child(2) td{ background: rgba( 47,111,214,.28); }
.prices__table tr:nth-child(3) td{ background: rgba( 47,111,214,.34); }
.prices__table tr:nth-child(4) td{ background: rgba( 47,111,214,.40); }
.prices__table tr:nth-child(5) td{ background: rgba( 47,111,214,.46); }
.prices__table tr:nth-child(6) td{ background: rgba( 47,111,214,.52); }
.prices__table tr:nth-child(7) td{ background: rgba( 47,111,214,.58); }

.prices__btn{
  min-width: 0;
  width: 380px;
  height: 76px;
  padding: 0 24px;
  font-size: 30px;
/*  margin-left: 72px;*/
}

/* 7 блок ......................................................................................... */
.contacts{
  position: relative;
  overflow: hidden;
  padding-top: 20px;
  color: #fff;
  text-align: center;

  background:
    linear-gradient(180deg,
      #071225 0%,
      #0b2a5a 45%,
      #2f6fd6 78%,
      #bfe3f7 100%
    );
}

.contacts__title{
  margin: 0;
  margin-left: -160px;
  font-size: 50px;
  font-weight: 200;
  letter-spacing: .04em;
    font-family: "Fira Code", monospace;

  text-transform: uppercase;
}

.contacts__grid{
  max-width: 1320px;
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 60px;
  align-items: start;
  margin-bottom: 23px;
    height: 850px;
    margin: auto;

}

.contacts__grid2 {
    max-width: 1520px;
    margin-top: 12px;
    display: grid;
    grid-template-columns: 1fr .75fr 75fr;
    gap: 60px;
    align-items: start;
    margin-bottom: 23px;
    margin: auto;
}

.contacts__info{
  position: relative;
  padding: 0;
  margin: 0;
  text-align: left;
  color: #fff;
  font-family: "Inter", system-ui, sans-serif;
  height: 685px;

  font-size: 32px;
  line-height: 1.54;
  letter-spacing: .04em;
  font-weight: 200;

  font-style: normal;

}

/* SUCCESS */
.form__success {
  display: none;
  text-align: center;
  animation: fadeIn .3s ease;
}

.form--sent .form__body {
  display: none;
}

.form--sent .form__success {
  display: block;
}

.form__success-title {
  font-size: 22px;
  margin-bottom: 10px;
}

.form__success-text {
  color: #555;
}

/* Кнопка во время отправки */
.form__btn--loading {
  opacity: 0.6;
  pointer-events: none;
}

/* Анимация появления */
@keyframes fadeIn {
  from {opacity: 0; transform: translateY(10px);}
  to {opacity: 1; transform: translateY(0);}
}


.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 999;
}

.modal.active {
  display: flex;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
}

.modal__window {
  position: relative;
  background: #fff;
  padding: 40px;
  border-radius: 16px;
  width: 100%;
  max-width: 420px;
  z-index: 2;
}

.modal__window--policy {
  max-width: 600px;
}

.modal__close {
  position: absolute;
  top: 15px;
  right: 15px;
  border: none;
  background: none;
  font-size: 24px;
  cursor: pointer;
}

.form__group {
  margin-bottom: 15px;
}

.form__input {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
}

.form__agree {
  font-size: 14px;
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}

.form__policy-link {
  background: none;
  border: none;
  color: #0077ff;
  cursor: pointer;
  padding: 0;
}

/* Fade In Up */
.fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease-out;
}

.fade-in-up.active {
  opacity: 1;
  transform: translateY(0);
}
/* Скрываем и задаем стартовую позицию */
.hero__title {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease-out forwards;
  animation-delay: 0.5s; /* задержка перед анимацией */
}

/* Анимация */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


.contacts__info::before{
  content:"";
  position:absolute;
  inset:0;
  background: url("imgs/border2.png") 0 0 / 100% 100% no-repeat;
  pointer-events:none;
  z-index:0;
  border-radius: 80px;
  height: 800px;
  width: 790px;
  margin-left: -4px;
}

.contacts__info::after{
  content:"";
  position:absolute;
  top: 386px;
  right: 6px;
  width: 360px;
  height: 300px;
  border-radius: 36px;

}

.contacts__info > *{
  position: relative;
  z-index: 1;
}

.contacts__info p{
  margin: 0;
}

.contacts__info a{
  color: inherit;
  text-decoration: none;
}
.contacts__info a:hover{ text-decoration: underline; }

.contacts__label{
  margin: 0;
  font: inherit;
  text-transform: uppercase;
}

.contacts__label + p{ margin-top: 12px; }

.contacts__info p + p{ margin-top: 10px; }

.contacts__info .contacts__label:nth-of-type(2),
.contacts__info .contacts__label:nth-of-type(3){
  margin-top: 32px;
}
.contacts__info a[href^="tel"]{ white-space: nowrap; }

.contacts__group{ 
    margin-left: 28px; 
    margin-top: 43px; }
.contacts__group:first-child{ margin-top: 0; }
.contacts__group-title{
  margin-top: 26px;
  padding: 0;
}
.contacts__info,
.contacts__info *{
  font-weight: 400 !important;
}

.contacts__label{
  font-weight: 400 !important;
}

.contacts__call{
  text-align: center;
  padding-top: 30px;
}

.contacts__icon{
  width: 182px;
  height: 182px;
  display: block;
  margin: 26px auto 22px;
    display: block;

  transform-origin:50% 50%;
  will-change: transform;
  animation: beat 1s infinite;
}

/* анимация */
@keyframes beat {
  0%   { transform: scale(0.78); }
  30%  { transform: scale(1); }
  100%  { transform: scale(0.78); } 
}

.contacts__call:hover .contacts__icon,
.contacts__icon:hover{
  animation-duration: .9s;
  animation-timing-function: ease-in-out;
}

.contacts__phone{
  display: inline-block;
  margin-top: 18px;
  margin-left: -42px;
  font-size: 41px;
  font-weight: 600;
  letter-spacing: .02em;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 10px;
}

.contacts__note{
  margin: 114px 0 0;
  font-size: 39px;
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.5;
}
.contacts,
.contacts * {
  font-family: "Inter", system-ui, sans-serif !important;
  font-style: normal !important;
}
.contacts__group-title{ text-transform: uppercase;
    font-size: 30px;}

/* 8 блок ............................................................................................... */
.map{
  min-height:728px;
  display:flex;
  flex-direction:column;
  overflow:hidden;

  background:linear-gradient(180deg,
    #000 0%,
    #0b2a5a 45%,
    #2f6fd6 78%,
    #bfe3f7 100%
  );
}

.map__address{
  margin:0;
  padding:16px 28px;
  font-size:28px;
  font-weight:700;
  color:#fff;
  background:rgba(0,0,0,.55);
}

.map__frame{
  height:728px;
  flex:0 0 728px;
}

.map__frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.map__footer{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:10px 28px;
  color:#fff;
  font-size:28px;
  font-weight: 300;
  letter-spacing:.04em;
  
  background:linear-gradient(180deg,
    #A4CCE8 0%,
    #bfe3f7 100%
  );
}

@media (max-width: 1100px){
  .steps__list{ grid-template-columns:repeat(2, 1fr); 
    }
    .contacts__grid{
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .contacts__info{
    padding: 46px 40px 50px;
  }
  .contacts__note{
    margin-top: 36px;
    font-size: 34px;
  }

  .hero__top{
    left: 24px;
    right: 24px;
    top: 18px;
  }

  .hero__phone{
    width: 360px;
    height: 72px;
    margin-top: 0;
    margin-left: 0;
    font-size: 26px;
    letter-spacing: .04em;
  }

  .hero__phone2{
           display: none;
  }

  .hero__logo{
    width: 140px;
    margin-right: 90px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .hero{
    min-height: 740px;
    padding: 110px 24px 56px;
  }

  .hero__text{
    left: 24px;
    top: 140px;
    width: 480px;
    height: auto; 
  }

  .hero__title{
    margin-top: 0;
    margin-left: 0;
    font-size: 44px;
  }

  .hero__note{
    padding-left: 0;
    margin: 12px 0 48px;
    font-size: 18px;
    letter-spacing: .12em;
  }

  .btn{
    min-width: 320px;
    height: 72px;
    margin-left: 0;
    font-size: 24px;
  }

  .hero .btn{
    margin-left: 0 !important;
    top: 90px;
  }

  .hero__media{
    width: 520px;
    opacity: .9;
  }

  .hero__doc{
    top: 390px;
    left: 100px;
    width: 300px;
  }

  .hero__scales{
    width: 420px;
    right: 12px;
    bottom: 0;
  }

  .hero::after{ opacity: .9; }
    .intro__wrapper{
    height: auto;
    min-height: 760px;
    background:
      url("imgs/sphere.png") left -140px bottom -120px / 420px auto no-repeat,
      #000;
  }

  .intro__wrapper::before{
    background: url("imgs/tube2.png") right -10px top 120px / 420px auto no-repeat;
    opacity: .9;
    z-index: 0;
  }

  .intro{
    padding: 32px 16px 12px;
  }

  .intro__title{
    font-size: 40px;
    line-height: 1;
    margin-top: 10px;
  }

  .steps{
    padding: 0 16px 40px;
  }

  .steps__list{
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
  }

  .step{
    width: 340px;
    height: 280px;
  }

  .step__title{
    height: 84px;
    font-size: 16px;
    padding: 0 32px;
  }

  .step__text{
    margin-left: 18px;
    width: auto;
    max-width: 280px;
    font-size: 16px;
  }

  .step:first-child .step__title{
    transform: translateX(-20px); 
  }

  .offer{
    height: auto;
    min-height: 900px;
    padding: 64px 24px 48px;

    background-size:
      420px 620px,                  /* Vector (под аватар) */
      0 0,                  /* Vector2 (под сертификат снизу) */
      300px 300px,                  /* sphere2 */
      100% 100%;

    background-position:
      -6px 80px,                    /* Vector слева, ближе к аватару */
      50% 640px,                    /* Vector2 по центру и ниже (под сертификат) */
      calc(100% + 25px) calc(100% + 60px),
      0 0;
  }


  .offer__text{
    max-width: 520px;
    margin: 0 0 0 auto;
    text-align: right;
    margin-top: 0;
    z-index: 3;
  }

  .offer__title{
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: .05em;
  }

  .offer__price{
    margin: 22px 0 0;
    font-size: 32px;
    letter-spacing: .10em;
  }

  .offer__btn{
    margin: 26px 0 0 !important;
    width: 320px;
    height: 72px;
    font-size: 24px;
  }

  .offer__avatar{
    left: 24px;
    top: 160px;
    width: 460px;
    height: 460px;
    z-index: 2;
  }

  .offer__avatar::before{
    top: 28px;
    left: -16px;
    width: 90px;
    height: 200px;
  }

  .offer__doc{
  left: auto;
  transform: none;
  top: 490px;
  bottom: 40px;
  right: 20px;
  width: auto;
  height: 320px;
  z-index: 2;
  }
  .offer__doc-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .offer__media{ z-index: 1; }
    .clients{
    padding: 56px 16px 72px;
  }

  .clients__title{
    margin: 0 0 40px;
    font-size: 38px;
    letter-spacing: .02em;
  }

  .clients__text{
    margin: 0 auto 40px;
    max-width: 760px;
    font-size: 18px;
    line-height: 1.55;
    letter-spacing: .10em;
  }

  .clients__row{
    max-width: 980px;
    padding: 20px 24px;
    min-height: 160px;

    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
  }

  .clients__logo-img{
    max-height: 110px;
  }
  
  .trust{
    height: auto;
    padding: 36px 16px 380px;
    position: relative;
  }

  .trust__body::before,
  .trust__body::after{
    content: none !important;
    display: none !important;
  }

  .trust__body{
    height: auto;
    max-width: 760px;
    margin: 0 auto;
  }
  .trust__point{
    position: static;
    width: auto;
    margin: 0 0 26px;
    text-align: center;
  }
  .trust__body > .trust__point:nth-child(1),
  .trust__body > .trust__point:nth-child(2),
  .trust__body > .trust__point:nth-child(3){
    left:auto; right:auto; top:auto;
    width:auto;
    text-align:center;
    --badge-w: 100%;
  }

  .trust__badge{
    width: 100%;
    max-width: 640px;
    margin: 0 auto 12px;
    justify-content: center;
    height: 74px;
    font-size: 18px;
    letter-spacing: .06em;
    white-space: normal;
  }

  .trust__text,
  .trust__text.tt1,
  .trust__text.tt2,
  .trust__text.tt3{
    max-width: 640px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .06em;
    text-align: center;
  }

.trust::after{ display:none !important; }

  .trust__title,
  .trust__body{
    position: relative;
    z-index: 2;
  }
    .faq{
    height: auto;
    padding: 64px 16px 80px;
  }

  .faq__title{
    margin: 0 0 34px;
    padding-right: 0;
    font-size: 44px;
  }

  .faq__grid{
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
  }

  .faq__card{
    width: 100%;
    max-width: 615px;
    height: auto;
  }

  .faq-card__sign{
    display: none;
  }

  .faq__decor--right{
    width: 360px;
    right: -80px;
    top: 40px;
    opacity: .8;
  }
    .faq-card__sign{
    display: block;
    position: absolute;
    z-index: 3;
    pointer-events: none;

    left: 52%;
    top: 0;

    transform: translate(calc(-307.5px + 470px), 260px);

    width: 90px;
    height: auto;
  }

  .prices{
    padding: 56px 16px 24px;
  }

  .prices__title{
    margin: 0 0 16px;
    font-size: 36px;
    margin-top: 0;
    margin-left: 0;
  }

  .prices__note{
    margin: 28px 0 26px;
    font-size: 24px;
  }

  .prices__table{
    height: auto;
    margin: 0 auto 22px;
    margin-left: 0;
  }

  .prices__table td{
    font-size: 22px;
  }

  .prices__table td:first-child{
    padding-left: 14px;
  }

  .prices__table td:last-child{
    padding-left: 80px;
  }

  .prices__btn{
    width: 320px;
    height: 68px;
    font-size: 24px;
    margin-left: 0;
  }
    .contacts{
    padding-top: 32px;
    padding-bottom: 48px;
  }

  .contacts__title{
    margin-left: 0;
    font-size: 38px;
  }

  .contacts__grid{
    grid-template-columns: 1fr;
    gap: 32px;
    max-width: 760px;
    margin: 18px auto 0;
    height: auto;
  }

  .contacts__info{
    height: auto;
    font-size: 22px;
    line-height: 1.5;
  }

  .contacts__info::before{
    width: 100%;
    height: 100%;
    margin-left: 0;
    border-radius: 56px;
  }

  .contacts__info::after{
    top: auto;
    right: 0;
    bottom: 0;
    width: 300px;
    height: 220px;
    --cut: 64px;
  }

  .contacts__group{
    margin-left: 22px;
    margin-top: 28px;
  }

  .contacts__call{
    padding-top: 0;
  }

  .contacts__icon{
    width: 140px;
    height: 140px;
    margin: 0 auto 14px;
  }

  .contacts__phone{
    margin-left: 0;
    font-size: 32px;
    text-underline-offset: 8px;
  }

  .contacts__note{
    margin-top: 22px;
    font-size: 24px;
  }
}
@media (max-width: 900px){
   .contacts__grid2{    grid-template-columns: 1.35fr .65fr;}
  .intro__title{ font-size:34px; }
  .steps__list{ grid-template-columns:1fr; gap:20px; }
  .step{ border-radius:28px; }
  .faq__title{ font-size: 46px; }
  .faq__grid{ grid-template-columns: 1fr; }
  .faq__decor--right{ width: 420px; top: 40px; }

  .trust{ height:auto; padding-bottom: 60px; }
  .trust__body{
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .trust__body::before,
  .trust__body::after{
    left: 50%;
    top: 360px;
    transform: translate(-50%, 0);
  }
  .trust__point,
  .trust__point--right{
    grid-column: 1;
    justify-self: center;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .hero__top{
    position: static;
    padding: 14px 16px 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .hero__phone{
    width: auto;
    height: 48px;
    font-size: 16px;
    letter-spacing: .02em;
  }

  .hero__brand{ position: static; margin: 0; }
  .hero__logo{ width: 110px; margin: 0; }
  .hero__brand-text{ font-size: 11px; margin: 0; }

  .hero{
    min-height: auto;
    padding: 18px 16px 28px;
        position: relative;
    padding-top: 96px;
  }

  .hero__top{
    position: absolute;
    left: 16px;
    right: 16px;
    top: 12px;
    z-index: 20;

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 0;
  }

  .hero__phone{
    height: 44px;
    font-size: 16px;
    padding: 0 12px;
    width: auto;
    margin: 0;
  }
  .hero__text{
    position: static;
    width: 100%;
    height: auto;
  }

  .hero__content{
    padding: 0;
  }

  .hero__title{
    margin: 14px 0 0;
    font-size: 28px;
    line-height: 1.15;
  }

  .hero__note{
    margin: 10px 0 16px;
    font-size: 13px;
    letter-spacing: .08em;
  }

  .hero .btn,
  .btn{
    width: 100% !important;
    min-width: 0;
    height: 56px;
    font-size: 18px;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
  }

  .hero__media{
    display: block;
    position: relative;
    width: 100%;
    height: 240px;
    margin-top: 18px;
    pointer-events: none;
    z-index: 1;
  }

  .hero__doc{
    position: absolute;
    left: 60px;
    top: 10px;
    width: 190px;
    transform: rotate(-6deg);
    opacity: .95;
  }

  .hero__scales{
    position: absolute;
    right: 90px;
    bottom: -6px;
    width: 230px;
    filter: drop-shadow(0 12px 26px rgba(0,0,0,.35));
    z-index: 9;
  }

  .hero::before{ display: none; }

  .intro__wrapper::before{
    background: url("imgs/tube2.png") right -40px top 0 / 280px auto no-repeat;
    opacity: .85;
    z-index: 0;
  }

  .intro{
    padding: 24px 16px 10px;
  }

  .intro__title{
    font-size: 26px;
    line-height: 1.05;
    margin-top: 8px;
  }

  .steps{
    padding: 0 16px 28px;
  }

  .steps__list{
    flex-direction: column;
    gap: 16px;
    align-items: center;
  }

  .step{
    width: 100%;
    max-width: 360px;
    height: auto;
    padding-bottom: 18px;
  }

  .step__title{
    height: auto;
    min-height: 64px;
    font-size: 16px;
    padding: 16px 18px 10px;
    display: block;
    text-align: center;
  }

  .step:first-child .step__title{
    transform: none;
  }

  .step__text{
    margin: 0;
        padding: 0 38px;
        width: auto;
        max-width: none;
        font-size: 17px;
        line-height: 1.25;
        margin-bottom: 20px;
  }
  .offer{
    height: auto;
    min-height: 0;
    padding: 28px 16px 28px;
    overflow: hidden;

    background-size:
      0 0,
      0 0,
      220px 220px,
      100% 100%;
    background-position:
      0 0,
      0 0,
      calc(100% + 10px) calc(100% + 30px),
      0 0;

    display: grid;
    grid-template-columns: 160px 1fr;
    grid-template-areas:
      "avatar text"
      "price  price"
      "btn    btn"
      "doc    doc";
    column-gap: 16px;
    row-gap: 16px;
    align-items: start;
  }

  .offer__media{
    position: static;
    inset: auto;
    pointer-events: none;
  }

  .offer__avatar{
    position: static;
    grid-area: avatar;
    width: 160px;
    height: 160px;
    margin: 0;
  }
  .offer__avatar::before{ display:none; }

  .offer__avatar-img{
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .offer__text{
    position: static;
    grid-area: text;
    max-width: none;
    margin: 0;
    text-align: left;
    z-index: 2;
  }

  .offer__title{
    font-size: 18px;
    line-height: 1.25;
    letter-spacing: .03em;
  }

  .offer__price{
    grid-area: price;
    margin: 0;
    text-align: left;
    font-size: 20px;
    letter-spacing: .06em;
  }

  .offer__btn{
    grid-area: btn;
    width: 100%;
    height: 56px;
    margin-top: 42px !important;
    margin-right: -150px !important;
    font-size: 16px;
  }
  .contacts__info{
    padding: 26px 30px 50px;
    
  }

  .offer__doc{
    position: static;
    grid-area: doc;
    width: 100%;
    max-width: 360px;
    height: auto;
    margin: 0 auto;
    border-radius: 28px;
    overflow: hidden;
  }

  .offer__doc-img{
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 28px;
  }
    .clients{
    padding: 40px 16px 56px;
  }

  .clients__title{
    margin: 0 0 22px;
    font-size: 26px;
    letter-spacing: .02em;
  }

  .clients__text{
    margin: 0 auto 24px;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.45;
    letter-spacing: .06em;
  }

  .clients__row{
    max-width: 100%;
    padding: 18px 16px;
    min-height: auto;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    justify-items: center;
    align-items: center;
  }

  .clients__row + .clients__row{
    margin-top: 18px;
  }

  .clients__logo{
    width: 100%;
  }

  .clients__logo-img{
    max-height: 72px;
  }

  .faq-card__sign{
    left: 60%;
    top: 10px;

    transform: translate(calc(-180px + 260px), 140px);

    width: 64px;
  }
    .prices{
    padding: 44px 16px 24px;
  }

  .prices__title{
    font-size: 24px;
    margin: 0 0 12px;
  }

  .prices__note{
    font-size: 18px;
    margin: 18px 0 18px;
  }

  .prices__table{
    width: 100%;
    height: auto;
    margin: 0 auto 18px;
    table-layout: auto;
  }

  .prices__table td{
    font-size: 14px;
    letter-spacing: .04em;
    padding: 10px 8px;
  }

  .prices__table td:first-child{
    width: auto;
    padding-left: 10px;
  }

  .prices__table td:last-child{
    width: auto;
    padding-left: 10px;
  }

  .prices__btn{
    width: 100%;
    max-width: 360px;
    height: 56px;
    font-size: 18px;
    margin: 0 auto;
    display: inline-flex;
  }
    .contacts__info{
    font-size: 19px;
    line-height: 1.5;
  }

  .map{ height: 380px; flex-basis: 380px;     min-height: auto; }
  .map__frame{ height: 380px; flex-basis: 380px; }
  .map__frame iframe{ height: 380px; }

}



@media (min-width: 1700px){
  .hero__logo {
    margin-right: 2px;
    float: right;
  }
.step__text{width: 270px;    font-size: 20px;}
.step__title{font-size: 20px;    padding: 0 40px; padding-left: 30px; padding-top: 30px;
}
  .hero__text{left: 280px;}
.hero__media{right: 180px;}
.hero::before{background-position: 250px 210px;
    background-size: 31% auto;}
    .hero__text{    top: 200px;}
  .offer__avatar{ left: 210px;}
  .offer__doc{    right: 150px;}

  .offer{ background-position:
    178px 60px,                                /* Vector.png слева */
    calc(100% + 158px) 98px,                   /* Vector2.png справа сверху */
    calc(100% + 40px) calc(100% + 80px),      /* sphere2.png снизу справа */
    0 0;                                      /* градиент */
}
}
}

@media (min-width: 1900px){
  .hero__text{left: 260px;}
.hero__media{right: 190px;}
.hero::before{background-position: 290px 220px;
    background-size: 32% auto;}
    .hero__text{    top: 210px;}
  .offer__avatar{ left: 220px;}
  .offer__doc{    right: 160px;}
  .offer{ background-position:
    188px 60px,                                /* Vector.png слева */
    calc(100% + 148px) 98px,                   /* Vector2.png справа сверху */
    calc(100% + 40px) calc(100% + 80px),      /* sphere2.png снизу справа */
    0 0;                                      /* градиент */
}}



@media (min-width: 2000px){
  .hero__logo {
    margin-right: -65px;
    float: right;
  }
  .trust__body {
    max-width: 1620px;
}
.trust__body::before {
    left: 780px;
  }
      .hero__text {
        left: 330px;
    }
        .hero::before {
        background-position: 300px 210px;
        background-size: 31% auto;
    }

}
