html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  margin: 0 auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

ul {
  margin: 0;
}

p {
  margin: 0;
}

@font-face {
  font-family: 'Adderley';
  src:
    url('../fonts/Adderley.woff2') format('woff2'),
    url('../fonts/Adderley.woff') format('woff'),
    url('../fonts/Adderley.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ===== БАЗА ===== */
:root {
  --ve-blue: #316CF2;
  /* основной синий из кнопок/активных табов */
  --ve-blue-200: #D1DAEF;
  --ve-bg: #EFEFEF;
  /* светло-серый фон секций/страницы */
  --ve-dark: #000000;
  --ve-muted: #4C4C4C;
  --ve-card: #FFFFFF;
  --ve-radius-xl: 22px;
  --ve-radius-lg: 16px;
  --ve-radius-md: 12px;
}

::marker {
  color: var(--ve-blue);

}

* {
  box-sizing: border-box
}

html,
body {
  height: auto;
}

body {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  color: var(--ve-dark);
  background: #fff
}

header {
  position: absolute;
  z-index: 3;
  width: 100%;
}

img {
  max-width: 100%;
  display: block
}

.ve-container {
  width: 100%;
  max-width: 1125px;
  margin: 0 auto;
  padding: 0 24px
}

/* ===== ТОПБАР ===== */
.ve-topbar {
  position: relative;
  z-index: 5;
  padding: 14px 0;
}

.ve-topbar__wrap {
  background: rgba(0, 0, 0, .18);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
}

.ve-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 26px
}

.ve-menu a {
  display: block;
  padding: 10px 18px;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  opacity: .9
}

.ve-menu a:hover {
  background: rgba(255, 255, 255, .15);
  font-weight: 600;
}

.ve-menu a:hover {
  opacity: 1
}

.ve-topbar__wa {
  display: flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border-radius: 56px;
  border: 1px solid #fff;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  padding: 14px 20px;
}

.ve-topbar__wa-ico {
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cg clip-path='url(%23clip0_4054_5953)'%3E%3Cpath d='M12.003 0H11.997C5.3805 0 0 5.382 0 12C0 14.625 0.846 17.058 2.2845 19.0335L0.789 23.4915L5.4015 22.017C7.299 23.274 9.5625 24 12.003 24C18.6195 24 24 18.6165 24 12C24 5.3835 18.6195 0 12.003 0ZM18.9855 16.9455C18.696 17.763 17.547 18.441 16.6305 18.639C16.0035 18.7725 15.1845 18.879 12.4275 17.736C8.901 16.275 6.63 12.6915 6.453 12.459C6.2835 12.2265 5.028 10.5615 5.028 8.8395C5.028 7.1175 5.9025 6.279 6.255 5.919C6.5445 5.6235 7.023 5.4885 7.482 5.4885C7.6305 5.4885 7.764 5.496 7.884 5.502C8.2365 5.517 8.4135 5.538 8.646 6.0945C8.9355 6.792 9.6405 8.514 9.7245 8.691C9.81 8.868 9.8955 9.108 9.7755 9.3405C9.663 9.5805 9.564 9.687 9.387 9.891C9.21 10.095 9.042 10.251 8.865 10.47C8.703 10.6605 8.52 10.8645 8.724 11.217C8.928 11.562 9.633 12.7125 10.671 13.6365C12.0105 14.829 13.0965 15.21 13.485 15.372C13.7745 15.492 14.1195 15.4635 14.331 15.2385C14.5995 14.949 14.931 14.469 15.2685 13.9965C15.5085 13.6575 15.8115 13.6155 16.1295 13.7355C16.4535 13.848 18.168 14.6955 18.5205 14.871C18.873 15.048 19.1055 15.132 19.191 15.2805C19.275 15.429 19.275 16.1265 18.9855 16.9455Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_4054_5953'%3E%3Crect width='24' height='24' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}

.ve-topbar__wa-text {
  font-weight: 600;
  font-size: 14px
}

/* ===== HERO ===== */
.ve-hero {
  position: relative;
}

.ve-hero__slider,
.ve-hero__slide,
.ve-hero__img {
  height: 100vh;
}

.ve-hero__img {
  width: 100%;
  object-fit: cover
}

.ve-hero__overlay {
  position: absolute;
  left: 160px;
  bottom: 88px;
  color: #fff;
  max-width: 800px;
}

.ve-hero__slide {
  position: relative;
}

.ve-hero__kicker {
  font-size: 32px;
  font-weight: 400;
  max-width: 400px;
  opacity: 1;
  margin-bottom: 10px
}

.ve-hero__title {
  margin: 0 0 22px;
  font-size: 232px;
  font-family: 'Adderley', sans-serif;
  line-height: .88;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.ve-btn {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  transition: .2s ease;
  white-space: nowrap;
}

.ve-btn--cta {
  background: var(--ve-blue);
  color: #fff;
  font-size: 24px;
  width: 436px;
  font-weight: 700;
  padding: 20px 24px;
  box-shadow: 0 12px 26px rgba(46, 107, 255, .35);
}

.ve-btn--cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(46, 107, 255, .45)
}

.ve-btn__ico {
  width: 43px !important;
  height: 43px
}

.ve-hero__nav {
  position: absolute;
  right: 160px;
  bottom: 90px;
  width: 64px;
  height: 64px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  padding: 0;
  cursor: pointer;
  z-index: 2;
}

.ve-hero__nav--prev {
  right: 250px;
}

.ve-hero__nav img {
  width: 64px;
  height: 64px;
  display: block
}

/* ===== SERVICES / ТАБЫ ===== */
.ve-services {
  background: var(--ve-bg);
  padding: 100px 0;
}

.ve-services__title {
  margin: 0 0 30px 0;
  padding-left: 24px;
  font-family: 'Adderley', sans-serif;
  font-size: 64px;
  letter-spacing: 1px;
  font-weight: 700;
  text-transform: uppercase;
  color: #4C4C4C;
}

.ve-tabs__head {
  display: flex;
  gap: 14px;
  padding: 8px 24px 20px;
}

.ve-tabs__btn {
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  padding: 15px 45px;
  font-weight: 500;
  font-size: 18px;
  background: var(--ve-blue-200);
  color: #4C4C4C;
  transition: .18s ease;
  line-height: 120%;
}

.ve-tabs__btn.is-active {
  background: var(--ve-blue);
  color: #fff;
}

.ve-tabs__body {
  padding: 0 24px;
}

/* Вкладки: классика через display */
.ve-tab {
  display: none;
}

.ve-tab.is-active {
  display: block;
}

/* Карточка таба + сетка: важен min-width:0 для сжатия колонок */
.ve-tab__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 22px;
  background: var(--ve-blue-200);
  border-radius: 20px;
  padding: 20px;
  min-height: 470px;
}

.ve-tab__left,
.ve-tab__right {
  min-width: 0;
}

.ve-tab__right {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
}

.ve-tab__left {
  background: #fff;
  border-radius: var(--ve-radius-lg);
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ve-rich {
  font-size: 18px;
  line-height: 1.3;
  color: #000;
}

.ve-tab__top ul {
  margin: 10px 0 0;
  padding-left: 20px;
}

.ve-tab__top li {
  margin: 6px 0;
  list-style: disc;
}

.ve-tab__bottom {
  margin: 18px 0 16px;
  font-weight: 700;
  max-width: 65%;
}

.ve-btn--small {
  background: var(--ve-blue);
  color: #fff;
  padding: 15px 30px;
  font-size: 18px;
  font-weight: 500;
  line-height: 120%;
  width: max-content;
}

/* --- Слайдер в правой колонке --- */
.ve-tab__slider {
  width: 100%;
}

.ve-tab__slide {
  width: 100%;
  background-color: var(--ve-blue-200);
}

/* Базовые стили Owl (минимально необходимое) */
.owl-carousel {
  display: none;
  position: relative;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
}

.owl-carousel.owl-loaded {
  display: block;
}

.owl-stage-outer {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.owl-stage {
  position: relative;
  touch-action: pan-y;
}

.owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
}

/* Прячем нав/точки — у нас автопрокрутка */
.ve-tab__right .owl-nav,
.ve-tab__right .owl-dots {
  display: none !important;
}

/* Картинка слайда (единая высота окна; при желании заменить на auto + aspect-ratio) */
.ve-tab__img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  border-radius: 20px;
  display: block;
}

/* До инициализации Owl — не показываем сырую разметку */
.js-ve-tab-slider.owl-carousel:not(.owl-loaded) {
  display: none;
}

/* ===== FOOTER ===== */
.ve-footer {
  background: #373737;
  color: #fff;
}

.ve-footer__grid {
  padding: 28px 24px 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.ve-footer__label {
  opacity: 1;
  font-size: 18px
}

.ve-footer__link {
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid transparent
}

.ve-footer__link:hover {
  border-color: #fff
}

.mt-16 {
  margin-top: 16px
}

.ve-footer__center {
  justify-self: flex-end;
  text-align: center
}

.ve-footer__city {
  opacity: 1;
  font-size: 18px;
  margin-bottom: 10px
}

.ve-footer__socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px
}

.ve-footer__wa-plain {
  width: 26px;
  height: 27px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='27' viewBox='0 0 26 27' fill='none'%3E%3Cpath d='M22.2015 3.9252C21.0042 2.6759 19.5782 1.68546 18.0069 1.01158C16.4355 0.337693 14.7502 -0.00614969 13.049 8.3245e-05C5.92052 8.3245e-05 0.110999 6.00419 0.10447 13.3752C0.10447 15.736 0.701908 18.0327 1.82986 20.0661L0 27L6.86238 25.1404C8.7608 26.2084 10.8876 26.7682 13.049 26.7688H13.0555C20.1856 26.7688 25.9935 20.7647 26 13.387C26.0016 11.6287 25.6667 9.88743 25.0145 8.26354C24.3623 6.63965 23.4074 5.16522 22.2015 3.9252ZM13.049 24.5042C11.1212 24.5049 9.22879 23.9686 7.57082 22.9517L7.17905 22.7087L3.10799 23.8123L4.19513 19.7066L3.94048 19.2831C2.86282 17.5118 2.29287 15.461 2.29671 13.3684C2.29671 7.24956 7.12355 2.25795 13.0555 2.25795C14.4687 2.25533 15.8684 2.54191 17.1739 3.10118C18.4795 3.66044 19.665 4.48133 20.6622 5.5165C21.6629 6.54765 22.4562 7.7734 22.9964 9.12307C23.5365 10.4727 23.8128 11.9196 23.8094 13.3802C23.8029 19.521 18.976 24.5042 13.049 24.5042ZM18.9499 16.1781C18.6283 16.011 17.0401 15.2027 16.7413 15.088C16.4442 14.9783 16.2271 14.9209 16.0149 15.255C15.7978 15.5875 15.1775 16.3452 14.9915 16.5628C14.8054 16.7873 14.6128 16.8126 14.2895 16.6472C13.968 16.4785 12.9249 16.1275 11.6909 14.985C10.7278 14.0991 10.083 13.0022 9.89038 12.6698C9.70429 12.3357 9.87242 12.1568 10.034 11.9897C10.176 11.8412 10.3556 11.5982 10.5172 11.4059C10.6804 11.2135 10.7343 11.0717 10.8404 10.849C10.9465 10.6229 10.8959 10.4305 10.8159 10.2634C10.7343 10.0964 10.0895 8.44768 9.81692 7.78281C9.55575 7.12637 9.28968 7.2175 9.09053 7.20906C8.90444 7.19725 8.68734 7.19725 8.47024 7.19725C8.30629 7.20146 8.14496 7.24066 7.99636 7.31239C7.84776 7.38412 7.71511 7.48682 7.60673 7.61406C7.30964 7.94818 6.47878 8.75649 6.47878 10.4052C6.47878 12.0539 7.63774 13.6384 7.80098 13.8629C7.96095 14.0873 10.0765 17.4606 13.3232 18.9118C14.0904 19.2578 14.6944 19.462 15.1661 19.6172C15.9415 19.8737 16.6418 19.8349 17.2 19.7522C17.8203 19.6543 19.1115 18.9422 19.3841 18.1609C19.6518 17.3779 19.6518 16.7097 19.5702 16.5696C19.4902 16.4278 19.2731 16.3452 18.9499 16.1781Z' fill='white'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.ve-footer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end
}

.ve-footer__menu a {
  color: #fff;
  text-decoration: none;
  opacity: .9
}

.ve-footer__menu a:hover {
  opacity: 1
}

.ve-footer__dev {
  margin-top: 12px;
  opacity: .9;
  text-align: right
}

.ve-footer__impulse {
  font-weight: 800;
  letter-spacing: .6px
}


.ve-footer__bottom-wrap {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  gap: 22px;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
}

.ve-footer__small {
  color: #FFFFFF;
  text-decoration: none;
  font-size: 12px;
  font-weight: 400;
}

.imp-logo {
  object-fit: contain;
}

/* ===== Адаптив ===== */
@media (max-width: 1024px) {
  .ve-hero {
    height: 480px
  }

  .ve-hero__overlay {
    left: 32px;
    bottom: 64px
  }

  .ve-hero__title {
    font-size: 94px
  }

  .ve-hero__nav {
    right: 32px;
    bottom: 45%;
  }

  .ve-hero__nav--prev {
    right: 96px
  }

  .ve-services {
    padding: 64px 0;
  }

  .ve-services__title {
    padding-left: 0;
  }

  .ve-tabs__head {
    overflow: scroll;
    padding: 8px 0 20px;
  }

  .ve-tabs__body {
    padding: 0;
  }

  .ve-tab__card {
    grid-template-columns: 1fr
  }
}

@media (max-width: 640px) {
  header {
    top: 0;
  }

  .ve-topbar__nav {
    display: none;
  }

  .ve-topbar__wrap {
    padding: 8px 12px
  }

  .ve-menu {
    gap: 8px
  }

  .ve-menu a {
    padding: 8px 12px
  }

  .ve-hero {
    height: 100%;
  }

  .ve-hero__title {
    font-size: 54px
  }

  .ve-hero__kicker {
    font-size: 18px
  }

  .ve-hero__nav img {
    width: 54px;
    height: 54px;
  }

  .ve-btn--cta {
    width: max-content;
    padding: 15px 24px;
    font-size: 20px;
  }

  .ve-tabs__btn {
    padding: 15px 25px;
  }

  .ve-footer__grid {
    grid-template-columns: 1fr;
    padding: 28px 24px;
  }

  .ve-footer__center {
    justify-self: flex-start;
  }

  .ve-footer__bottom-wrap {
    align-items: flex-start;
    flex-direction: column;
  }

  .ve-tab__img {
    height: 300px;
  }
}

/* Бургер (по умолчанию скрыт — виден только на моб.) */
.ve-burger {
  display: none;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 12px;
  background: rgba(0, 0, 0, .45);
  cursor: pointer
}

.ve-burger {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px
}

/* Крестик */
.ve-mnav__close {
  display: none;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, .08);
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer
}

.ve-mnav__close {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 6l12 12M18 6L6 18' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px
}

.ve-mnav {
  position: static;
  display: none;
  background: transparent
}

.ve-mnav__inner {
  position: static;
  padding: 0
}

.ve-topbar__nav {
  display: block
}

.ve-mnav__close {
  display: none
}

.ve-burger {
  display: none
}

/* Мобилка */
@media (max-width: 768px) {

  /* Прячем хедер-меню в шапке, показываем бургер */
  .ve-topbar__nav {
    display: none
  }

  .ve-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center
  }

  /* Оверлей */
  .ve-mnav {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    display: none;
    z-index: 1000;
  }

  .ve-mnav.is-open {
    display: block
  }

  .ve-mnav__inner {
    position: absolute;
    z-index: 4;
    height: 100vh;
    inset: 0;
    background: #373737;
    padding: 72px 24px 24px;
  }

  .ve-mnav__close {
    display: inline-block
  }

  /* Внутри оверлея — вертикальное меню */
  .ve-mnav.is-open .ve-topbar__nav {
    display: block
  }

  .ve-menu {
    flex-direction: column;
    gap: 14px
  }

  .ve-menu a {
    padding: 14px 16px;
    background: rgba(255, 255, 255, .06);
    border-radius: 12px
  }
}

/* Лок на боди при открытом меню */
.ve-lock {
  overflow: hidden;
  touch-action: none
}

@media (max-width:768px) {

  .ve-footer__socials {
    width: max-content;
  }

  .ve-footer__small {
    font-size: 14px;
  }

  .ve-topbar:has(#ve-mnav.is-open) {
    padding: 0;
  }

  .ve-topbar:has(#ve-mnav.is-open) .ve-topbar__wrap {
    padding: 0;
    border-radius: 0;
  }
}