html, body {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

.section,
.container,
.first-view-content,
.apps-buttons,
.tags-container {
  overflow-x: hidden;
}

.vector-bg {
  max-width: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: none;
}

.info-block{
overflow-x: clip;
}

.us-tag{
  overflow: visible;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: 'Montserrat', sans-serif;
  background: #F2F2F2;
  color: #1A1A1A;
  line-height: 1.6;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}

.container {
  max-width: 1920px;
  margin: 0 auto;
  padding: 20px;
}
.section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  gap: 90px;
  width: 100%;
  position: relative;
}

.first-view {
  position: relative;
  width: 100%;
  background: #fff;
  overflow: hidden; /* предотвращаем горизонтальный скролл */
  padding: 20px 0;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  box-sizing: border-box;
}

.vector-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 100%;   /* не вылазит за контейнер */
  height: auto;
  z-index: 0;
  pointer-events: none;
}

.first-view-content {
  position: relative;
  display: flex;
  flex-wrap: wrap;    /* перенос блоков при нехватке места */
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 1880px;
  margin: 0 auto;
  z-index: 1;
  text-align: center;
  gap: 20px;
  box-sizing: border-box;
}

.mockup {
  flex: 1 1 420px;   /* адаптивная ширина */
  max-width: 22vw;
  height: auto;
  object-fit: contain;
  margin-top: 55px;
  min-width: 200px;  /* не слишком сжимается */
  box-sizing: border-box;
}

.text-block {
  flex: 1 1 300px;   /* адаптивная колонка текста */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
  z-index: 2;
  box-sizing: border-box;
}

.first-view .logo { 
  width: 80px;
  margin-top: 0;
  margin-bottom: 10px;
}

h1 {
  font-weight: 800;
  font-size: 56px;
  line-height: 94%;
  color: #1A1A1A;
}

.subtitle {
  font-weight: 400;
  font-size: 32px;
  line-height: 120%;
  color: #1A1A1A;
  margin-bottom: 20px;
}

.tags-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 19px;
  width: 100%;
  max-width: 919px;
  margin: 0;
  box-sizing: border-box;
}

.tag {
  display: flex;                /* включаем flex для вертикального центрирования */
  align-items: center;          /* центр по вертикали */
  justify-content: center;      /* центр по горизонтали */
  padding: 18px 30px;           /* равные отступы сверху/снизу */
  border-radius: 8px;
  background: #5468BE;
  color: #fff;
  font-weight: 400;
  font-size: 16px;
  text-align: center;
  box-sizing: border-box;
  min-height: 51px;             /* минимальная высота, если нужно */
}


.mockups-mobile {
  display: none;
  flex-wrap: wrap;       /* перенос блоков */
  width: 100%;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 20px 0;
  box-sizing: border-box;
}

.mockup-mob {
  width: 48%;
  height: auto;
  box-sizing: border-box;
}

.apps-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin: 0;
  box-sizing: border-box;
}

.apps-title {
  font-weight: 400;
  font-size: 18px;
  text-align: center;
  color: #1A1A1A;
  margin: 0;
}

.web-version-note {
  font-weight: 400;
  font-size: 12px;
  text-align: center;
  color: #1A1A1A;
}

.apps-buttons {
  display: flex;
  flex-wrap: wrap;       /* перенос кнопок */
  gap: 20px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 600px;
  box-sizing: border-box;
}

.app-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 4px;
  border-radius: 8px;
  text-decoration: none;
  color: #1A1A1A;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.app-btn:hover { background: rgba(84,104,190,0.1); }

.app-icon { width: 32px; height: 32px; margin-bottom: 9px; }
.app-name { font-weight: 400; font-size: 16px; text-align: center; }
.divider { width: 0; height: 41.5px; border: 1px solid #1A1A1A; }

@media (max-width: 1050px) {
  .first-view-content {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .mockup { display: none; }
  .mockups-mobile { display: flex; }

  h1 { font-size: 36px; }
  .subtitle { font-size: 20px; }
  .tags-container { max-width: 100%; }

  .divider { display: none; }
}

@media (max-width: 768px) {
  h1 { font-size: 28px; }
  .subtitle { font-size: 16px; }
  .apps-title { font-size: 16px; }

  .apps-buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    max-width: 320px;
  }

  .app-name { font-size: 14px; }
  .mockup-mob { width: 48%; }
}

@media (max-width: 360px) {
  .apps-buttons {
    gap: 10px;
    max-width: 250px;
  }
  .app-name { font-size: 12px; } 
}

.audience-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start; 
  gap: 45px;
  width: 100%;
  margin: 90px 0; 
}

.audience-block h2 {
  font-size: 48px;  
  font-weight: 700;
  text-align: left; 
  margin: 0 0 20px 25%; 
  color: #1A1A1A;
}

.info-blocks {
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  width: 100%;
  justify-content: space-between;
}

.info-block {
  position: relative;
  flex: 1 1 0;
  min-width: 200px;
  max-width: 33%;
  background: #fff;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 20px;
  height: 190px;
  overflow: visible;
}

.info-block.blue {
  background: #5468BE;
  color: #fff;
}

.info-block-title {
  font-weight: 600;
  font-size: 24px;
  margin-bottom: 10px;
}

.info-block-text {
  font-weight: 400;
  font-size: 16px;
}

.info-block-img {
  position: absolute;
  width: 182px;
  height: auto;
  right: 0;
  bottom: -58px;
}

.info-blocks-mobile {
  display: none;
  flex-direction: column;
  gap: 35px; 
  width: 100%;
}

.info-block-mobile {
  position: relative;
  background: #fff;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 20px;
  height: 210px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: visible;
}

.info-block-mobile.blue {
  background: #5468BE;
  color: #fff;
}

.info-block-mobile h3 {
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 10px;
}

.info-block-mobile p {
  font-weight: 400;
  font-size: 14px;
}

.info-block-mobile img {
  position: absolute;
  width: 182px;
  height: auto;
  right: 0;
  bottom: -58px;
}

@media (max-width: 1400px) {
  .info-block-img { width: 160px; }
}

@media (max-width: 1300px) {
  .info-blocks { display: none; } 
  .info-blocks-mobile { display: flex; } 

  .audience-block h2 {
    font-size: 44px; 
  }

  .info-block-mobile h3 { font-size: 22px; }
  .info-block-mobile p { font-size: 16px; }
  .info-block-mobile img { width: 150px; bottom: -45px; } /* уменьшили */
}

@media (max-width: 1024px) {
  .info-blocks { display: none; } 
  .info-blocks-mobile { display: flex; } 

  .audience-block {
    margin: 40px 0; 
    align-items: flex-start; 
  }

  .audience-block h2 {
    font-size: 36px;
    text-align: left;
    margin: 0; 
  }

  .info-block-mobile h3 { font-size: 22px; }
  .info-block-mobile p { font-size: 16px; }
  .info-block-mobile img { width: 140px; bottom: -40px; } /* планшеты */
  .info-blocks-mobile { gap: 35px; }
}

@media (max-width: 768px) {
  .audience-block h2 {
    font-size: 36px;
    text-align: left;
    margin: 0; 
  }
  .apps-buttons {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, auto); /* явно указываем 2 ряда */
        gap: 12px;
        max-width: 320px;
        justify-items: center; /* чтобы кнопки были по центру ячеек */
        align-items: center;
    }

  .info-block-mobile h3 { font-size: 22px; }
  .info-block-mobile p { font-size: 16px; }
  .info-block-mobile img { width: 130px; bottom: -30px; } /* мобилки */
  .info-blocks-mobile { gap: 30px; }
}

@media (max-width: 420px) {
  .info-block-mobile h3 { font-size: 22px; }
  .info-block-mobile p { font-size: 16px; }
  .info-block-mobile img { width: 120px; bottom: -25px; }
} 

@media (max-width: 360px) {
  .audience-block h2 { font-size: 36px; }
  .info-block-mobile h3 { font-size: 22px; }
  .info-block-mobile p { font-size: 16px; }
  .info-block-mobile img { width: 100px; bottom: -20px; }
}


.how-it-works {
  display: flex;
  flex-direction: column;
  align-items: flex-start; 
  gap: 40px;
  width: 100%;
  margin: 90px 0; 
}

.how-it-works {
  position: relative;
  z-index: 0; /* чтобы контент был выше фона */
}

.how-it-works::before {
  content: '';
  position: absolute;
  top: -200px;   
  left: 70%;
  transform: translateX(-50%);
  width: 1262px;   
  height: 1248px;  
  background: url('data:image/svg+xml;utf8,<svg width="1262" height="1248" viewBox="0 0 1262 1248" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity="0.4" filter="url(%23filter0_f_5_32)"><ellipse cx="631" cy="624.257" rx="231" ry="223.35" fill="%235468BE"/></g><defs><filter id="filter0_f_5_32" x="0" y="0.907349" width="1262" height="1246.7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="200" result="effect1_foregroundBlur_5_32"/></filter></defs></svg>') no-repeat center;
  background-size: contain;
  z-index: -1; 
  pointer-events: none; 
}


.how-it-works-title {
  font-size: 48px;
  font-weight: 700;
  text-align: left;
  margin: 0 0 40px 25%; 
  color: #1A1A1A;
}

.manual-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
  position: relative; 
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}

.manual-block {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 0 0 auto; 
}

.step:nth-child(1) { width: 400px; }
.step:nth-child(2) { width: 503px; }
.step:nth-child(3) { width: 610px; }

.step {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 20px;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 8px;
}

.step.blue { background: #5468BE; color: #fff; }
.step.white { background: #fff; }

.step-number {
  text-align: right;  /* выравнивание цифры справа */
  font-weight: 700;
  font-size: 100px;
  line-height: 105%;
  display: flex;
  align-items: center;
  justify-content: flex-end; /* цифра справа, текст начнется ровно */
  flex-shrink: 0;
}

.step.blue .step-number {
  -webkit-text-fill-color: transparent; 
  -webkit-text-stroke-width: 2.1px;     
  -webkit-text-stroke-color: #fff;      
}

.step.white .step-number {
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke-width: 2.1px;
  -webkit-text-stroke-color: #1A1A1A;
}

.step-text {
  flex: 1;
  font-size: 16px;
  line-height: 1.5;
}

.vector-1 {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  width: 50%;
  height: auto;
}

.mockup-3 {
  flex-shrink: 1;
  max-width: 500px;
  width: 40%;
  position: relative;
  z-index: 1;
}

.mockup-3 img {
  width: 100%;
  height: auto;
}

@media (max-width: 1200px) {
  .manual-wrapper { gap: 20px; }
  .mockup-3 { width: 35vw; max-width: 400px; }
}

@media (max-width: 1024px) {
  .manual-wrapper {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }

  .manual-block,
  .step:nth-child(1),
  .step:nth-child(2),
  .step:nth-child(3),
  .mockup-3 {
    width: 100%;
  }

  .how-it-works {
    margin: 20px 0 15px 0;
  }

  .how-it-works-title {
    font-size: 36px;
    text-align: left;
    margin: 0 0 15px 0;
  }
}

/* @media (max-width: 992px) {
  .mockup-3 { width: 30vw; max-width: 300px; }
} */

@media (max-width: 768px) {
  .manual-wrapper {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
  
  .manual-block,
  .step:nth-child(1),
  .step:nth-child(2),
  .step:nth-child(3),
  .mockup-3 {
    width: 100%;
  }

  .how-it-works {
    margin: 20px 0 15px 0;
  }

  .how-it-works-title {
    font-size: 36px;
    text-align: left;
    margin: 0 0 15px 0;
  }
}
@media (max-width: 400px) {
  .how-it-works {
    margin: 15px 0 10px 0; 
  }

  .how-it-works-title {
    font-size: 36px;
    margin: 0 0 10px 0;
  }
}

@media (max-width: 330px) {
  .how-it-works {
    margin: 15px 0 10px 0;
  }

  .how-it-works-title {
    font-size: 36px;
    margin: 0 0 8px 0;
  }
}

.why-us {
  display: flex;
  flex-direction: column;
  align-items: flex-start; 
  gap: 45px;
  width: 100%;
  margin: 90px 0;
}

.why-us h2 {
  font-size: 48px;
  font-weight: 700;
  text-align: left;
  margin: 0 0 20px 25%;
  color: #1A1A1A;
}

.tags-block {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}

.us-tag {
  position: relative;
  flex: 1;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.1);
  text-align: center;
}

.us-tag.blue { background: #5468BE; color: #fff; }
.us-tag.white { background: #fff; color: #1A1A1A; }

.us-tag-img {
  position: absolute;
  width: 120px;
  left: 0%;
  top: -35px;
}

@media (max-width: 1024px) {
  .why-us {
    margin: 40px 0; 
  }

  .why-us h2 {
    font-size: 36px;
    text-align: left;
    margin: 0 0 20px 0;
  }

  .us-tag-img {
    width: 120px;
    top: -25px;
  }
}

@media (max-width: 768px) {
  .why-us {
    margin: 40px 0; 
  }

  .why-us h2 {
    font-size: 36px;
    text-align: left;
    margin: 0 0 15px 0;
  }

  .us-tag-img {
    width: 100px;
    top: -15px;
  }
}

@media (max-width: 390px) {
  .tags-block {
    flex-direction: column; 
    align-items: stretch;  
  }

  .us-tag {
    width: 100%; 
  }
}


.email-block {
  display: flex;
  justify-content: center;
  padding: 40px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 90px;
  font-family: 'Montserrat', sans-serif; 
}

.email-block {
  position: relative; 
  display: flex;
  justify-content: center;
  padding: 40px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 90px;
  font-family: 'Montserrat', sans-serif;
  z-index: 0; 
}

.email-block::before {
  content: '';
  position: absolute;
  top: 50%; 
  left: 50%; 
  transform: translate(-50%, -50%);
  width: 1808px;   
  height: 1184px;
  background: url('data:image/svg+xml;utf8,<svg width="1808" height="1184" viewBox="0 0 1808 1184" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity="0.2" filter="url(%23filter0_f_5_31)"><ellipse cx="688" cy="592" rx="720" ry="192" fill="%235468BE"/></g><defs><filter id="filter0_f_5_31" x="-432" y="0" width="2240" height="1184" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="200" result="effect1_foregroundBlur_5_31"/></filter></defs></svg>') no-repeat center;
  background-size: cover; 
  z-index: -1; 
  pointer-events: none; 
}


.email-wrapper {
  display: flex;
  align-items: flex-start;
  width: 100%;
  max-width: 1240px;
  gap: 40px;
}

.email-img {
  flex-shrink: 0;
  width: 200px; 
}

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

.email-text {
  flex: 1;
}

.email-title {
  font-weight: 700;
  font-size: 32px;
  margin-bottom: 10px;
}

.email-description {
  font-size: 16px;
  line-height: 1.5;
}

.email-form {
  flex: 1;
}

.email-input {
  width: 100%;
  padding: 14px 20px;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 8px;
  font-size: 16px;
  margin-top: 10px;
  margin-bottom: 10px;
  font-family: 'Montserrat', sans-serif; 
}

.submit-btn {
  width: 100%;
  padding: 14px 20px;
  background: #5468BE;
  border: none;
  border-radius: 8px;
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  cursor: pointer;
  transition: 0.3s;
}

.submit-btn:hover { background: #6677C5; }

@media (max-width: 1200px) {
  .email-wrapper {
    gap: 20px;
  }

  .email-block {
    margin-bottom: 20px;
  }

  .email-img {
    display: none;
  }
}

@media (max-width: 768px) {
  .email-wrapper {
    flex-direction: column;
    align-items: center;
    gap: 20px; 
  }

  .email-block {
    margin-bottom: 0; 
  }

  .email-img {
    display: none;
  }

  .email-text,
  .email-form {
    width: 100%;
  }

  .email-title {
    margin-bottom: 10px;
  }

  .email-description {
    font-size: 14px;
    margin-bottom: 15px;
  }
}

@media (max-width: 390px) {
  .email-title {
    font-size: 32px;
  }

  .email-description {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .email-input {
    padding: 14px 20px;
    font-size: 16px;
  }

  .submit-btn {
    padding: 14px 20px;
    font-size: 16px;
  }
}


.footer {
    display: flex;
    flex-direction: column;
    justify-content: flex-start; 
    align-items: center;
    gap: 20px;
    width: 100%;
    max-width: 1880px;
    box-sizing: border-box;
    padding: 0;          
    margin: 0; 
}

.social-title {
    width: 100%;
    font-weight: 600;
    font-size: 18px;
    line-height: 150%;
    text-align: center; 
    color: #1A1A1A;
    margin-bottom: 10px;
}

.social-buttons {
    display: flex;
    flex-wrap: wrap; 
    justify-content: center; 
    align-items: flex-start;
    gap: 7px;
    width: 100%;
}

.social-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px 4px;
    gap: 9px;
    min-width: 136px;
    width: 260px; 
    height: 106px;
    background: rgba(84, 104, 190, 0.1);
    backdrop-filter: blur(5px);
    border-radius: 8px;
    text-decoration: none;
    color: #1A1A1A;
    transition: all 0.3s ease;
}

.social-btn:hover {
    background: rgba(84, 104, 190, 0.2);
}

.social-icon {
    width: 32px;
    height: 32px;
    position: relative;
}

.social-name {
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    text-align: center;
}

.footer-bg {
    width: 100%;
    overflow: hidden; 
}

.footer-bg-img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 1200px) {
    .social-btn {
        width: 180px; 
    }
}

@media (max-width: 768px) {
    .footer {
        padding: 20px 10px;
        align-items: center;
    }

    .social-title {
        text-align: center;
    }

    .social-buttons {
        justify-content: center;
        gap: 10px;
    }

    .social-btn {
        width: 45%; 
        min-width: auto;
    }
}

@media (max-width: 480px) {
    .social-btn {
        width: 100%; 
    }
}


@media (max-width: 1280px) {
  h1 { font-size: 42px; }
  .subtitle { font-size: 24px; }

  .info-block { 
    flex: 1 1 100%; 
    height: auto; 
    padding: 20px; 
    margin-bottom: 20px; 
    box-sizing: border-box; 
  }

  .info-block-img { display: none; }

  .step { 
    flex-direction: column; 
    text-align: center; 
    box-sizing: border-box;
  }

  .us-tag { 
    flex: 1 1 calc(50% - 10px); 
    margin-bottom: 10px; 
    box-sizing: border-box;
  }

  .email-content { 
    flex-direction: column; 
    gap: 30px; 
    box-sizing: border-box;
  }

  .social-btn { 
    flex: 1 1 calc(33% - 10px); 
    box-sizing: border-box;
  }
}

@media (max-width: 768px) {
  h1 { font-size: 32px; }
  h2 { font-size: 28px; }
  .subtitle { font-size: 18px; }
  .tag { padding: 10px 15px; font-size: 14px; }
  .us-tag { flex: 1 1 100%; }
  /* .social-btn { flex: 1 1 100%; } */
}


html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

