/* BIG BOX — статичный hero (без слайдера, без шапки сайта) */
:root {
  --bb-white: #FFFFFF;
  --bb-orange: #FF6600;
  --bb-font: EvrazSans, system-ui, sans-serif;
  --bb-weight-regular: 400;
  --bb-weight-medium: 500;
  --bb-weight-bold: 700;
  --bb-container: 1330px;
  --bb-text: #2C2C2C;
  --bb-text-2: #858E9C;
  --bb-text-3: #322D31;
  --bb-text-4: #BEBEBE;
  --bb-border: #D9D9D9;
  --bb-purple: #722082;
  --bb-bg: #F9F9F9;
}

.bb-page,
.bb-page *,
.bb-page *::before,
.bb-page *::after {
  box-sizing: border-box;
}

.bb-page {
  font-family: var(--bb-font);
  font-weight: var(--bb-weight-regular);
  background: #F9F9F9;
  color: var(--bb-white);
  min-width: 0;
  max-width: 100%;
}

.breadcrumbs {
  display: none;
}

.bb-page,
.bb-page * {
  font-family: var(--bb-font);
}

.bb-container {
  width: 100%;
  max-width: calc(var(--bb-container) + 0px);
  margin: 0 auto;
}

.bb-container-inzh {
  padding: 0 62px;
}

.bb-hero {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.bb-hero__viewport {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  max-height: 712px;
}

.bb-hero__track {
  display: flex;
  width: 100%;
  min-width: 0;
  height: 100%;
  transition: transform .45s ease;
}

.bb-hero__slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bb-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(44, 44, 44, 0.55);
  z-index: 1;
  max-height: 712px;
  pointer-events: none;
}

.bb-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  width: 100%;
  padding-bottom: 64px;
  max-width: calc(var(--bb-container) + 0px);
}

.bb-hero__main {
  flex: 1 1 auto;
  max-width: 720px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.bb-hero__title {
  margin: 0;
  font-family: var(--bb-font);
  font-weight: var(--bb-weight-medium);
  color: var(--bb-white);
  text-align: left;
  font-size: 40px;
  line-height: 55px;
  letter-spacing: 1%;
  max-width: 678px;
  margin-top: 91px;
  text-transform: uppercase;
}

.bb-hero__lead {
  margin: 0;
  color: var(--bb-white);
  text-align: left;
  margin-top: 48px;
  font-weight: 400;
  font-style: normal;
  font-size: 30px;
  line-height: 32px;
  letter-spacing: 1%;
}

.bb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 60px; 
  padding: 24px 78px;
  border: 2px solid transparent;
  font-family: var(--bb-font);
  font-weight: var(--bb-weight-medium);
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: opacity .2s, background-color .2s, color .2s;
  /* margin-bottom: 30px; */
}

.bb-btn--orange {
  background: var(--bb-orange);
  border-color: var(--bb-orange);
  color: var(--bb-white);
  font-size: 16px;
  height: 60px;
  width: 331px;
  padding: 0;
}

@media (max-width: 991px) {
  .bb-btn--orange {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

.bb-hero__cta {
  margin-top: 165px;
}

.bb-hero__bars {
  display: none;
}

@media (min-width: 992px) {
  main {
    padding: 0 !important;
  }
  .bb-hero__track {
    transform: none !important;
  }

  .bb-hero__slide:not(:first-child) {
    display: none;
  }
}

.bb-btn--orange:hover,
.bb-btn--orange:focus {
  opacity: 0.9;
  color: var(--bb-white);
  text-decoration: none;
}

.bb-hero__stats {
  flex: 0 0 280px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.bb-stat {
  display: flex;
  flex-direction: column;
  /* gap: 15px; */
  border-left: 2px solid var(--bb-orange);
  padding-left: 24px;
}

.bb-stat__prefix {
  font-size: 36px;
  line-height: 1.2;
  font-weight: var(--bb-weight-medium);
  color: var(--bb-orange);
}

.bb-stat__value {
  font-size: 96px;
  line-height: 20px;
  font-weight: 400;
  color: var(--bb-orange);
  letter-spacing: 1%;
  margin: 0;
  /* margin-bottom: 15px; */
  padding-block: calc((1em - 20px) / 2);
}

.bb-stat__unit {
  font-size: 36px;
  font-weight: 400;
  line-height: 20px;
  font-weight: var(--bb-weight-medium);
  color: var(--bb-orange);
  margin: 0;
  /* padding-block: calc((1em - 20px) / 2); */
}

.bb-stat__text {
  margin-top: 4px;
  font-size: 21px;
  line-height: 22px;
  color: var(--bb-white);
  width: 331px;
  margin: 0;
  margin-top: 24px;
}

/* MOBILE */

@media (max-width: 575px) {
  .bb-hero__title {
    font-size: 22px;
  }
}

/* --- проекты: карусель 2 карточки + dots --- */
.bb-projects {
  padding: 77px 54px 0 54px;
  background: var(--bb-bg);
  color: var(--bb-text);
}

.bb-projects__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 24px;
  padding: 0 60px;
}

.bb-projects__title {
  margin: 0;
  max-width: 100%;
  color: var(--bb-text);
  font-weight: 700;
  font-style: Bold;
  font-size: 40px;
  line-height: 120%;
  letter-spacing: 0%;
  text-transform: none;
}

.bb-projects__nav {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: none;
}

.bb-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 2px solid var(--bb-purple);
  border-radius: 50%;
  background: var(--bb-white);
  color: var(--bb-purple);
  cursor: pointer;
  transition: border-color .2s, color .2s, background .2s, opacity .2s;
}

.bb-nav-btn:hover:not(:disabled) {
  border-color: var(--bb-purple);
  color: var(--bb-purple);
  background: #F8F0FA;
}

.bb-nav-btn--accent {
  border-color: var(--bb-orange);
  color: var(--bb-orange);
}

.bb-nav-btn--accent:hover:not(:disabled) {
  border-color: var(--bb-orange);
  color: var(--bb-orange);
  background: #FFF5ED;
}

.bb-nav-btn:disabled {
  border-color: var(--bb-border);
  color: #9E9E9E;
  opacity: 0.45;
  cursor: default;
  background: var(--bb-white);
}

.bb-projects__viewport {
  overflow: hidden;
  width: 100%;
}

.bb-projects__track {
  display: flex;
  gap: 32px;
  transition: transform .45s ease;
  will-change: transform;
}

.bb-project-card {
  flex: 0 0 calc((100% - 32px) / 2);
  max-width: calc((100% - 32px) / 2);
  background: var(--bb-white);
  border: 1px solid var(--bb-border);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 64px;
}

.bb-project-card__gallery {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.bb-project-card__main {
  width: 100%;
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-position: center;
  background-color: #eee;
}

.bb-project-card__thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.bb-project-card__thumb {
  position: relative;
  aspect-ratio: 1;
  border: 2px solid transparent;
  padding: 0;
  background: transparent;
  cursor: pointer;
  height: 70px;
  width: 100%;
  overflow: hidden;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.bb-project-card__thumb-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: #eee;
  transform: scale(1);
  transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.bb-project-card__thumb:hover {
  z-index: 1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
}

.bb-project-card__thumb:hover .bb-project-card__thumb-img {
  transform: scale(1.03);
}

.bb-project-card__thumb.is-active {
  border-color: var(--bb-orange);
}

.bb-project-card__body {
  padding: 24px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}

.bb-project-card__name {
  margin: 0;
  font-size: 32px;
  line-height: 28px;
  font-weight: var(--bb-weight-medium);
  color: var(--bb-text);
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
}

.bb-project-card__place {
  margin: 0;
  font-size: 20px;
  line-height: 120%;
  color: var(--bb-text-2);
  letter-spacing: 0;
  font-weight: var(--bb-weight-medium);
  color: #322D31;
}

.bb-project-card__specs {
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.bb-project-card__spec {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 18px;
  line-height: 22px;
  letter-spacing: 0;
}

.bb-project-card__specs .bb-list_a {
  margin: 0;
  color: var(--bb-text-2);
  /* bb-text-2 */
  font-weight: var(--bb-weight-regular);
  font-weight: 500;
  margin-right: 20px;
}

.bb-project-card__specs .bb-list_b {
  margin: 0;
  color: var(--bb-text-3);
  font-weight: var(--bb-weight-medium);
  text-align: right;
  p {
     margin: 16px 0;
  }
}
.bb-list_a_title {
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 166px;
}

.bb-list_chrono_a {
  display: flex;
}

.bb-project-card__chrono {
  padding-top: 0;
  border-top: none;
}

.bb-project-card__chrono-title {
  margin: 0 0 15px;
  font-size: 20px;
  line-height: 24px;
  font-weight: var(--bb-weight-medium);
  color: var(--bb-text);
  text-align: left;
  text-transform: none;
}

.bb-project-card__chrono-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bb-project-card__chrono-list li {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  font-size: 15px;
  line-height: 22px;
  color: var(--bb-text);
}

.bb-chrono-date {
  color: var(--bb-text-4);
  font-weight: var(--bb-weight-medium);
  font-style: Medium;
  font-size: 18px;
  line-height: 120%;
  letter-spacing: 0%;
  min-width: 162px;

}

/* NEW CHRONO */
.bb-chrono-list {

}
.bb-chrono_card {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.bb-chrono_card:last-child {
  margin-bottom: 0;
}
.chrono_date {
  display: flex;
  align-items: center;
  color: var(--bb-text-4);
  font-weight: var(--bb-weight-medium);
  font-style: Medium;
  font-size: 18px;
  line-height: 120%;
  letter-spacing: 0%;
  min-width: 176px;
  margin-right: 20px;
}
.chrono_description {
  font-family: EvrazSans;
  font-weight: 500;
  font-size: 18px;
  line-height: 120%;
  letter-spacing: 0%;
  vertical-align: middle;
}

.bb-check {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  display: block;
  margin-right: 20px;
}

/* --- блок запроса информации (баннер) --- */
.bb-request {
  background: var(--bb-bg, #F9F9F9);
  margin-top: 70px;
}

.bb-request__banner {
  position: relative;
  max-height: 312px;
  background-color: #686767;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.bb-request__overlay {
  position: absolute;
  inset: 0;
  /* background: linear-gradient(
    90deg,
    #686767 0%,
    rgba(73, 73, 73, 0.85) 68%,
    rgba(73, 73, 73, 0.4) 75%,
    rgba(73, 73, 73, 0) 90%
  ); */
}

.bb-request__content {
  position: relative;
  z-index: 1;
  max-width: 560px;
  /* height: 310px; */
  padding: 52px 52px 69px 64px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.bb-request__text {
  margin: 0;
  color: #fff;
  text-align: left;
  font-weight: 700;
  font-style: Bold;
  font-size: 28px;
  line-height: 120%;
  letter-spacing: 0%;

}

.bb-request__btn {
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-decoration: none;
  margin-top: 27px;
  width: 330px;
  height: 60px;
  padding: 0;
}

/* поля форм (используются в блоке расчёта) */
.bb-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.bb-field__label {
  font-size: 14px;
  line-height: 18px;
  color: var(--bb-text-2, #616161);
}

.bb-field__input {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--bb-border, #D9D9D9);
  border-radius: 0;
  padding: 8px 0 10px;
  font-family: inherit;
  font-size: 16px;
  line-height: 22px;
  color: var(--bb-text, #2C2C2C);
  background: transparent;
  outline: none;
}

.bb-field__input:focus {
  border-bottom-color: var(--bb-orange, #FF6600);
}

.bb-checkline {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 16px;
  line-height: 120%;
  color: var(--bb-text-2, #616161);
  cursor: pointer;
}

.bb-checkline input {
  margin-top: 2px;
  flex: none;
  width: 16px;
  height: 16px;
  accent-color: var(--bb-orange, #FF6600);
}

/* --- сравнение сроков / фиксация бюджета --- */

/* NEW */
.bb-scheme-graph {
  width: max-content;
  max-width: none;
}
.bb-scheme-graph__top {
  position: relative;
  display: flex;
  width: max-content;
  flex-wrap: nowrap;
}

.bb-scheme-graph__title {
  font-weight: 500;
  font-style: Medium;
  font-size: 31px;
  line-height: 110.00000000000001%;
  letter-spacing: 0%;
  color: #E42222;
  text-transform: none;
  margin-bottom: 19px;
}

.scheme-icon {
  width: 44px;
  height: 44px;
}

/* ACTIVE: прямоугольники */
.item-scheme {
  /* position: relative */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  box-sizing: border-box;
  border-right: 2px solid #E42222;
  border-top: 2px solid #E42222;
  border-bottom: 2px solid #E42222;
  height: 243px;
  background-color: #ffffff;
  span {
    font-size: 17px;
    text-align: center;
  }
}
.item-scheme:hover:not(:has(.item-scheme:hover)) {
  background-color: #FFE9E9;
}
.item-scheme:first-child {
  border-left: 2px solid #E42222;
}

/*
.item-scheme {
  --bb-scheme-notch: 11px;
  --bb-scheme-stroke: #E42222;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: none;
  width: 100%;
  height: 243px;
  padding: 0 calc(var(--bb-scheme-notch) + 8px);
  box-sizing: border-box;
  background-color: #ffffff;
  clip-path: polygon(
    0 0,
    calc(100% - var(--bb-scheme-notch)) 0,
    100% 50%,
    calc(100% - var(--bb-scheme-notch)) 100%,
    0 100%,
    var(--bb-scheme-notch) 50%
  );
  filter:
    drop-shadow(1px 0 0 var(--bb-scheme-stroke))
    drop-shadow(-1px 0 0 var(--bb-scheme-stroke))
    drop-shadow(0 1px 0 var(--bb-scheme-stroke))
    drop-shadow(0 -1px 0 var(--bb-scheme-stroke));
  span {
    font-size: 17px;
    text-align: center;
  }
}
.item-scheme:hover {
  background-color: #FFE9E9;
}
.bb-scheme-graph__top > .item-scheme + .item-scheme {
  margin-left: calc(var(--bb-scheme-notch) * -1);
}
*/

/* ACTIVE: прямоугольники */
.item-scheme_bottom {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  box-sizing: border-box;
  border-right: 2px solid #FF6600;
  border-top: 2px solid #FF6600;
  border-bottom: 2px solid #FF6600;
  height: 243px;
  background-color: #ffffff;
  span {
    font-size: 17px;
  }
}
.bb-scheme-item-1 {
  width: calc(1 * var(--bb-scheme-month));
}
.bb-scheme-item-2 {
  width: calc(4 * var(--bb-scheme-month));
}
.bb-scheme-item-3 {
  width: calc(2 * var(--bb-scheme-month));
}
.bb-scheme-item-4 {
  position: relative;
  width: calc(6.5 * var(--bb-scheme-month));
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  padding-top: 40px;
}
.bb-scheme-item-5 {
  position: absolute;
  padding-top: 20px;
  width: calc(4.5 * var(--bb-scheme-month));
  height: 121px;
  bottom: 0;
  left: calc(4.5 * var(--bb-scheme-month));
  right: auto;
  /* background: var(--bb-bg); */
  border-left : 2px solid #FF6600;
  border-bottom: 0;
}
.bb-scheme-item-6 {
  width: calc(5.5 * var(--bb-scheme-month));
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  padding-top: 40px;
}
.bb-scheme-item-7 {
  width: calc(1 * var(--bb-scheme-month));
  border-left : 2px solid #FF6600;
}
.bb-scheme-item-8 {
  width: calc(4 * var(--bb-scheme-month));
}
.bb-scheme-item-9 {
  display: flex;
  flex-direction: column;
  justify-content: start;
  width: calc(2 * var(--bb-scheme-month));
  padding-top: 40px;
}
.bb-scheme-item-10 {
    position: relative;
    width: calc(6.5 * var(--bb-scheme-month));
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: flex-start;
    padding-top: 18px;
}
.bb-scheme-item-11 {
  display: flex;
  flex-direction: column;
  justify-content: start;
  padding-top: 3px;
  width: calc(5.5 * var(--bb-scheme-month));
  border-bottom: 0;
  height: 153px;
}
.bb-scheme-item-12 {
  position: absolute;
  width: calc(6.5 * var(--bb-scheme-month)) !important;
  height: 80px !important;
  bottom: 0;
  right: calc(3 * var(--bb-scheme-month));
  border-left : 2px solid #FF6600;
  z-index: 2;
}
.bb-scheme-item-12:hover {
  background-color: #FFE8D9 !important;
}
.mask {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.mask_style {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mask .fix_price_bottom,
.mask .fix_price {
  pointer-events: auto;
}
.orange {
  bottom: -112px !important;
  left: -46px !important;
  color: #FF6600 !important;
}
.bb-scheme-item-13 {
  position: relative;
  width: calc(5.5 * var(--bb-scheme-month));
  height: 100%;
  min-width: 0;
  border-top: none !important;
  border-bottom: 2px solid #21A038 !important;
  border-right: 2px dashed #21A038;
  border-left: 2px dashed #21A038 !important;
  background-color: #F3FFF5 !important;
  font-weight: bold;

  span {
    color: #21A038;
    font-family: Inter;
    font-weight: 500;
    font-style: Medium;
    font-size: 32px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    font-family: var(--bb-font-family-bold);

  }
  .item-13__text {
    font-weight: 700;
    font-size: 64px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    font-weight: var(--bb-weight-medium);
    font-family: var(--bb-font-family-bold);
  }
}

.bb-scheme-item-13::before,
.bb-scheme-item-13::after {
  content: "";
  position: absolute;
  bottom: -6px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  z-index: 1;
}

.bb-scheme-item-13::before {
  left: -1px;
  border-right: 8px solid #21A038;
}

.bb-scheme-item-13::after {
  right: -1px;
  border-left: 8px solid #21A038;
}

.bb-scheme-graph__bottom {
  position: relative;
  display: flex;
  width: max-content;
  padding-bottom: 44px;

  span {
    text-align: center;
  }
}

.item-scheme_bottom:hover:not(:has(.item-scheme_bottom:hover)) {
  background-color: #ff660027;
}

/*
.item-scheme_bottom {
  --bb-scheme-notch: 11px;
  --bb-scheme-stroke: #FF6600;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: none;
  width: 100%;
  height: 243px;
  padding: 0 calc(var(--bb-scheme-notch) + 8px);
  box-sizing: border-box;
  background-color: #ffffff;
  clip-path: polygon(
    0 0,
    calc(100% - var(--bb-scheme-notch)) 0,
    100% 50%,
    calc(100% - var(--bb-scheme-notch)) 100%,
    0 100%,
    var(--bb-scheme-notch) 50%
  );
  filter:
    drop-shadow(1px 0 0 var(--bb-scheme-stroke))
    drop-shadow(-1px 0 0 var(--bb-scheme-stroke))
    drop-shadow(0 1px 0 var(--bb-scheme-stroke))
    drop-shadow(0 -1px 0 var(--bb-scheme-stroke));
  span {
    font-size: 17px;
  }
}
.item-scheme_bottom:hover {
  background-color: #ff660027;
}
.main > .item-scheme_bottom + .item-scheme_bottom {
  margin-left: calc(var(--bb-scheme-notch) * -1);
}
*/
.header {
  position: relative;
  height: 124px;
}
.header_title {
  position: absolute;
  left: 0;
  bottom: 20px;
  margin: 0;
  font-weight: 500;
  font-style: Medium;
  font-size: 30.86px;
  line-height: 110.00000000000001%;
  letter-spacing: 0%;
  color: #FF6600;
  text-transform: none;
}
.fix_price {
  position: absolute;
  right: 5px;
  top: -2px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: fit-content;
  color: #E42222;
  font-weight: 500;
  font-size: 32px;
  line-height: 70%;
  letter-spacing: 0%;
  text-align: center;
}
.fix_price_bottom {
  position: absolute;
  left: -110px;
  bottom: -42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: fit-content;
  color: #E42222;
  font-weight: 500;
  font-size: 32px !important;
  letter-spacing: 0%;
  text-align: center;
  z-index: 2;
  line-height: 0.6;

  span {
    font-size: 32px !important;
  }
}
.left-side {
  display: flex;
  flex-direction: column;
  width: max-content;
  flex: 0 0 auto;
}
.right-side {
  position: relative;
  z-index: 1;
  display: flex;
  width: max-content;
  flex: 0 0 auto;
}

.main {
  position: relative;
  z-index: 2;
  display: flex;
  width: max-content;
  flex-wrap: nowrap;
  /* solid 2px перекрывает dashed 2px на стыке; выше .main dashed остаётся */
  margin-right: -2px;
}
.main_right {
  width: auto;
  flex: 0 0 auto;
}

.item-scheme,
.item-scheme_bottom {
  cursor: default;
}

.bb-scheme-item-13 {
  cursor: default;
}

/* попап схемы при наведении */
.bb-scheme-popup {
  position: fixed;
  z-index: 1000;
  box-sizing: border-box;
  width: 560px;
  max-width: calc(100vw - 24px);
  padding: 24px 28px 26px;
  background: #fff;
  border: 2px solid #E42222;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
  pointer-events: none;
}

.bb-scheme-popup.is-trad {
  border-color: #E42222;
  border-radius: 40px 40px 40px 0;
}

.bb-scheme-popup.is-esb {
  border-color: #FF6600;
  border-radius:  40px 40px 40px 0;
}

.bb-scheme-popup[hidden] {
  display: none !important;
}

.bb-scheme-popup__title {
  margin: 0 0 12px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  color: #FF6600;
  text-align: left;
  text-transform: none;
}

.bb-scheme-popup__title.is-trad {
  color: #E42222;
}

.bb-scheme-popup__text {
  margin: 0;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.45;
  color: #757575;
}

.bb-scheme-axis__highlight {
  position: absolute;
  top: 0;
  left: 0;
  height: 10px;
  background: #FF6600;
  pointer-events: none;
  opacity: 0.85;
}

.bb-scheme-axis__highlight[hidden] {
  display: none !important;
}

.bb-scheme-axis__highlight.is-trad {
  background: #E42222;
}

/* модалка заявки (hero / request) */
.bb-lead-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.bb-lead-modal[hidden] {
  display: none !important;
}

.bb-lead-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(44, 44, 44, 0.45);
  backdrop-filter: blur(2px);
}

.bb-lead-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 713px;
  max-height: calc(100dvh - 48px);
  overflow: auto;
  margin: auto;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid #D9D9D9;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
  padding: 48px 56px;
}

.bb-lead-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: transparent;
  color: #9E9E9E;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.bb-lead-modal__close:hover {
  color: #2C2C2C;
}

.bb-lead-modal__form {
  max-width: none;
  width: 100%;
}

.bb-lead-modal__form .bb-contact-form__title {
  max-width: none;
  padding-right: 28px;
}

@media (max-width: 991px) {
  .bb-lead-modal {
    padding: 16px;
    align-items: flex-start;
  }

  .bb-lead-modal__dialog {
    max-width: 100%;
    max-height: calc(100dvh - 32px);
    padding: 28px 20px 24px;
  }

  .bb-lead-modal__form .bb-contact-form__title {
    font-size: 22px;
    line-height: 1.25;
    margin-bottom: 20px;
  }

  .bb-lead-modal__form .bb-contact-form__row {
    flex-direction: column;
    gap: 0;
  }

  .bb-lead-modal__form .bb-field {
    margin-bottom: 16px;
  }

  .bb-lead-modal__form .bb-contact-form__file {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
  }

  .bb-lead-modal__form .bb-contact-form__submit {
    align-self: stretch;
    width: 100%;
    height: 52px;
  }
}

/* NEW END */
.bb-budget {
  /* padding: 100px 117px 96px; */
  padding: 144px 0px 111px;
  background: var(--bb-bg);
  color: var(--bb-text, #2C2C2C);
}

.bb-budget > .bb-container {
  padding: 0 62px;
}

.bb-budget__title {
  margin: 0 0 24px;
  font-size: 40px;
  line-height: 120%;
  font-weight: var(--bb-weight-bold, 700);
  text-align: left;
  text-transform: none;
  color: var(--bb-text, #2C2C2C);
  max-width: 1208px;
}

.bb-budget__intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 40px;
  align-items: start;
}

.bb-budget__intro-left,
.bb-budget__intro-right {
  margin: 0;
  font-size: 20px;
  line-height: 140%;
  font-weight: var(--bb-weight-medium, 500);
}

.bb-budget__intro-left {
  color: var(--bb-text, #2C2C2C);
  padding-right: 24px;
}

.bb-budget__intro-right {
  color: var(--bb-orange, #FF6600);
  padding-left: 24px;
  border-left: 2px solid var(--bb-orange, #FF6600);
}

.bb-scheme {
  --bb-scheme-month: 63px;
  --bb-scheme-months: 19;
  --scheme-months: 19;
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  padding-bottom: 18px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.bb-scheme::-webkit-scrollbar {
  display: none;
  height: 0;
}

.bb-scheme__save {
  position: absolute;
  top: 36px;
  bottom: 42px;
  left: calc(100% * 13 / var(--scheme-months));
  right: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(67, 160, 71, 0.08);
  border-left: 1px dashed #43A047;
  border-right: 1px dashed #43A047;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bb-scheme__save-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  color: #43A047;
  padding: 0 12px;
  text-align: center;
}

.bb-scheme__save-text {
  font-size: 22px;
  line-height: 1.25;
  font-weight: 700;
}

.bb-scheme__save-arrow {
  width: min(160px, 70%);
  height: 2px;
  background: #43A047;
  position: relative;
}

.bb-scheme__save-arrow::before,
.bb-scheme__save-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.bb-scheme__save-arrow::before {
  left: -1px;
  border-right: 8px solid #43A047;
}

.bb-scheme__save-arrow::after {
  right: -1px;
  border-left: 8px solid #43A047;
}

.bb-scheme-lane {
  position: relative;
  z-index: 2;
  margin-bottom: 28px;
}

.bb-scheme-lane__title {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  text-align: left;
  text-transform: none;
}

.bb-scheme-lane--trad {
  --lane: #E53935;
  --lane-soft: #FCE8E6;
  --lane-border: #E57373;
}

.bb-scheme-lane--esb {
  --lane: #FF6600;
  --lane-soft: #FFF0E6;
  --lane-border: #FF9A4D;
}

.bb-scheme-lane--trad .bb-scheme-lane__title { color: #E53935; }
.bb-scheme-lane--esb .bb-scheme-lane__title { color: #FF6600; }

.bb-scheme-lane__board {
  position: relative;
  height: 148px;
  border: 1px solid var(--lane-border);
  background: #fff;
}

.bb-scheme-bar {
  --m-start: 0;
  --m-end: 1;
  --row: 1;
  position: absolute;
  left: calc(100% * var(--m-start) / var(--scheme-months));
  width: calc(100% * (var(--m-end) - var(--m-start)) / var(--scheme-months));
  top: calc(12px + (var(--row) - 1) * 62px);
  height: 56px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 10px;
  background: #fff;
  border: 1px solid var(--lane-border);
  color: var(--lane);
  text-align: center;
  z-index: 2;
}

.bb-scheme-bar--fill {
  background: var(--lane-soft);
}

.bb-scheme-bar--slant,
.bb-scheme-bar--chevron {
  clip-path: none;
  padding-right: 10px;
}

.bb-scheme-bar__ico {
  display: flex;
  color: var(--lane);
}

.bb-scheme-bar__ico svg {
  width: 20px;
  height: 20px;
  display: block;
}

.bb-scheme-bar__text {
  font-size: 11px;
  line-height: 13px;
  font-weight: 500;
}

.bb-scheme-fix {
  position: absolute;
  left: calc(100% * var(--m) / var(--scheme-months));
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  color: var(--lane);
  pointer-events: none;
}

.bb-scheme-fix--up {
  top: calc(100% + 6px);
}

.bb-scheme-fix--down {
  bottom: calc(100% + 6px);
}

.bb-scheme-fix__label {
  font-size: 12px;
  line-height: 14px;
  font-weight: 500;
  white-space: nowrap;
}

.bb-scheme-fix__tri {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}

.bb-scheme-fix--up .bb-scheme-fix__tri {
  border-bottom: 8px solid var(--lane);
}

.bb-scheme-fix--down .bb-scheme-fix__tri {
  border-top: 8px solid var(--lane);
}

.bb-scheme-axis {
  position: relative;
  z-index: 2;
  display: block;
  box-sizing: border-box;
  width: calc(var(--bb-scheme-months) * var(--bb-scheme-month));
  margin-top: 8px;
  padding-top: 20px;
  border-top: none;
  background: none;
}

.bb-scheme-axis::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 12px;
  height: 10px;
  background: #E0E0E0;
}

.bb-scheme-axis::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 12px solid #E0E0E0;
}

.bb-scheme-axis__unit {
  position: absolute;
  left: 50%;
  top: 46px;
  transform: translate(-50%, -50%);
  z-index: 1;
  padding: 0 10px;
  font-weight: var(--bb-weight-medium, 500);
  background: var(--bb-bg, #F9F9F9);
  font-size: 16px;
  line-height: 14px;
  color: #9E9E9E;
  white-space: nowrap;
}

.bb-scheme-axis__ticks {
  position: relative;
  width: 100%;
  height: 14px;
  font-size: 12px;
  line-height: 14px;
  color: #9E9E9E;
}

.bb-scheme-axis__ticks span {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  white-space: nowrap;
  text-align: center;
}

.bb-scheme-axis__ticks span:nth-child(1) { left: calc(0 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(2) { left: calc(1 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(3) { left: calc(2 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(4) { left: calc(3 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(5) { left: calc(4 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(6) { left: calc(5 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(7) { left: calc(6 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(8) { left: calc(7 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(9) { left: calc(8 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(10) { left: calc(9 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(11) { left: calc(10 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(12) { left: calc(11 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(13) { left: calc(12 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(14) { left: calc(13 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(15) { left: calc(14 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(16) { left: calc(15 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(17) { left: calc(16 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(18) { left: calc(17 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(19) { left: calc(18 * 100% / 19); }
.bb-scheme-axis__ticks span:nth-child(20) { left: calc(19 * 100% / 19); }

.bb-scheme-axis__ticks span:first-child {
  transform: translateX(0);
  text-align: left;
}

.bb-scheme-axis__ticks span:last-child {
  transform: translateX(-100%);
  text-align: right;
}

.bb-scheme-axis__ticks span::before {
  /* засечки — выключены, вернуть при необходимости */
  content: none;
  display: none;
  /*
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 2px);
  width: 1px;
  height: 8px;
  background: #E0E0E0;
  transform: translateX(-50%);
  */
}

.bb-scheme-axis__ticks span:first-child::before {
  /* left: 0; transform: none; */
}

.bb-scheme-axis__ticks span:last-child::before {
  display: none;
}

@media (max-width: 1100px) {
  .bb-scheme-bar__text {
    font-size: 10px;
    line-height: 12px;
  }

  .bb-scheme__save-text {
    font-size: 16px;
  }
}

/* --- система управления рисками --- */
.bb-risks {
  padding: 48px 0 64px;
  margin: 0 54px;
  margin-bottom: 92px;
  background: #fff;
  color: var(--bb-text, #2C2C2C);
  max-width: 1378px;
  margin: 0 auto;
  padding: 62px;
  margin-bottom: 92px;
  max-width: 1330px;
}

.bb-risks__frame {
  border: none;
  padding: 0;
  max-width: 1378px;
  margin: 0 auto;
}

.bb-risks__title {
  margin: 0;
  text-align: start;
  font-size: 40px;
  line-height: 120%;
  font-weight: var(--bb-weight-bold, 700);
  color: var(--bb-text, #2C2C2C);
  text-transform: none;
}
.bb-risks__description {
  font-weight: 500;
  font-style: Medium;
  font-size: 20px;
  line-height: 140%;
  letter-spacing: 0%;
  vertical-align: middle;
  margin: 0;
  margin-top: 24px;
  margin-bottom: 40px;
}

.bb-risks__title span {
  font-weight: var(--bb-weight-bold, 700);
}

.bb-risks__head,
.bb-risks__row {
  display: grid;
  grid-template-columns: 280px 1fr 1fr;
  gap: 24px 32px;
  align-items: start;
}

.bb-risks__head {
  margin-bottom: 0;
  padding: 0 0 3px;
}

.bb-risks__col-title {
  font-size: 32px;
  line-height: 110%;
  font-weight: var(--bb-weight-medium);
  color: var(--bb-text, #2C2C2C);
  text-align: left;
}

.bb-risks__row {
  padding-top: 23px;
}
.bb-risks__row:nth-child(1) {
  padding-top: 31px !important;
}
.bb-risks__row:last-child {
  padding: 23px 0 0 0;
}

.bb-risks__row:last-child {
  border-bottom: none;
}

.bb-risks__label {
  color: #616161;
  padding-top: 8px;
  border-top: 1px solid #D9D9D9;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 24px;
  line-height: 120%;
  letter-spacing: 0%;
  min-width: 0;
}

.bb-risks__ico {
  width: 44px;
  height: 44px;
  flex: none;
  display: block;
}

.bb-risks__point {
  font-size: 24px;
  line-height: 120%;
  font-weight: var(--bb-weight-medium);
  margin-bottom: 8px;
  border-top: 1px solid #D9D9D9;
  padding-top: 8px;
}

.bb-risks__usual .bb-risks__point {
  color: #E53935;
}

.red {
  color: #E53935;
}
.green {
  color: #43A047;
}

.bb-risks__esb .bb-risks__point {
  color: #43A047;
}

.bb-risks__desc {
  font-size: 15px;
  line-height: 22px;
  color: #757575;
  max-width: 420px;
}

/* --- инженерные решения (хотспоты) --- */
.bb-eng {
  padding: 55px 0 55px;
  background: #fff;
  color: var(--bb-text, #2C2C2C);
}

.bb-eng__title {
  margin: 0 0 24px;
  font-size: 40px;
  line-height: 120%;
  font-weight: var(--bb-weight-bold);
  text-align: left;
  text-transform: none;
  color: var(--bb-text, #2C2C2C);
  max-width: max-content;
}

.bb-eng__lead {
  font-weight: 500;
  font-style: Medium;
  font-size: 20px;
  line-height: 140%;
  letter-spacing: 0%;
  vertical-align: middle;
  color: var(--bb-text, #2C2C2C);
  max-width: 589px;
  margin-bottom: 40px;
}

.bb-eng__grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(280px, 1.05fr);
  gap: 48px 56px;
  align-items: start;
}

.bb-eng__panel {
  display: flex;
  flex-direction: column;
}

.bb-eng__nav {
  display: none;
}

.bb-eng-item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 8px 14px;
  padding: 24px;
  border-top: 1px solid #E8E8E8;
  cursor: pointer;
  transition: border-color .2s;
  /* box-shadow: 0px 5px 35px 0px #0000001A; */
}

/* .bb-eng-item:first-child {
  border-top-color: transparent;
} */

.bb-eng-item.is-active {
  border-top-color: var(--bb-orange, #FF6600);
}

.bb-eng-item:last-child {
  border-bottom: none;
}

.bb-eng-item__num {
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
  color: #2C2C2C;
  transition: color .2s;
}

.bb-eng-item__title {
  margin: 0 0 10px;
  font-weight: 500;
  color: #2C2C2C;
  text-align: left;
  text-transform: none;
  transition: color .2s;
  font-size: 24px;
  line-height: 120%;
  letter-spacing: 0%;

}

.bb-eng-item__title span {
  font-weight: 700;
}

.bb-eng-item__list {
  margin: 0;
  padding-left: 18px;
  color: #757575;
  list-style: disc;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0%;
  color: #616161;
  transition: color .5s ease;
}

.bb-eng-item__list li {
  margin-bottom: 4px;
}

.bb-eng-item.is-active .bb-eng-item__num,
.bb-eng-item.is-active .bb-eng-item__title,
.bb-eng-item.is-active .bb-eng-item__title span {
  color: var(--bb-orange, #FF6600);
}

/* .bb-eng-item.is-active .bb-eng-item__list {
  color: #000000;
} */

.bb-eng-item:not(.is-active) .bb-eng-item__list {
  opacity: 0.85;
}

.bb-eng-item.is-active .bb-eng-item__list {
  opacity: 1;
}

.bb-eng__visual {
  position: sticky;
  top: 32px;
  align-self: start;
  z-index: 1;
}

.bb-eng__img {
  position: relative;
  width: 100%;
}

.bb-eng__slides {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.bb-eng__slides img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 0;
  transition: opacity 0.8s ease;
  pointer-events: none;
}

.bb-eng__slides img.is-active {
  opacity: 1;
  z-index: 1;
}

.bb-eng-spot {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: none;
  background: #fff;
  color: #2C2C2C;
  font-family: inherit;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  transition: color .2s, box-shadow .2s;
}

.bb-eng-spot:hover,
.bb-eng-spot.is-active {
  background: #fff;
  border-color: var(--bb-orange, #FF6600);
  color: var(--bb-orange, #FF6600);
  box-shadow: 0 2px 10px rgba(255, 102, 0, 0.28);
  transform: translate(-50%, -50%);
}

/* --- гарантии, допуски и контроль качества --- */
.bb-garant {
  padding: 40px 53px 70px 53px;
  background: #fff;
  color: var(--bb-text, #2C2C2C);
  background: var(--bb-bg);
}

.bb-garant__frame {
  padding: 60px;
  background: var(--bb-white);
}

.bb-garant__title {
  margin: 0 0 48px;
  font-weight: var(--bb-weight-bold);
  color: var(--bb-text, #2C2C2C);
  text-align: left;
  text-transform: none;
  font-size: 40px;
  line-height: 120%;
  letter-spacing: 0%;
  color: #2C2C2C;
}

.bb-garant__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 32px;
}

.bb-garant__nav {
  display: none;
}

.bb-garant-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 245px;
}

.bb-garant-card__ico {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: #F3F3F3;
  color: var(--bb-orange, #FF6600);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  margin-bottom: 24px;
  overflow: hidden;
}

.bb-garant-card__ico svg,
.bb-garant-card__ico img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

.bb-garant-card__title {
  margin: 0;
  font-weight: var(--bb-weight-medium, 500);
  color: var(--bb-orange, #FF6600);
  text-align: left;
  text-transform: none;
  margin-bottom: 24px;
  font-size: 24px;
  line-height: 120%;
  letter-spacing: 0%;

}

.bb-garant-card__text {
  margin: 0;
  color: #616161;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0%;

}

@media (max-width: 1100px) {
  .bb-garant__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- связаться с нами --- */
.bb-contact {
  position: relative;
  padding: 54px;
  overflow: hidden;
  color: var(--bb-text, #2C2C2C);
}

.bb-contact__bg {
  position: absolute;
  inset: -16px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  filter: blur(6px);
  transform: scale(1.04);
  z-index: 0;
}

.bb-contact__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(44, 44, 44, 0.35);
  filter: none;
}

.bb-contact > .bb-container {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}

.bb-contact__card {
  /* display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(320px, 1.15fr); */
  display: flex;
  justify-content: center;
  gap: 60px;
  align-items: start;
  background: #fff;
  border: 1px solid var(--bb-border, #D9D9D9);
  padding: 48px;
  max-width: 713px;
  min-width: 713px;
}

.bb-contact__info {
  min-width: 0;
}

.bb-contact__title {
  margin: 0 0 24px;
  color: var(--bb-text, #2C2C2C);
  text-align: left;
  text-transform: none;
  font-weight: 700;
  font-size: 40px;
  line-height: 120%;
  letter-spacing: 0%;

}

.bb-contact__subtitle {
  margin: 0 0 24px;
  font-weight: var(--bb-weight-medium, 500);
  color: var(--bb-text, #2C2C2C);
  text-align: left;
  text-transform: none;
  font-weight: 500;
  font-size: 32px;
  line-height: 110.00000000000001%;
  letter-spacing: 0%;

}

.bb-contact__block + .bb-contact__block {
  margin-top: 24px;
}

.bb-contact__value {
  margin: 0;
  font-weight: var(--bb-weight-medium, 500);
  color: var(--bb-orange, #FF6600);
  font-size: 24px;
  line-height: 120%;
  letter-spacing: 0%;
  margin: 0 0 6px;
  max-width: 543px;
}

.bb-contact__link {
  display: inline-block;
  font-size: 16px;
  line-height: 24px;
  color: #616161;
  text-decoration: underline;
  font-weight: 400;
}

.bb-contact__link:hover {
  color: var(--bb-orange, #FF6600);
}

.bb-contact__phone,
.bb-contact__mail {
  display: block;
  font-weight: var(--bb-weight-medium, 500);
  color: var(--bb-orange, #FF6600);
  text-decoration: none;
  font-size: 24px;
  line-height: 120%;
  letter-spacing: 0%;

}

/* Comagic/подмена номера: убираем fade-mask на <small> */
.bb-contact__phone,
.bb-contact__phone small {
  opacity: 1 !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  color: var(--bb-orange, #FF6600) !important;
}

.bb-contact__mail {
  font-size: 20px;
  line-height: 26px;
  word-break: break-word;
}

.bb-contact__note {
  margin: 6px 0 0;
  color: #9E9E9E;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0%;
  color: #616161;
}

.bb-contact-form {
  min-width: 0;
  display: flex;
  flex-direction: column;
  max-width: 588px;
}

.bb-contact-form__title {
  margin: 0 0 24px;
  font-weight: var(--bb-weight-medium, 500);
  color: var(--bb-text, #2C2C2C);
  text-align: left;
  text-transform: none;
  font-size: 32px;
  line-height: 110%;
  letter-spacing: 0;
  /* max-width: 540px; */
}

.bb-contact-form__row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 24px;
  width: 100%;
}

.bb-contact-form__row .bb-field {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
}

.bb-contact-form .bb-field {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 12px;
  width: 100%;
  border-bottom: 1px solid var(--bb-border, #D9D9D9);
  padding: 0 0 11px;
  margin-bottom: 24px;
}

.bb-contact-form .bb-field__label {
  flex: none;
  color: #616161;
  white-space: nowrap;
  font-weight: 400;
  font-size: 16px;
  line-height: 120%;
  letter-spacing: 0%;
  margin-left: 7px;
}

.bb-contact-form .bb-field__input {
  flex: 1;
  min-width: 0;
  border: none;
  padding: 0;
  font-size: 16px;
  line-height: 22px;
}

.bb-contact-form .bb-field__input--textarea {
  min-height: 22px;
  height: 22px;
  resize: none;
  overflow: hidden;
}

.bb-contact-form .bb-field:focus-within {
  border-bottom-color: var(--bb-orange, #FF6600);
}

.bb-contact-form__file {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 37px;
  margin-top: 22px;
}

.bb-contact-form__file-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--bb-text, #2C2C2C);
  font-size: 14px;
  line-height: 18px;
  cursor: pointer;
}

.bb-contact-form__file-btn-text {
  font-weight: 400;
  font-size: 16px;
  line-height: 120%;
  letter-spacing: 0%;
  color: #616161;
}

.bb-contact-form__file-btn svg {
  width: 18px;
  height: 18px;
  flex: none;
}

.bb-contact-form__file-btn:hover {
  border-color: var(--bb-orange, #FF6600);
  color: var(--bb-orange, #FF6600);
}

.bb-contact-form__file-hint {
  color: #616161;
  max-width: 247px;
  font-weight: 400;
  font-size: 16px;
  line-height: 120%;
  letter-spacing: 0%;

}

.bb-contact-form__checks {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}

.bb-contact-form__checks a {
  color: inherit;
  text-decoration: underline;
}

.bb-contact-form__submit {
  align-self: flex-start;
  width: 330px;
  height: 60px;
  margin-top: 0px;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 1%;
  text-align: center;

}

/* --- запрос расчёта (под контактами) --- */
.bb-quote {
  position: relative;
  padding: 131px 0;
  overflow: hidden;
}

.bb-quote__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

.bb-quote > .bb-container {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}

.bb-quote__card {
  width: 100%;
  min-width: 713px;
  max-width: 713px;
  background: #fff;
  padding: 48px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.16);
  display: flex;
  flex-direction: column;
}

.bb-quote__title {
  margin: 0 0 48px;
  color: var(--bb-text, #2C2C2C);
  text-align: left;
  text-transform: none;
    font-size: 24px;
    font-weight: 700;
    font-size: 28px;
    line-height: 120%;
    letter-spacing: 0%;
}

.bb-quote__row {
  display: flex;
  gap: 24px;
  width: 100%;
}

.bb-quote__row .bb-field {
  flex: 1 1 0;
  min-width: 0;
}

.bb-quote .bb-field {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 12px;
  width: 100%;
  border-bottom: 1px solid var(--bb-border, #D9D9D9);
  padding: 0 0 15px;
  margin-bottom: 24px;
}

.bb-quote .bb-field-project {
  margin-bottom: 48px !important;
}

.bb-quote .bb-field__label {
  flex: none;
  margin: 0;
  color: #616161;
  white-space: nowrap;
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0%;
}

.bb-quote .bb-field__input {
  flex: 1;
  min-width: 0;
  border: none;
  padding: 0;
  font-size: 16px;
  line-height: 22px;
}

.bb-quote .bb-field:focus-within {
  border-bottom-color: var(--bb-orange, #FF6600);
}

.bb-quote .bb-field__input--textarea {
  min-height: 22px;
  height: 22px;
  resize: none;
  overflow: hidden;
}

.bb-quote__field--message,
.bb-quote__file {
  display: none;
}

.bb-quote__file-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: #616161;
  font-size: 16px;
  line-height: 120%;
}

.bb-quote__file-btn img {
  width: 16px;
  height: 19px;
  flex: none;
}

.bb-quote__file-hint {
  display: block;
  margin-top: 8px;
  color: #616161;
  font-size: 14px;
  line-height: 120%;
}

.bb-quote__checks {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 8px 0 32px;
}

.bb-quote__checks .bb-checkline {
  font-size: 16px;
  line-height: 24px;
  color: #616161;
}

.bb-quote__checks a {
  color: inherit;
  text-decoration: underline;
}

.bb-quote__submit {
  align-self: center;
  width: 330px;
  height: 60px;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 1%;
}

.bb-quote__submit-mob {
  display: none;
}

@media (max-width: 991px) {
  main {
    padding-top: 0 !important;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  .breadcrumbs {
    display: none !important;
  }

  /* шапка: 16px контейнера не трогаем, лишнее режем внутри него */
  .r4-header {
    max-width: 100%;
  }

  .r4-header .container-xxl {
    max-width: 100%;
    overflow-x: hidden;
  }

  .r4-header__line--new,
  .r4-header__left,
  .r4-header__right {
    min-width: 0;
    max-width: 100%;
  }

  footer.footer_v2_general {
    max-width: 100%;
    overflow-x: clip;
  }

  /* закрытое меню Bootstrap: translateX(100%) + width:100% раздувают документ */
  .offcanvas:not(.show):not(.showing):not(.hiding),
  .offcanvas-end:not(.show):not(.showing):not(.hiding) {
    transform: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    right: 0 !important;
    left: auto !important;
    visibility: hidden !important;
    pointer-events: none;
    overflow: hidden !important;
    padding: 0 !important;
    border: none !important;
  }

  /* cookie-бар Simai Notificator: 600px / 378px + 100vw раздувают страницу */
  .foobar-wrapper,
  .foobar-wrapper.bottom {
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  body .foobar-container,
  .foobar-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .foobar-container-center,
  .foobar-close-button-container {
    width: auto !important;
    max-width: 100% !important;
  }

  .foobar-close-button-mob {
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    box-sizing: border-box;
  }

  .bb-page {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  .bb-page > * {
    min-width: 0;
    max-width: 100%;
  }

  .bb-btn--orange,
  .bb-request__btn {
    display: flex;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-bottom: 0;
  }

  .bb-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    min-height: calc(100vh - 58px);
    min-height: calc(100dvh - 58px);
    overflow-x: clip;
    overflow-y: hidden;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .bb-hero__viewport,
  .bb-hero__overlay {
    max-height: none;
    height: 100%;
    overflow: hidden;
  }

  .bb-hero__slide {
    background-size: cover;
    background-position: center;
  }

  .bb-hero__track {
    display: block;
    width: 100%;
    height: 100%;
    transform: none !important;
  }

  .bb-hero__slide {
    position: absolute;
    inset: 0;
    flex: none;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .45s ease;
  }

  .bb-hero__slide.is-active {
    opacity: 1;
    visibility: visible;
  }

  .bb-hero__inner,
  .bb-hero > .bb-container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: calc(100vh - 58px);
    min-height: calc(100dvh - 58px);
    gap: 0;
    margin: 0;
    padding: 40px 16px 24px;
    box-sizing: border-box;
  }

  .bb-hero__main {
    display: contents;
    max-width: none;
  }

  .bb-hero__title {
    order: 1;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    max-width: none;
    margin-top: 0;
  }

  .bb-hero__lead {
    order: 2;
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
    margin-top: 16px;
    margin-bottom: 0;
    max-width: none;
  }

  .bb-hero__stats {
    order: 3;
    flex: none;
    width: 100%;
    max-width: none;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 32px;
    margin-bottom: 0;
    padding-left: 0;
    border-left: none;
  }

  .bb-container-inzh {
    padding: 0;
  }
  .bb-stat {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 2px;
    align-items: center;
    border-left: 2px solid var(--bb-orange);
    padding-left: 24px;
    min-width: 0;
  }

  .bb-stat:nth-child(2) {
    grid-template-rows: auto;
  }

  .bb-stat__value {
    grid-column: 1;
    grid-row: 1;
    font-size: 48px;
    line-height: 1;
    margin: 0;
    padding-block: 0;
    min-width: 115px;
  }

  .bb-stat:nth-child(2) .bb-stat__value {
    grid-row: 1;
    align-self: center;
  }

  .bb-stat__unit {
    grid-column: 1;
    grid-row: 2;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 400;
    margin: 0;
  }

  .bb-stat__prefix {
    grid-column: 1;
    grid-row: 1;
    font-size: 20px;
    line-height: 1;
    margin: 0;
  }

  .bb-stat:nth-child(3) .bb-stat__value {
    grid-row: 2;
  }

  .bb-stat__text {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: center;
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    font-weight: 400;
    letter-spacing: 0;
  }

  .bb-stat:nth-child(2) .bb-stat__text {
    grid-row: 1;
  }

  .bb-hero__cta {
    order: 4;
    display: flex !important;
    align-self: stretch;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-top: 27px !important;
    margin-bottom: 0 !important;
    min-height: 56px;
    padding: 16px 24px;
    box-sizing: border-box !important;
    font-weight: 500;
    font-size: 16px;
    font-weight: 400;
  }

  .bb-hero__bars {
    display: none;
  }

  .bb-projects {
    padding: 65px 0 0;
    overflow-x: hidden;
    overflow-y: hidden;
  }

  .bb-scheme-graph__title {
    font-weight: 500;
    font-size: 24px;
    text-transform: none;
    margin-bottom: 19px;
  }

  .header_title {
    position: absolute;
    left: 0;
    bottom: 0px;
    margin: 0;
    font-weight: 500;
    font-style: Medium;
    font-size: 24px;
    margin-bottom: 19px;
    text-transform: none;
  }

  .bb-projects .bb-container {
    display: flex;
    flex-direction: column;
    max-width: none;
    min-width: 0;
    padding: 0;
  }

  .bb-projects__head {
    display: contents;
    padding: 0 15px;
  }

  .bb-projects__title {
    order: 1;
    padding: 0 18px;
    margin-bottom: 36px;
    font-weight: 700;
    font-size: 28px;
    line-height: 120%;
    letter-spacing: 1%;
    text-align: start;
    margin-left: 20px;
  }

  .bb-projects__viewport {
    order: 2;
    overflow: hidden;
    width: 100%;
    min-width: 0;
  }

  .bb-projects__track {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 18px;
    padding: 0 18px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    transform: none !important;
    transition: none;
    will-change: auto;
    overscroll-behavior-x: contain;
  }

  .bb-projects__track::-webkit-scrollbar {
    display: none;
    height: 0;
  }

  .bb-project-card {
    flex: 0 0 calc(100% - 32px);
    flex-grow: 0;
    flex-shrink: 0;
    width: calc(100% - 32px);
    min-width: calc(100% - 32px);
    max-width: calc(100% - 32px);
    scroll-snap-align: start;
    padding: 16px;
  }

  .bb-project-card__gallery {
    gap: 10px;
  }

  .bb-project-card__thumbs {
    gap: 8px;
  }

  .bb-project-card__thumb {
    height: auto;
    aspect-ratio: 1;
  }

  .bb-budget > .bb-container {
    padding: 0;
  }

  .bb-project-card__name {
    font-size: 20px;
    line-height: 1.25;
  }

  .bb-project-card__body {
    padding: 24px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 0px;
    flex: 1 1 auto;
  }
  .bb-project-card__name {
    margin-bottom: 3px;
  }

  .bb-project-card__specs {
    margin-bottom: 15px;
  }

  .bb-project-card__place {
    font-size: 16px;
    line-height: 1.3;
  }

  .bb-nav-btn {
    width: 36px;
    height: 36px;
  }

  .bb-project-card__chrono-title {
    font-size: 20px;
    margin-bottom: 10px;
    font-weight: 500;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0%;
  }

  .bb-chrono_card {
    flex-wrap: nowrap;
    align-items: center;
  }

  .chrono_date {
    min-width: 140px;
    flex: none;
    font-size: 13px;
    margin-right: 12px;
    white-space: nowrap;
  }

  .chrono_description {
    font-size: 13px;
    line-height: 1.3;
  }

  .bb-check {
    margin-right: 12px;
  }

  .bb-projects__nav {
    order: 3;
    padding: 24px 18px 0;
    justify-content: flex-start;
  }

  .bb-projects__nav .bb-nav-btn[data-projects-prev]:not(:disabled) {
    border-color: var(--bb-purple, #722082);
    color: var(--bb-purple, #722082);
  }

  .bb-projects__nav .bb-nav-btn[data-projects-next]:not(:disabled) {
    border-color: var(--bb-orange, #FF6600);
    color: var(--bb-orange, #FF6600);
  }

  .bb-request {
    padding: 0 18px;
  }

  .bb-request__banner {
    min-height: 280px;
  }

  .bb-request__content {
    padding: 52px 20px 27px 20px;
    max-width: 100%;
  }

  .bb-request__text {
    font-size: 28px;
  }

  .bb-request__btn {
    width: 100%;
    text-align: center;
  }

  .bb-budget {
    padding: 85px 0 64px;
    overflow-x: hidden;
    overflow-y: hidden;
  }

  .bb-budget__title,
  .bb-budget__intro {
    padding-left: 30px;
    padding-right: 30px;
  }

  .bb-budget__title {
    font-size: 24px;
  }

  .bb-budget__intro {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .bb-budget__intro-left {
    padding-right: 0;
  }

  .bb-budget__intro-right {
    padding-left: 25px;
  }

  .bb-scheme,
  .bb-projects__track,
  .bb-eng__panel,
  .bb-garant__grid {
    touch-action: pan-x pan-y;
  }

  .bb-scheme {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    contain: inline-size;
    padding-left: 30px;
  }

  .bb-scheme-lane__board,
  .bb-scheme-axis,
  .bb-scheme__save {
    min-width: calc(19 * var(--bb-scheme-month, 63px));
  }

  .bb-scheme__save {
    left: calc(100% * 13 / 19);
    right: auto;
    width: calc(100% * 6 / 19);
  }

  .bb-scheme-axis {
    min-width: calc(19 * var(--bb-scheme-month, 63px));
    width: calc(19 * var(--bb-scheme-month, 63px));
  }

  .bb-risks {
    padding: 32px 16px 40px;
    margin-bottom: 40px;
    overflow-x: hidden;
    overflow-y: hidden;
  }

  .bb-risks__title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 0;
    font-weight: 700;
    font-style: Bold;
    line-height: 120%;
    letter-spacing: 1%;
  }

  .bb-risks__title br {
    display: none;
  }

  .bb-risks__description {
    max-width: none;
    margin-top: 12px;
    margin-bottom: 24px;
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0%;
    vertical-align: middle;
  }

  .bb-risks__head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
    padding: 0;
    margin-bottom: 8px;
  }

  .bb-risks__head-spacer {
    display: none;
  }

  .bb-risks__col-title {
    font-weight: 500;
    font-size: 24px;
    line-height: 110.00000000000001%;
    letter-spacing: 0%;
  }

  .bb-risks__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "label label"
      "usual esb";
    gap: 10px 16px;
    padding: 16px 0 20px;
    border-top: none;
  }

  .bb-risks__row:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }

  .bb-risks__label {
    grid-area: label;
    justify-content: center;
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    font-size: 18px;
    line-height: 100%;
    color: #616161;
    font-weight: 500;
  }

  .bb-risks__ico {
    width: 28px;
    height: 28px;
  }

  .bb-risks__usual {
    grid-area: usual;
    border-top: 1px solid var(--bb-border, #D9D9D9);
    padding-top: 20px;
  }

  .bb-risks__esb {
    grid-area: esb;
    border-top: 1px solid var(--bb-border, #D9D9D9);
    padding-top: 20px;
  }

  .bb-risks__point {
    border-top: none;
    padding-top: 0;
    font-size: 18px;
    line-height: 100%;
    margin-bottom: 15px;
    font-weight: 500;
  }

  .bb-risks__desc {
    font-size: 14px;
    line-height: 140%;
    max-width: none;
    font-weight: 400;
  }

  .bb-eng {
    padding: 32px 0 48px;
    overflow-x: hidden;
    overflow-y: hidden;
    background: #F9F9F9;
  }

  .bb-eng__title {
    margin-bottom: 12px;
    padding: 0 30px;
    font-weight: 700;
    font-style: Bold;
    font-size: 28px;
    line-height: 120%;
    letter-spacing: 1%;
  }

  .bb-eng__lead {
    margin: 0 0 36px;
    padding: 0 30px;
    max-width: none;
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0%;
    vertical-align: middle;
  }

  .bb-eng__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    min-width: 0;
    margin-left: 15px;
  }

  .bb-eng__visual {
    order: -1;
    padding: 0 16px;
    position: relative;
    top: auto;
    z-index: auto;
  }

  .bb-eng-spot {
    width: 34px;
    height: 34px;
    font-size: 24px;
  }

  .bb-eng__panel {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 16px;
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 16px;
    padding: 0 30px;
    margin-left: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-x: contain;
  }

  .bb-eng__panel::-webkit-scrollbar {
    display: none;
    height: 0;
  }

  .bb-eng-item,
  .bb-eng-item.is-active,
  .bb-eng-item:last-child {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 0 0 200px;
    width: 200px;
    min-width: 200px;
    max-width: 200px;
    scroll-snap-align: start;
    border: none;
    border-top: 1px solid #E8E8E8;
    padding: 12px 0 0;
    cursor: default;
  }

  .bb-eng-item + .bb-eng-item {
    border-left: none;
    padding-left: 0;
  }

  /* .bb-eng-item:first-child {
    margin-left: 30px;
  } */

  .bb-eng-item__num {
    font-size: 24px;
    line-height: 110%;
    font-weight: 500;
    letter-spacing: 0%;
    text-transform: uppercase;
  }

  .bb-eng-item__title {
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 18px;
    line-height: 114.99999999999999%;
    letter-spacing: 0%;
  }

  .bb-eng-item__list li {
    margin-bottom: 4px;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0%;
  }

  .bb-eng-item__list {
    font-size: 13px;
    line-height: 1.35;
    padding-left: 16px;
    padding-left: 25px;
  }

  .bb-eng-item:not(.is-active) .bb-eng-item__list {
    opacity: 1;
  }

  .bb-eng__nav {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    justify-content: flex-start;
  }

  .bb-eng__nav .bb-nav-btn[data-eng-prev]:not(:disabled) {
    border-color: var(--bb-purple, #722082);
    color: var(--bb-purple, #722082);
  }

  .bb-eng__nav .bb-nav-btn[data-eng-next]:not(:disabled) {
    border-color: var(--bb-orange, #FF6600);
    color: var(--bb-orange, #FF6600);
  }

  .bb-garant {
    padding: 24px 0px 40px 16px;
    overflow-x: hidden;
    overflow-y: hidden;
  }

  .bb-garant__frame {
    padding: 15px 0 0px 0;
    border: none;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    overflow: hidden;
  }

  .bb-garant__title {
    margin-bottom: 24px;
    padding: 0 16px;
    font-weight: 700;
    font-style: Bold;
    font-size: 28px;
    line-height: 120%;
    letter-spacing: 1%;
  }

  .bb-garant-card__ico {
    width: 140px;
    height: 140px;
  }

  .bb-garant__grid {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 24px;
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 16px;
    padding: 0 16px 8px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-x: contain;
  }

  .bb-garant__grid::-webkit-scrollbar {
    display: none;
    height: 0;
  }

  .bb-garant-card {
    flex: 0 0 200px;
    width: 200px;
    min-width: 200px;
    max-width: 200px;
    scroll-snap-align: start;
  }

  .bb-garant-card__title {
    font-size: 18px;
    margin-bottom: 50px;
  }

  .bb-garant-card__text {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 0%;
  }

  .bb-garant__nav {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 0 0;
    justify-content: flex-start;
  }

  .bb-garant__nav .bb-nav-btn[data-garant-prev]:not(:disabled) {
    border-color: var(--bb-purple, #722082);
    color: var(--bb-purple, #722082);
  }

  .bb-garant__nav .bb-nav-btn[data-garant-next]:not(:disabled) {
    border-color: var(--bb-orange, #FF6600);
    color: var(--bb-orange, #FF6600);
  }

  .bb-contact {
    padding: 24px 16px 16px;
    overflow-x: clip;
  }

  .bb-contact > .bb-container {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .bb-contact__card {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 16px;
    border: none;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .bb-contact__title {
    margin-bottom: 24px;
    font-weight: 700;
    font-style: Bold;
    font-size: 28px;
    line-height: 120%;
    letter-spacing: 1%;
  }

  .bb-contact__subtitle {
    display: none;
  }

  .bb-contact__block + .bb-contact__block {
    margin-top: 20px;
  }

  .bb-contact__value,
  .bb-contact__phone,
  .bb-contact__mail {
    font-size: 18px;
    line-height: 1.3;
    max-width: none;
  }

  .bb-contact__link,
  .bb-contact__note {
    font-size: 14px;
    line-height: 1.35;
  }

  .bb-contact-form {
    max-width: none;
    width: 100%;
  }

  .bb-contact-form__title {
    font-size: 24px;
    line-height: 114.99999999999999%;
    max-width: none;
    margin-bottom: 47px;
    font-weight: 700;
    text-align: center;
  }

  .bb-contact-form__row {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .bb-contact-form .bb-field {
    margin-bottom: 16px;
  }

  .bb-contact-form .bb-field__label {
    margin-left: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: 0%;
  }

  .bb-contact-form__file {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0%;

  }

  .bb-contact-form__file-hint {
    max-width: none;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0%;
  }

  .bb-contact-form__checks {
    gap: 12px;
    margin-bottom: 24px;
  }

  .bb-contact-form__checks .bb-checkline {
    font-size: 14px;
    line-height: 1.35;
  }

  .bb-checkline {
    color: #616161 !important;
    label {
      color: #616161 !important;
    }
  }

  .bb-contact-form__submit {
    align-self: stretch;
    width: 100%;
    height: 52px;
  }

  .bb-quote {
    padding: 16px;
  }

  .bb-quote > .bb-container {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0;
  }

  .bb-quote__bg {
    filter: blur(6px);
    transform: scale(1.06);
  }

  .bb-quote__card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  }

  .bb-quote__title {
    font-size: 18px;
    margin-bottom: 48px;
    font-weight: 700;
    line-height: 115%;
    letter-spacing: 0%;
    font-weight: var(--bb-weight-medium);
  }

  .bb-quote__row {
    flex-direction: column;
    gap: 0;
  }

  .bb-quote .bb-field {
    margin-bottom: 20px;
    padding: 10px 11px;
  }

  .bb-quote .bb-field-project {
    margin-bottom: 36px !important;
  }

  .bb-quote__field--project {
    display: none;
  }

  .bb-quote__field--message {
    display: flex;
  }

  .bb-quote__file {
    display: block;
    margin: 4px 0 36px;
  }

  .bb-quote__file-hint {
    font-size: 16px;
    line-height: 120%;
    margin-top: 12px;
  }

  .bb-quote__checks {
    gap: 14px;
    margin: 0 0 28px;
  }

  .bb-quote__checks .bb-checkline {
    font-size: 14px;
    line-height: 18px;
  }

  .bb-quote__submit {
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    height: 56px;
  }

  .bb-quote__submit-desk {
    display: none;
  }

  .bb-quote__submit-mob {
    display: inline;
  }
}
