.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px;
}

.preloader .logo {
  max-width: 640px;
  width: 100%;
}

.preloader .logo img {
  width: 100%;
}

@font-face {
  font-family: "Verdana";
  font-display: swap;
  src: url("../fonts/Verdana-Bold.woff2") format("woff2"), url("../fonts/Verdana-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "ProstoOne";
  font-display: swap;
  src: url("../fonts/ProstoOne-Regular.woff2") format("woff2"), url("../fonts/ProstoOne-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "icons";
  font-display: swap;
  src: url("../fonts/icons.woff2") format("woff2"), url("../fonts/icons.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Verdana";
  font-display: swap;
  src: url("../fonts/Verdana-Regular.woff2") format("woff2"), url("../fonts/Verdana-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

.energo__detail-btn::before,
.slick-arrow::before,
.play-btn::before,
[class^=icon-]:before,
[class*=" icon-"]:before {
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^=icon-]:before,
[class*=" icon-"]:before {
  display: block;
}

.icon-minus:before,
.energo__detail-btn.active:before {
  content: "\e90a";
}

.icon-plus:before,
.energo__detail-btn:before {
  content: "\e90b";
}

.icon-play:before,
.play-btn:before {
  content: "\e909";
}

.icon-arrow-left:before {
  content: "\e900";
}

.icon-arrow-right:before {
  content: "\e901";
}

.icon-arrow-short:before,
.slick-arrow:before {
  content: "\e902";
}

.icon-envelope:before {
  content: "\e903";
}

.icon-envelope-white:before {
  content: "\e904";
}

.icon-telegram:before {
  content: "\e905";
}

.icon-vk:before {
  content: "\e906";
}

.icon-whatsapp:before {
  content: "\e907";
}

.icon-youtube:before {
  content: "\e909";
}

body {
  font-family: "Verdana", sans-serif;
  color: #000;
  min-width: 320px;
  line-height: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*body.lock {
  overflow: hidden;
}
*/
.wrapper {
  position: relative;
  width: 100%;
  min-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  padding-left: 20px;
  padding-right: 20px;
}

.container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.container-sm {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.container-md {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.container-lg {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.container-xl {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.container-xxl {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.row {
  --bs-gutter-y: 24px;
  --bs-gutter-x: 24px;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) * -0.5);
  margin-left: calc(var(--bs-gutter-x) * -0.5);
}

.row > * {
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.d-contents {
  display: contents !important;
}

.font-weight-semibold {
  font-weight: 600;
}

.rounded {
  border-radius: 40px !important;
}

.rounded-sm {
  border-radius: 20px !important;
}

.color-accent {
  color: #294835;
}

.color-secondary {
  color: #d4cd8e;
}

.title-lg {
  font-family: "ProstoOne";
  line-height: 1.1875;
  font-size: 20px;
}

.title {
  font-family: "ProstoOne";
  line-height: 1.1230769231;
  letter-spacing: -0.02em;
  font-size: 28px;
}

.title-sm {
  line-height: 1.3333333333;
  font-size: 24px;
}

.play-btn {
  position: relative;
  z-index: 1;
  color: #fff;
  width: 70px;
  height: 70px;
  font-size: 25px;
  padding-left: 4px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #294835;
  -webkit-transition: background-color 0.3s ease 0s;
  -o-transition: background-color 0.3s ease 0s;
  transition: background-color 0.3s ease 0s;
}

.socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.socials__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 38px;
  height: 38px;
  font-size: 20px;
  border: 1.5px solid;
  border-radius: 50%;
  color: #294835;
  -webkit-transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
  -o-transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
  transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
}

.socials__item.socials__item_sm {
  width: 38px;
  height: 38px;
  font-size: 20px;
}

.slick-arrow {
  vertical-align: middle;
  font-size: 0;
  background: #fff;
  color: #294835;
  border-radius: 50%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: background-color 0.3s ease 0s, color 0.3s ease 0s, opacity 0.3s ease 0s, visibility 0.3s ease 0s;
  -o-transition: background-color 0.3s ease 0s, color 0.3s ease 0s, opacity 0.3s ease 0s, visibility 0.3s ease 0s;
  transition: background-color 0.3s ease 0s, color 0.3s ease 0s, opacity 0.3s ease 0s, visibility 0.3s ease 0s;
  z-index: 2;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.slick-arrow::before {
  font-weight: 700;
  font-size: 18px;
}

.slick-arrow.slick-disabled {
  opacity: 0;
  visibility: hidden;
}

.slick-next {
  right: 0;
}

.slick-next::before {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.slick-prev {
	left: 4px;
}

.slick-prev::before {
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.gallery-grid .slick-next {
	right: 5px;
}

    .mobile-slider-arrows {
        display: none !important;
    }


.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.cover-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.inherit-image {
  width: 100%;
  height: 100%;
  -o-object-fit: inherit;
     object-fit: inherit;
}

.contain-image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.fancybox-bg {
  background: rgba(29, 29, 29, 0.9);
}

.popup {
  display: none;
  width: 100%;
  background: #F1F1F1;
  max-width: 1180px;
  scrollbar-width: 0;
  overflow: visible;
  padding: 100px 20px 40px 20px;
  border-radius: 20px;
}

.popup::-webkit-scrollbar {
  display: none;
}

.popup .fancybox-button {
  top: 30px;
  right: 30px;
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 50%;
  -webkit-transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
  -o-transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
  transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
}

.popup__slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.popup__slider .slick-prev {
  left: 20px;
}

.popup__slider .slick-next {
  right: 20px;
}

.popup__slide {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  min-height: 100%;
  height: auto;
}

.popup__slide img {
  min-height: 100%;
  height: auto;
  border-radius: 30px;
}

.form__field {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.form__label {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}

.form-control {
  background: #fff;
  border-color: #fff;
  border-radius: 60px;
  color: #000 !important;
  line-height: 140%;
  width: 100%;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  padding: 30px 20px;
}

.form-control::-webkit-input-placeholder {
  color: #5f5f5f;
  opacity: 1;
}

.form-control::-moz-placeholder {
  color: #5f5f5f;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #5f5f5f;
  opacity: 1;
}

.form-control::-ms-input-placeholder {
  color: #5f5f5f;
  opacity: 1;
}

.form-control::placeholder {
  color: #5f5f5f;
  opacity: 1;
}

.form-control:focus {
  outline: none;
  color: inherit;
  border-color: inherit;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-color: #294835;
}

.form-control:-webkit-autofill,
.form-control:not(:placeholder-shown) {
  text-align: left;
}

.form-control._input {
  text-align: left;
}

.form-control._error {
  background: #ffdbdb;
  border-color: #ffdbdb;
}

.form__bottom {
  gap: 10px;
}

.form__option {
  display: block;
}

.form__option-input:checked + .form__option-content::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M30.0505 13.2828C30.5387 13.771 30.5387 14.5624 30.0505 15.0506L18.3839 26.7172C17.8957 27.2054 17.1043 27.2054 16.6161 26.7172L9.94943 20.0506C9.46127 19.5624 9.46127 18.771 9.94943 18.2828C10.4376 17.7946 11.229 17.7946 11.7172 18.2828L17.5 24.0656L28.2828 13.2828C28.7709 12.7946 29.5624 12.7946 30.0505 13.2828Z' fill='%23294835'/%3E%3C/svg%3E");
}

.form__option-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  font-size: 14px;
  line-height: 1.3;
}

.form__option-content::before {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 6px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid #7e7e7e;
}

.form__option-name {
  margin-right: auto;
}

textarea.form-control {
  height: 190px;
  border-radius: 40px;
}

.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  padding: 15px 24px;
  font-size: 14px;
  border-radius: 30px;
  line-height: normal;
}

.btn.btn-primary,
.btn.plans__slide-select.selected {
  background: #294835;
  border-color: #294835;
  color: #fff;
}

.btn.btn-primary:hover,
.btn.plans__slide-select.selected:hover {
  background: #16281d;
  border-color: #16281d;
  color: #fff;
}

.btn.btn-primary:focus,
.btn.plans__slide-select.selected:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(41, 72, 53, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(41, 72, 53, 0.5);
}

.btn.btn-primary:not(:disabled):not(.disabled):active,
.btn.plans__slide-select.selected:not(:disabled):not(.disabled):active {
  background-color: #0d1711;
  border-color: #0d1711;
}

.btn.btn-secondary,
.btn.plans__slide-select {
  background: #fff;
  color: #294835;
  border-color: #294835;
}

.btn.btn-secondary:hover,
.btn.plans__slide-select:hover {
  background: #294835;
  color: #fff;
}

.btn.btn-secondary:focus,
.btn.plans__slide-select:focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(41, 72, 53, 0.5);
          box-shadow: 0 0 0 0.2rem rgba(41, 72, 53, 0.5);
}

.btn.btn-secondary:not(:disabled):not(.disabled):active,
.btn.plans__slide-select:not(:disabled):not(.disabled):active {
  background-color: #0d1711;
  border-color: #0d1711;
}

.btn.btn-secondary:not(:disabled):not(.disabled):active::before,
.btn.plans__slide-select:not(:disabled):not(.disabled):active::before {
  color: inherit;
}

.btn.btn-sm {
  padding: 13px 30px;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 6;
  padding: 16px 0;
}

.header__body {
  gap: 12px;
}

.header__logo {
  background: #fff;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 13px 30px 13px 15px;
}

.header__logo img {
  max-width: 150px;
  width: 100%;
}

.header__phone {
  display: none;
  font-size: 18px;
  border-radius: 30px;
}

.header__phone:hover {
  padding: 12px 18px;
  margin: -12px -18px;
  background: #294835;
  color: #fff;
}

.header__socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu__logo {
  max-width: 140px;
}

.menu__list {
  position: relative;
  font-size: 20px;
  gap: 15px;
}

.menu__item:hover .menu__link {
  padding: 10px 10px;
  margin: -10px -10px;
  background: #294835;
  color: #fff;
}

.menu__item:hover .submenu {
  opacity: 1;
  visibility: visible;
}

.menu__link {
  border-radius: 30px;
  display: inline-block;
  text-align: center;
  position: relative;
  z-index: 2;
}

.menu__link:hover {
  padding: 10px 10px;
  margin: -10px -10px;
  background: #294835;
  color: #fff;
}

.menu__phone {
  font-size: 22px;
  border-radius: 30px;
}
/*
.menu__phone:hover {
  padding: 12px 18px;
  margin: -12px -18px;
  background: #294835;
  color: #fff;
}
*/

.menu__callback.plans__slide-select.selected {
  color: rgba(255, 255, 255, 0.8);
}

.submenu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.submenu__list:first-child:last-child {
  -ms-grid-column-span: 2;
  grid-column: span 2;
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px;
}

.submenu__item:not(:last-child) {
  margin-bottom: 16px;
}

.submenu__link {
  border-radius: 20px;
}

.submenu__link:hover {
  padding: 5px 9px;
  margin: -5px -9px;
  background: #294835;
  color: #fff;
}

.submenu__image {
  display: none;
  height: 174px;
}

.submenu__image.active {
  display: block;
  -webkit-animation: fadeIn 0.3s;
          animation: fadeIn 0.3s;
}

.submenu__image img {
  border-radius: 10px;
}

.icon-menu {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  background: #294835;
  color: #fff;
  z-index: 11;
  height: 41px;
  width: 41px;
  border-radius: 50%;
}

.icon-menu span {
  display: block;
  padding: 2.5px 4px;
  -webkit-transition: opacity 0.4s ease 0.4s, -webkit-transform 0.4s ease 0.4s;
  transition: opacity 0.4s ease 0.4s, -webkit-transform 0.4s ease 0.4s;
  -o-transition: transform 0.4s ease 0.4s, opacity 0.4s ease 0.4s;
  transition: transform 0.4s ease 0.4s, opacity 0.4s ease 0.4s;
  transition: transform 0.4s ease 0.4s, opacity 0.4s ease 0.4s, -webkit-transform 0.4s ease 0.4s;
  will-change: transform;
  pointer-events: none;
}

.icon-menu span::before {
  content: "";
  display: block;
  height: 1px;
  width: 20px;
  pointer-events: none;
  background: currentColor;
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  -o-transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
  will-change: transform;
}

.header.open-menu .icon-menu span {
  -webkit-transition: opacity 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
  transition: opacity 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
  -o-transition: transform 0.3s ease 0s, opacity 0.3s ease 0s;
  transition: transform 0.3s ease 0s, opacity 0.3s ease 0s;
  transition: transform 0.3s ease 0s, opacity 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.header.open-menu .icon-menu span::before {
  -webkit-transition: width 0.3s ease 0s, -webkit-transform 0.45s ease 0.35s;
  transition: width 0.3s ease 0s, -webkit-transform 0.45s ease 0.35s;
  -o-transition: transform 0.45s ease 0.35s, width 0.3s ease 0s;
  transition: transform 0.45s ease 0.35s, width 0.3s ease 0s;
  transition: transform 0.45s ease 0.35s, width 0.3s ease 0s, -webkit-transform 0.45s ease 0.35s;
}

.header.open-menu .icon-menu span:first-child {
  -webkit-transform: translateY(6px);
      -ms-transform: translateY(6px);
          transform: translateY(6px);
}

.header.open-menu .icon-menu span:first-child::before {
  -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.header.open-menu .icon-menu span:nth-child(2) {
  opacity: 0;
}

.header.open-menu .icon-menu span:nth-child(3) {
  -webkit-transform: translateY(-6px);
      -ms-transform: translateY(-6px);
          transform: translateY(-6px);
}

.header.open-menu .icon-menu span:nth-child(3)::before {
  -webkit-transform: rotate(-225deg);
      -ms-transform: rotate(-225deg);
          transform: rotate(-225deg);
}

.footer {
  background: #294835;
  color: #fff;
  padding: 45px 0 20px;
}

.footer__phone {
  -webkit-transition: color 0.3s ease 0s;
  -o-transition: color 0.3s ease 0s;
  transition: color 0.3s ease 0s;
  display: contents;
}

.footer__body {
  margin: 53px 0;
}

.footer__card {
  background: #fff;
  color: #000;
  border-radius: 20px;
  padding: 24px;
  min-height: 100%;
}

.footer__card-body {
  margin-top: 16px;
  font-size: 18px;
  line-height: 1.3333333333;
}

.footer__socials {
  margin-top: 16px;
}

.footer__bottom {
  color: #c5c5c5;
  font-size: 14px;
  gap: 14px;
  row-gap: 28px;
  line-height: 1.3571428571;
}

.footer__copy {
  max-width: 685px;
}

.footer__privacy {
  -webkit-transition: color 0.3s ease 0s;
  -o-transition: color 0.3s ease 0s;
  transition: color 0.3s ease 0s;
}

.footer__prod {
  -webkit-transition: color 0.3s ease 0s;
  -o-transition: color 0.3s ease 0s;
  transition: color 0.3s ease 0s;
}

.footer__prod img {
  margin-top: -12px;
  margin-left: 4px;
}

.page {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  overflow-x: clip;
}

.promo {
  background: #294835;
  position: relative;
}

.promo__slide img {
  min-height: 320px;
}

.promo__body {
  padding: 30px 0;
  color: #fff;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(6.51%, #000), color-stop(100%, rgba(0, 0, 0, 0)));
  background: -o-linear-gradient(bottom, #000 6.51%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(0deg, #000 6.51%, rgba(0, 0, 0, 0) 100%);
}

.promo__offer {
  max-width: 1200px;
}

.promo__header {
  width: 100%;
  gap: 1rem;
}

.promo__project-link {
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 14px;
      border: 1px solid #fff;
    border-radius: 30px;
    padding: 5px 15px 7px 15px;
}
@media (max-width: 767px) {
    .promo__header {
        align-items: flex-start;
    }

    .promo__project-link {
        margin-top: 0.5rem;
    }
}

.promo__benefits {
  margin-top: 6px;
  border-top: 1px solid;
  padding-top: 15px;
  gap: 15px;
  width: 100%;
}

.promo__item {
  gap: 8px;
  color: #f5f3ef;
  font-weight: 400;
  line-height: 1.3;
}

.promo__item-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.design {
  padding: 50px 0 40px;
}

.design__title {
  max-width: 1613px;
  margin: 0 auto;
}

.design__content {
  margin-top: 50px;
}

.design__block:not(:last-child) {
  margin-bottom: 40px;
}

.design__side {
  position: sticky;
  top: calc(var(--header-height) + 16px);
}

.design__side-caption {
  font-size: 24px;
  line-height: 1.4333333333;
  letter-spacing: -0.6px;
  text-transform: uppercase;
}

.design__side-subtitle {
  margin-top: 8px;
  font-size: 18px;
  line-height: 1.3;
  text-transform: uppercase;
}

.design__side-steps {
  border-top: 1px solid #7e7e7e;
  margin-top: 30px;
}

.design__side-step {
  gap: 8px;
  font-size: 14px;
  padding: 12px 0;
  line-height: 1.4444444444;
  text-transform: uppercase;
  counter-increment: num;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 1px solid #7e7e7e;
}

.design__side-step::after {
  content: counter(num);
  color: #294835;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  font-size: 16px;
}

.design__side-btn {
  margin-top: 36px;
}

.design__more {
  min-height: 100%;
  gap: 12px;
  padding: 0 12px;
}

.projects__card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
}

.projects__card-labels {
  position: absolute;
  top: 16px;
  left: 16px;
  gap: 8px;
  z-index: 3;
}

@media (max-width: 1199px) { 
	.projects__card-labels span {
		font-size: 12px;
	}
}

.projects__card-label,
.plans__slide-label,
.project__main-label,
.projects__card-price {
  color: #4f4806;
  background: #d4cd8e;
  padding: 8px 12px;
  font-size: 16px;
  border-radius: 30px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

@media (max-width: 1119px) {
	.project__main-label, .projects__card-price {
		font-size: 14px;
		padding: 14px 18px;
	}
}

.projects__card-label.green,
.green.plans__slide-label,
.green.project__main-label {
  background: #007a4c;
  color: #fff;
}

.projects__card-image {
  position: relative;
  min-height: 100%;
}

.projects__card-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.projects__card-image img {
  position: relative;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  -o-transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
  z-index: 1;
}

.projects__card-body {
  position: absolute;
  z-index: 4;
  background: #fff;
  padding: 2px;
  border-radius: 24px;
  bottom: 16px;
  left: 16px;
  right: 16px;
}

.projects__card-desc {
  font-size: 12px;
}

.projects__card-footer {
  font-size: 14px;
}

.projects__card-price {
  font-size: 14px;
}
.projects__card-label__main, .projects__card-price__main {
	font-size: 13px;
	font-weight: 700;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    padding: 10px 16px;
    border-radius: 30px;
}

.projects__card-area__main {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	padding: 10px 16px;
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.92);
	color: #294835;
	border: 1px solid rgba(41, 72, 53, 0.18);
	backdrop-filter: blur(6px);
}


.projects__card-label__main {
	color: #4f4806;
    background: #d4cd8e;
}
.projects__card-price, .projects__card-price__main {	
    background: #007a4b;
    color: #fff;
}

.projects__card-price strong {
  color: #294835;
  font-weight: 700;
  letter-spacing: -2.1px;
  font-size: 26px;
}

.projects__card-more {
  width: 36px;
  height: 36px;
  font-size: 16px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #294835;
  color: #fff;
}

.projects__card-more::before {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.about {
  padding: 36px 0;
  overflow-x:hidden;
}

.about__sidebar-list {
  border-top: 1px solid #7e7e7e;
  margin-top: 20px;
}

.about__sidebar-item {
  gap: 8px;
  font-size: 14px;
  padding: 12px 0;
  line-height: 1.4444444444;
  text-transform: uppercase;
  counter-increment: num;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 1px solid #7e7e7e;
  -ms-grid-column-span: 2;
  grid-column: span 2;
}

.about__sidebar-item::after {
  content: counter(num);
  color: #294835;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  font-size: 16px;
}

.about__sidebar-btn {
  margin-top: 40px;
}

.about__video {
  position: relative;
  overflow: hidden;
  display: block;
}

.about__video img {
  min-height: 280px;
  -o-object-position: 0 center;
     object-position: 0 center;
}

.about__video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.gallery {
  padding: 36px 0;
  overflow-x:hidden;
}

.gallery .row {
  position: relative;
}

.gallery .row > * {
  position: static;
}

.about .row {
  position: relative;
}

.about .row > * {
  position: static;
}

.gallery__offer {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  -webkit-transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
  -o-transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
  transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
}

.gallery__slider .slick-list {
  overflow: visible;
}

.gallery__slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}

.gallery__slide {
  display: block;
  overflow: hidden;
  max-width: 100%;
}

.gallery__slide img {
  height: 320px;
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  -o-transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.benefits {
  padding: 36px 0 48px;
}

.benefits__image {
  overflow: hidden;
  position: relative;
  min-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.benefits__image img {
  height: auto;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  min-height: 100%;
}
.contact_director .benefits__image::before {
	content: none;
}
.contact_director .benefits__image img {
	border-radius: 30px;
}
.benefits__image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.1)));
  background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
}

.benefits__cards {
  min-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.benefits__card {
  border: 1px solid #c1c1c1;
  padding: 24px;
  min-height: 100%;
}

.benefits__card-list {
  margin-top: 16px;
  line-height: 1.3333333333;
  padding-left: 16px;
}

.benefits__card-list li {
  list-style: disc;
}

.benefits__card-list li:not(:last-child) {
  margin-bottom: 12px;
}

.steps {
  padding: 36px 0;
}

.steps__body {
  margin-top: 20px;
}

.steps__body-item {
  position: relative;
  counter-increment: num;
}

.steps__body-item::before {
  content: counter(num);
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #e4e3e3;
  line-height: 1.2555555556;
  z-index: -1;
  font-size: 120px;
}

.steps__card-caption {
  background: #007a4c;
  color: #fff;
  line-height: 1.4333333333;
  letter-spacing: -0.6px;
  text-transform: uppercase;
  padding: 8px 16px;
  font-size: 18px;
}

.steps__card-desc {
  line-height: 1.3333333333;
  margin-top: 20px;
}

.steps__card-desc p:not(:last-child) {
  margin-bottom: 12px;
}

.consult {
  padding: 36px 0;
}

.consult__btns {
  margin-top: 24px;
  gap: 12px;
}

.consult__btn {
  padding: 17px;
}

.consult__item-btn {
  gap: 12px;
}

.consult__item-btn:not(:last-child) {
  margin-bottom: 14px;
}

.consult__item-btn.active .consult__btn-icon::before {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}

.consult__btn-text {
  background: #f1f1f1;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  line-height: 1.3333333333;
  padding: 10px 20px;
}

.consult__btn-icon {
  width: 32px;
  height: 32px;
  font-size: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  background: #294835;
  -webkit-transition: background-color 0.3s ease 0s;
  -o-transition: background-color 0.3s ease 0s;
  transition: background-color 0.3s ease 0s;
  color: #fff;
}

.consult__btn-icon::before {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  -o-transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.consult__answer {
  display: none;
  max-width: 800px;
  padding: 0 20px;
}

.energo {
  padding: 36px 0 72px;
}

.energo__block {
  display: none;
}

.energo__block.active {
  display: block;
  -webkit-animation: fadeIn 1s;
          animation: fadeIn 1s;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.energo__detail {
  background: #fff;
  padding: 12px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.energo__detail-item {
  position: absolute;
  z-index: 2;
}

.energo__detail-item.active {
  z-index: 3;
}

.energo__detail-btn {
  width: 24px;
  height: 24px;
  font-size: 16px;
  background: #294835;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  -webkit-transition: background-color 0.3s ease 0s;
  -o-transition: background-color 0.3s ease 0s;
  transition: background-color 0.3s ease 0s;
  z-index: 1;
  position: relative;
}

.energo__detail-btn::before {
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  -o-transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

.energo__detail-btn.active {
  z-index: 2;
}

.energo__detail-btn.active::before {
  -webkit-transform: rotate(360deg);
      -ms-transform: rotate(360deg);
          transform: rotate(360deg);
}

.energo__detail-desc {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  border-radius: 20px;
  background: #f1f1f1;
  -webkit-backdrop-filter: blur(25px);
          backdrop-filter: blur(25px);
  padding: 16px;
  left: 0;
  z-index: 2;
}

.energo__detail-caption {
  font-weight: 700;
  letter-spacing: -0.18px;
  text-transform: uppercase;
}

.energo__detail-text {
  margin-top: 8px;
  line-height: 1.3333333333;
  font-size: 14px;
}

.energo__body {
  min-height: 100%;
}

.energo__tabs {
  margin-top: 12px;
  background: #294835;
  padding: 6px;
  min-width: 69%;
}

.energo__tab {
  font-size: 18px;
  font-weight: 700;
  padding: 13px;
  color: #fff;
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.energo__tab.active {
  background: #fff;
  color: #294835;
}

.energo__desc {
  line-height: 1.3;
  max-width: 660px;
}

.project {
  background: #294835;
  position: relative;
  z-index:1;
}

.project__slider {
  max-width: 100%;
}

.project__slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.project__slider .slick-prev {
  top: 45%;
  left: calc((100vw - 710px) / 2);
}

.project__slider .slick-next {
  top: 45%;
  right: calc((100vw - 710px) / 2);
}

.project__slide {
  min-height: 360px;
  height: auto;
  display: block;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.project__slide img {
  min-height: 360px;
}

.project__body {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  padding: var(--header-height) 0 0;
  color: #fff;
  /*background: -webkit-gradient(linear, left bottom, left top, color-stop(16.51%, #000), color-stop(89.25%, rgba(0, 0, 0, 0)));*/
  /*background: -o-linear-gradient(bottom, #000 16.51%, rgba(0, 0, 0, 0) 89.25%);*/
  /*background: linear-gradient(0deg, #000 16.51%, rgba(0, 0, 0, 0) 89.25%);*/
}

.project__main-title {
  line-height: 1;
  font-size: 40px;
}

.project__main-labels {
  margin-top: 16px;
  gap: 8px;
}

.project__thumbs {
  min-width: 0;
  padding: 0px 0 20px;
}

.project__thumbs .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}

.project__thumb {
  position: relative;
  width: 60px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 1;
  cursor: pointer;
}

.project__thumb img {
  width: 100%;
  height: 100%;
  border-radius: 5px;
}
/*
.project__thumb::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  pointer-events: none;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.4)), to(rgba(0, 0, 0, 0.4)));
  background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%);
  -webkit-transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
  -o-transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
  transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
}
*/
.project__thumb.slick-current::before {
  opacity: 0;
  visibility: hidden;
}

.desc {
  padding: 50px 0 25px;
}

.desc__item {
  gap: 27px;
  font-size: 14px;
  line-height: 1.3333333333;
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid #c1c1c1;
}

.desc__item:last-child {
  margin-bottom: 0px;
}

.desc__item-name {
  width: 60px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.price {
  padding: 25px 0 50px;
}

.price__item {
  gap: 24px;
}

.price__item:not(:last-child) {
  margin-bottom: 32px;
}

.price__item-main {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  -webkit-transition: background-color 0.3s ease 0s;
  -o-transition: background-color 0.3s ease 0s;
  transition: background-color 0.3s ease 0s;
}

.price__item-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}

.price__item-btn::before {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 40px;
  height: 40px;
  font-size: 20px;
  background: #294835;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  -o-transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.price__item-btn.active::before {
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg);
}

.price__item-header {
  width: 100%;
  display: block;
  cursor: pointer;
}

.price__item-info {
  margin-top: 32px;
  display: none;
}

.price__item-info li {
  font-size: 20px;
  line-height: 1.3;
}

.price__item-info li:not(:last-child) {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #c1c1c1;
}

.plans, 
.bg_grey
{
  background: #f1f1f1;
}

.plans {
  padding: 40px 0 32px;
}

.plans__tabs {
  background: #294835;
  padding: 6px;
  width: 100%;
  max-width: 852px;
  margin: 56px auto 0;
  white-space: nowrap;
  overflow-x: auto;
}

.plans__tab {
  font-size: 18px;
  font-weight: 700;
  padding: 13px;
  color: #fff;
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  white-space: nowrap;
}

.plans__tab.active {
  background: #fff;
  color: #294835;
}

.plans__block {
  display: none;
}

.plans__block.active {
  display: block;
}

.plans__extras {
  margin-top: 36px;
  gap: 16px;
}

.plans__extras-main {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.plans__extras-options {
  display: none;
  width: 100%;
  margin-top: 40px;
}

.plans__extras-btn {

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}

.plans__extras-btn::before {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 40px;
  height: 40px;
  font-size: 20px;
  background: #294835;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  -o-transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.plans__extras-btn.active::before {
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg);
}

.plans__slider {
  margin-top: 56px;
  width: 100%;
}

.plans__slider .slick-track {
  min-width: calc(100vw - 32px);
}

.plans__slider .slick-list {
  overflow: visible;
}

.plans__slider .slick-next,
.plans__slider .slick-prev {
  background: #294835;
  color: #fff;
}

.plans__slide {
  padding: 16px;
  background: #fff;
}

.plans__slide:not(:last-child) {
  margin-right: 16px;
}

.plans__slide-labels {
  margin-top: 24px;
  gap: 8px;
  margin-bottom: 24px;
}

.plans__slide-select {
  margin-top: 24px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.plans__slide-image {
  width: 100%;
}

.plans__footer {
  margin-top: 53px;
}

.plans__footer-bottom {
  margin-top: 23px;
  gap: 16px;
}

.plans__footer-btn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 8px;
}

.plans__footer-btn::before {
  font-size: 24px;
}

.our-projects {
  padding: 25px 0 50px;
}

.descriptions p {
	line-height: 1.5em;
}

@media (min-width: 575.98px) {
  .container,
  .container-fluid,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    padding-left: 30px;
    padding-right: 30px;
  }

  .title-lg {
    font-size: 28px;
  }

  .title-sm {
    font-size: 30px;
  }

  .popup {
    border-radius: 30px;
    padding: 60px;
  }

  .form__label {
    position: absolute;
    top: 50%;
    left: 40px;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    color: #000;
    font-size: 18px;
  }

  .form-control {
    padding: 38px 40px;
    font-size: 18px;
  }

  .form-control:not(:last-child) {
    text-align: right;
  }

  .form-control:-webkit-autofill + .form__label,
  .form-control:not(:placeholder-shown) + .form__label {
    font-size: 12px;
    top: 16px;
  }

  .form-control._input + .form__label {
    font-size: 12px;
    top: 16px;
  }

  .form__option-content {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 10px;
    font-size: 18px;
  }

  .form__option-content::before {
    border-radius: 8px;
    width: 32px;
    height: 32px;
  }

  .form__option-name {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }

  .form__option-price {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }

  .promo__slide {
    height: 100vh;
  }

  .promo__body {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    /*padding: var(--header-height) 0 30px;*/
    padding: 0 0 30px;
  }

  .promo__benefits {
    gap: 20px;
  }

  .gallery__slide img {
    height: 400px;
  }
  
  .gallery-grid .gallery__slide img {
    height: 320px;
  }
  
  .benefits__card-list {
    padding-left: 30px;
    padding-right: 16px;
    font-size: 18px;
  }
  
  .descriptions p {
    font-size: 18px;
	line-height: 1.5em;
}

  .energo__content {
    border-radius: 30px;
    background: #f1f1f1;
    padding: 40px;
  }

  .project__slide {
    height: 100vh;
  }

  .project__thumbs .slick-track {
    gap: 24px;
  }

  .project__thumb {
    width: 120px;
  }

  .project__thumb img {
    border-radius: 10px;
  }

  .desc__item {
    font-size: 18px;
  }

  .desc__item-name {
    width: 140px;
  }

  .price__item-main {
    border-radius: 30px;
    border: 1px solid #c1c1c1;
    padding: 32px 32px;
  }

  .price__item-btn::before {
    width: 60px;
    height: 60px;
    font-size: 25px;
  }

  .plans {
    padding: 80px 0 76px;
  }

  .plans__extras-main {
    border: 1px solid #c1c1c1;
    padding: 16px;
  }

  .plans__extras-btn::before {
    width: 62px;
    height: 62px;
    font-size: 25px;
  }

  .plans__slide {
    padding: 32px;
  }

  .plans__slide:not(:last-child) {
    margin-right: 32px;
  }

  .plans__footer-main {
    font-size: 24px;
  }
}
.footer__title.title {
	font-size: 42px;
}



@media (min-width: 576px) {
  .d-sm-contents {
    display: contents !important;
  }
      h1.promo__title span.title2 {
        font-size: 20px;
        letter-spacing: 1px;
    }
}

@media (min-width: 670px) {
  .header__contacts {
    background: #fff;
    gap: 14px;
    padding: 7px 16px;
  }
}

@media (min-width: 767.98px) {
  .container {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }

  .container-sm {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }

  .container-md {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }

  .title {
    font-size: 35px;
  }
  .design__title.title {
    font-size: 25px;
  }

  .form__bottom-privacy {
    max-width: 200px;
  }

  .form__option-content {
    gap: 12px;
    font-size: 20px;
  }

  .form__option-content::before {
    border-radius: 10px;
    width: 40px;
    height: 40px;
  }

  .footer__body {
    margin: 25px 0;
  }

  .gallery__offer.fade-tablet {
    opacity: 0;
    visibility: hidden;
  }

  .gallery__slider.slick-slider {
    position: static;
  }

  .steps__body {
    margin-top: 40px;
  }

  .steps__card-caption {
    padding: 12px 24px;
    font-size: 24px;
  }

  .consult__main {
    padding-bottom: 26px;
  }

  .consult__btns {
    margin-top: 48px;
  }

  .consult__btn-text {
    padding: 20px 24px;
    font-size: 18px;
  }

  .consult__btn-icon {
    font-size: 28px;
    width: 62px;
    height: 62px;
  }

  .consult__answer {
    padding: 0 24px;
    font-size: 18px;
  }

  .energo__detail-btn {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }

  .energo__detail-desc {
    width: 259px;
    padding: 24px;
  }

  .energo__detail-caption {
    font-size: 18px;
  }

  .energo__detail-text {
    font-size: 18px;
  }

  .project__main-title {
    font-size: 50px;
  }

  .project__main-labels {
    margin-top: 32px;
  }

  .price__item-btn::before {
    width: 80px;
    height: 80px;
    font-size: 35px;
  }

  .plans__slide-main {
    width: 40%;
  }

  .plans__slide-select {
    margin-top: auto;
  }

  .plans__slide-image {
    width: 50%;
  }
}

@media (min-width: 768px) {
  .container-md,
  .container-sm,
  .container {
    max-width: 710px;
  }

  .d-md-contents {
    display: contents !important;
  }
}

@media (min-width: 991.98px) {
  .wrapper {
    overflow: visible;
  }

  .container-lg {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }

  .rounded {
    border-radius: 60px !important;
  }

  .rounded-sm {
    border-radius: 30px !important;
  }

  .title-lg {
    font-size: 35px;
  }

  .title-sm {
    font-size: 35px;
  }

  .slick-arrow {
    width: 60px;
    height: 60px;
  }

  .slick-arrow::before {
    font-size: 24px;
  }

  .footer {
    padding: 90px 0 40px;
  }

  .design {
    padding: 100px 0 52px;
  }

  .design__side-steps {
    margin-top: 41px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }

  .design__side-step {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }

  .design__side-step.sm-step {
    grid-column: auto;
  }

  .design__side-step.sm-step:nth-child(odd) {
    border-right: 1px solid #7e7e7e;
    padding-right: 12px;
  }

  .design__side-step.sm-step:nth-child(even) {
    padding-left: 12px;
  }

  .projects__card-footer {
    padding-left: 12px;
  }

  .about {
    padding: 52px 0;
  }

  .gallery {
    padding: 52px 0;
  }

  .gallery__slider .slick-track {
    gap: 24px;
  }

  .gallery__slide img {
    height: 500px;
  }
   .gallery-grid .gallery__slide img {
    height: 320px;
  }

  .benefits {
    padding: 52px 0 64px;
  }

  .steps {
    padding: 52px 0;
  }

  .steps__body {
    margin-top: 60px;
  }

  .consult {
    padding: 52px 0;
  }

  .energo {
    padding: 52px 0 104px;
  }

  .project__slider .slick-prev {
    left: calc((100vw - 932px) / 2);
  }

  .project__slider .slick-next {
    right: calc((100vw - 932px) / 2);
  }

  .project__main {
    border-radius: 30px 30px 0px 0px;
    background: #fff;
    color: #000;
    padding: 40px;
    padding: 25px;
  }

  .project__main-title {
    font-size: 60px;
    font-size: 36px;
    color: #000;
  }

  .project__thumbs {
    padding: 40px 0;
    margin-right: calc(-1 * (100vw - 932px) / 2);
  }

  .project__thumb {
    width: 175px;
  }

  .project__thumb img {
    border-radius: 20px;
  }

  .desc {
    padding: 80px 0 52px;
  }

  .price {
    padding: 52px 0 104px;
  }

  .plans__extras-btn {
    margin-top: 32px;
  }

  .our-projects {
    padding: 52px 0 100px;
  }
  .header__phone {
    display: contents;
  }
}

@media (min-width: 992px) {
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 932px;
  }

  .d-lg-contents {
    display: contents !important;
  }
  	h1.promo__title span.title2 {
		font-size: 24px;
		letter-spacing: 1px;
	}
}

@media (min-width: 1199.98px) {
  .container-xl {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }

  .title-lg {
    font-size: 42px;
  }

h1.promo__title span.title2 {
        font-size: 28px;
        letter-spacing: 1px;
    }

  .title {
    font-size: 50px;
  }
  .design__title.title {
    font-size: 35px;
  }
  .play-btn {
    padding-left: 8px;
    width: 90px;
    height: 90px;
    font-size: 45px;
  }

  .menu {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    gap: 12px;
  }

  .menu__body {
    background: #fff;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    padding: 15px 20px;
  }

  .menu__list {
    gap: 12px;
    font-size: 15px;
  }

  .menu__actions {
    background: #fff;
    gap: 24px;
    padding: 7px 16px 7px 24px;
  }

  .menu__phone {
    font-size: 15px;
    display: none;
  }

  .submenu {
    position: absolute;
    z-index: 1;
    top: calc(100% - 8px);
    left: -20px;
    right: -20px;
    width: calc(100% + 40px);
    padding: 40px 20px 18px;
    border-radius: 0 0 30px 30px;
    background: #fafafa;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
    -o-transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
    transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
	box-shadow: 0px 1px 10px 0px rgb(0 0 0 / 8%);
	
	
  }

  .icon-menu {
    display: none;
  }

  .icon-menu {
    width: 60px;
    height: 60px;
  }

  .icon-menu span::before {
    width: 36px;
  }

  .promo__item-icon {
    width: 32px;
    height: 32px;
  }

  .design__content {
    margin-top: 70px;
  }

  .design__side-caption {
    font-size: 30px;
  }

  .design__side-subtitle {
    font-size: 20px;
  }

  .design__side-step {
    padding: 18px 0;
    font-size: 16px;
  }

  .design__side-step::after {
    font-size: 18px;
  }

  .projects__card.projects__card_lg {
    aspect-ratio: 1.716;
  }

  .about__sidebar-list {
    margin-top: 40px;
  }

  .about__sidebar-item {
    padding: 18px 0;
    font-size: 16px;
  }

  .about__sidebar-item::after {
    font-size: 18px;
  }

  .benefits__card-list li:not(:last-child) {
    margin-bottom: 16px;
  }

  .steps__body-item::before {
    font-size: 180px;
  }

  .energo__detail {
    max-width: 750px;
  }

  .energo__detail-image img {
    height: 474px;
  }

  .energo__desc {
    font-size: 20px;
  }

  .project__slider .slick-prev {
    left: calc((100vw - 1140px) / 2);
  }

  .project__slider .slick-next {
    right: calc((100vw - 1140px) / 2);
  }

  .project__thumbs {
    margin-right: calc(-1 * (100vw - 1140px) / 2);
  }

  .plans {
    padding: 116px 0 106px;
  }

  .plans__extras-main {
    padding: 32px;
  }

  .plans__extras-options .row > *:not(:nth-last-child(1),
  :nth-last-child(2)) .plans__extras-option {
    padding-bottom: 24px;
    border-bottom: 1px solid #c1c1c1;
  }

  .plans__slide {
    padding: 39px 48px;
    width: 1120px;
  }

  .plans__slide-main {
    width: 30%;
  }

  .plans__slide-image {
    width: 60%;
  }
}

@media (min-width: 1200px) {
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 1140px;
  }

  .d-xl-contents {
    display: contents !important;
  }
}

@media (min-width: 1399.98px) {
  .container-xxl {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }

  .title-lg {
    font-size: 50px;
  }
  h1.promo__title span.title2 {
        font-size: 34px;
        letter-spacing: 1px;
    }

  .design__title.title {
    font-size: 42px;
  }

  .promo__body {
    /*padding: var(--header-height) 0 83px;*/
    padding: 0 0 83px;
  }

  .promo__offer {
    max-width: 1347px;
    max-width: 100%;
  }

  .promo__benefits {
    padding-top: 31px;
    gap: 8px;
  }

  .promo__item {
    font-size: 20px;
  }

  .design {
    padding: 90px 0 74px;
  }

  .design__more {
    padding: 0 32px;
  }

  .projects__card-labels {
    top: 24px;
    left: 24px;
  }

  .projects__card-label,
  .plans__slide-label,
  .project__main-label,
.projects__card-price  {
    padding: 12px 24px;
    font-size: 18px;
  }

  .projects__card-body {
    bottom: 24px;
    left: 24px;
    right: 24px;
    border-radius: 24px;
    padding: 2px;
  }

  .projects__card-desc {
    line-height: 1.3333333333;
    font-size: 16px;
  }

  .projects__card-more {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }

  .about {
    padding: 74px 0;
  }


  .gallery {
    padding: 74px 0;
  }

  .benefits {
    padding: 74px 0 94px;
  }
  
.page_second-contact .benefits {
    padding: 0px 0 94px;
  }

  .steps {
    padding: 74px 0;
  }

  .steps__card-caption {
    font-size: 30px;
  }

  .steps__card-desc {
    margin-top: 40px;
    font-size: 18px;
  }

  .steps__card-desc p:not(:last-child) {
    margin-bottom: 16px;
  }

  .consult {
    padding: 70px 0 74px;
  }

  .consult__btn {
    min-width: 278px;
  }

  .energo {
    padding: 60px 0 148px;
  } 


  .project__slider .slick-prev {
    left: calc((100vw - 1320px) / 2);
  }

  .project__slider .slick-next {
    right: calc((100vw - 1320px) / 2);
  }

  .project__thumbs {
    margin-right: calc(-1 * (100vw - 1320px) / 2);
  }

  .desc__item-name {
    width: 282px;
  }

  .price {
    padding: 74px 0 40px;
  }

  .price__item-btn::before {
    width: 123px;
    font-size: 50px;
    height: 123px;
  }

  .our-projects {
    padding: 74px 0 148px;
  }
}

@media (min-width: 1400px) {
  .col-xxl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0%;
  }

  .col-xxl-auto {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: auto;
  }

  .col-xxl-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 8.33333333%;
  }

  .col-xxl-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 16.66666667%;
  }

  .col-xxl-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 25%;
  }

  .col-xxl-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 33.33333333%;
  }

  .col-xxl-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 41.66666667%;
  }

  .col-xxl-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 50%;
  }

  .col-xxl-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 58.33333333%;
  }

  .col-xxl-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 66.66666667%;
  }

  .col-xxl-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 75%;
  }

  .col-xxl-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 83.33333333%;
  }

  .col-xxl-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 91.66666667%;
  }

  .col-xxl-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 100%;
  }

  .offset-xxl-0 {
    margin-left: 0;
  }

  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }

  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }

  .offset-xxl-3 {
    margin-left: 25%;
  }

  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }

  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }

  .offset-xxl-6 {
    margin-left: 50%;
  }

  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }

  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }

  .offset-xxl-9 {
    margin-left: 75%;
  }

  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }

  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }

  .d-xxl-inline {
    display: inline !important;
  }

  .d-xxl-inline-block {
    display: inline-block !important;
  }

  .d-xxl-block {
    display: block !important;
  }

  .d-xxl-grid {
    display: -ms-grid !important;
    display: grid !important;
  }

  .d-xxl-inline-grid {
    display: -ms-inline-grid !important;
    display: inline-grid !important;
  }

  .d-xxl-table {
    display: table !important;
  }

  .d-xxl-table-row {
    display: table-row !important;
  }

  .d-xxl-table-cell {
    display: table-cell !important;
  }

  .d-xxl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .d-xxl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }

  .d-xxl-none {
    display: none !important;
  }

  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1320px;
  }

  .order-xxl-0 {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }

  .d-xxl-contents {
    display: contents !important;
  }
}

@media (min-width: 1599.98px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1500px;
  }

  .title-lg {
    font-size: 56px;
  }

h1.promo__title span.title2 {
        font-size: 40px;
        letter-spacing: 1px;
    }

  .design__title.title {
    font-size: 45px;
  }

  
  .benefits__text .title-sm {
	 font-size: 32px; 
  }

  .play-btn {
    width: 120px;
    height: 120px;
  }

  .slick-arrow {
    width: 80px;
    height: 80px;
  }

  .slick-arrow::before {
    font-size: 32px;
  }

  .btn {
    padding: 15px 32px 17px 32px;
    font-size: 16px;
  }

  .header {
    padding: 32px 0;
  }

  .header__body {
    gap: 24px;
  }

  .header__logo {
    padding: 19px 35px 19px 20px ;
  }

  .header__logo img {
    max-width: 210px;
  }

  .header__phone {
    font-size: 16px;
  }

  .menu {
    gap: 32px;
  }

  .menu__list {
    font-size: 16px;
  }

  .menu__phone {
    font-size: 16px;
    display: contents;
  }

  .submenu {
    padding: 40px 40px 24px;
  }

  .design__side-step {
    padding: 24px 0;
    font-size: 18px;
  }

  .design__side-step::after {
    font-size: 20px;
  }

  .design__side-step.sm-step:nth-child(odd) {
    padding-right: 16px;
  }

  .design__side-step.sm-step:nth-child(even) {
    padding-left: 16px;
  }

  .design__more {
    padding: 0 64px;
  }

  .projects__card-desc {
    font-size: 18px;
  }

  .projects__card-footer {
    margin-top: 20px;
    margin-top: 0;
  }

  .projects__card-price {
    font-size: 18px;
  }

  .projects__card-price strong {
    font-size: 35px;
  }

  .about__sidebar-item {
    padding: 24px 0;
    font-size: 18px;
  }

  .about__sidebar-item::after {
    font-size: 20px;
  }


  .gallery__slide img {
    height: 600px;
  }

  .project__slider .slick-prev {
    left: calc((100vw - 1500px) / 2);
  }

  .project__slider .slick-next {
    right: calc((100vw - 1500px) / 2);
  }

  .project__thumbs {
    margin-right: calc(-1 * (100vw - 1500px) / 2);
  }

  .plans__title {
    font-size: 76px;
  }
}

@media (min-width: 1900px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1740px;
  }



  .btn {
    padding: 17px 48px 19px 48px;
  }

  .header__body {
    gap: 42px;
  }

  .header__logo {
    padding: 19px 34px;
  }

  .header__phone:hover {
    padding: 15px 24px;
    margin: -15px -24px;
  }

  .menu {
    gap: 42px;
  }

  .menu__body {
    padding: 23.5px 40px;
  }

  .menu__list {
    gap: 15px;
    font-size: 18px;
  }

  .menu__item:hover .menu__link {
    padding: 15px 15px;
    margin: -15px -15px;
  }

  .menu__link:hover {
    padding: 15px 15px;
    margin: -15px -15px;
  }

  .menu__actions {
    padding: 7px 16px 7px 32px;
    gap: 28px;
  }

  .menu__phone {
    font-size: 18px;
  }

  .menu__phone:hover {
    padding: 15px 24px;
    margin: -15px -24px;
  }

  .menu__callback {
    padding-inline: 33px;
  }

  .submenu {
    left: -40px;
    right: -40px;
    width: calc(100% + 80px);
  }

  .submenu__link {
    font-size: 18px;
  }

  .gallery__slide img {
    height: 700px;
  }
  
  .gallery__slider.video img {
	  height: 550px;
  }

  .project__slider .slick-prev {
    left: calc((100vw - 1740px) / 2);
  }

  .project__slider .slick-next {
    right: calc((100vw - 1740px) / 2);
  }

  .project__thumbs {
    margin-right: calc(-1 * (100vw - 1740px) / 2);
  }
}

@media (max-width: 1199.98px) {
  .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    -webkit-transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
    -o-transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
    transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
    opacity: 0;
    visibility: hidden;
	z-index: 10;
  }

  .header.open-menu .menu {
    opacity: 1;
    visibility: visible;
  }

  .menu__content {
    background: #fff;
    margin-left: auto;
    height: 100%;
    padding: 30px 20px 20px;
    -webkit-transition: -webkit-transform 0.3s ease 0s;
    transition: -webkit-transform 0.3s ease 0s;
    -o-transition: transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%);
    overflow-y: auto;
  }

  .header.open-menu .menu__content {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }

  .submenu {
    margin-top: 16px;
    padding-left: 12px;
    font-size: 16px;
    display: none;
  }

  .submenu.active {
    display: block;
  }

  .plans__extras-options .row > *:not(:last-child) .plans__extras-option {
    padding-bottom: 24px;
    border-bottom: 1px solid #c1c1c1;
  }
}


 


@media (max-width: 991.98px) {
  body.lock-menu {
    overflow: hidden;
  }

  .projects__card-desc {
    display: none;
  }

  .project__thumbs .slick-list {
    overflow: visible;
  }
  .tabs {
	margin-top: 35px; 
  }
}

@media (max-width: 783px) {
	.header__socials {
		display: none;
  }
	
}

@media (max-width: 767.98px) {
  .menu__phone:nth-of-type(2) {
    margin-top: 32px;
  }

  .gallery__slider .slick-track {
    margin-left: -16px;
  }

  .plans__slide-main {
    display: contents;
  }

}


@media (max-width: 575.98px) {
  .footer__title.title {
    font-size: 26px;
  }

  .footer__phone {
    font-size: 26px;
  }

  .benefits__card-icon img {
    max-height: 50px;
    max-width: 60px;
  }

  .desc__item {
    background: #f1f1f1;
    margin: 0 -20px;
    padding: 10px 20px;
  }
/*
  .plans__tabs {
    margin-right: -16px;
    padding-right: 16px;
  }
 */ 
  .plans__tab {
	font-size: 14px;
  }
}

@media (any-hover: hover) {
  .play-btn:hover {
    background: #203829;
  }

  .socials__item:hover {
    background: #294835;
    color: #fff;
  }

  .slick-arrow:hover {
    background: #294835;
    color: #fff;
  }

  .popup .fancybox-button:hover {
    background: #294835;
    color: #fff;
  }

  .footer__phone:hover {
    color: #cccccc;
  }

  .footer__privacy:hover {
    color: #fff;
  }

  .footer__prod:hover {
    color: #fff;
  }

  .projects__card:hover .projects__card-image img {
    -webkit-transform: scale(1.025);
        -ms-transform: scale(1.025);
            transform: scale(1.025);
  }

  .projects__card:hover .projects__card-body {
    opacity: 1;
    visibility: visible;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }

  .about__video:hover .play-btn {
    background: #16281d;
  }

  .gallery__slide:hover img {
    -webkit-transform: scale(1.025);
        -ms-transform: scale(1.025);
            transform: scale(1.025);
  }

  .consult__item-btn:hover .consult__btn-icon {
    background: #16281d;
  }

  .energo__detail-btn:hover {
    background: #16281d;
  }

  .project__thumb:hover::before {
    opacity: 0.75;
  }

  .price__item-main:hover {
    background: #f1f1f1;
  }

  .plans__slider .slick-next:hover,
  .plans__slider .slick-prev:hover {
    background: #16281d;
  }
}

@media (hover: hover) {
  .projects__card-body {
    -webkit-transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    -o-transition: transform 0.3s ease 0s, opacity 0.3s ease 0s, visibility 0.3s ease 0s;
    transition: transform 0.3s ease 0s, opacity 0.3s ease 0s, visibility 0.3s ease 0s;
    transition: transform 0.3s ease 0s, opacity 0.3s ease 0s, visibility 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    -webkit-transform: translateY(50%);
        -ms-transform: translateY(50%);
            transform: translateY(50%);
    opacity: 0;
    visibility: hidden;
  }
}

.menu__link:hover svg path {
	stroke:#fff;
}

.ya-share2 {
	position: absolute;
    top: 120px;
}
.ya-share2__link_more {
	background:#fff!important;
	opacity:1!important;
	box-shadow: 0px 1px 10px 0px rgb(0 0 0 / 8%);
}
.ya-share2__container_size_m .ya-share2__badge .ya-share2__icon {
	width:32px!important;
	height:32px!important;
}
.dop_link {
    position: absolute;
    top: 120px;
    margin-left: 50px;
    background: #fff;
    width: 40px;
    height: 40px;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	cursor:pointer;
	box-shadow: 0px 1px 10px 0px rgb(0 0 0 / 8%);
}
.dop_link_2 {
    margin-left: 100px;
}
.dop_link_2.newfav1 {
    background:#294835;
}
.dop_link_2.newfav1 svg path {
    stroke:#fff;
}
.header__logo {
	box-shadow: 0px 1px 10px 0px rgb(0 0 0 / 8%);
}
@media (min-width:1200px) {
	.menu__body,
	.menu__actions {
		box-shadow: 0px 1px 10px 0px rgb(0 0 0 / 8%);
	}
}
@media (max-width:1199px) {
	.header__contacts {
		box-shadow: 0px 1px 10px 0px rgb(0 0 0 / 8%);
	}
}

@media (max-width:1599px) {
	.ya-share2 {
		top:90px;
	}
	.dop_link {
		top:90px;
	}
}


.ya-share4 .socials__item {
	border: 0px solid;
}

 .ya-share3,  .ya-share4 {
	display:none;
}


.ya-share3 svg {
	fill:#294835;
}



@media (max-width:669px) {
	.ya-share2 {
		top:75px;
	}
	.dop_link {
		top:75px;
	}
	

    .ya-share3, .ya-share4 {
		position: relative;
		background: #fff;
		width: 40px;
		height: 40px;
		border-radius: 40px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		box-shadow: 0px 1px 10px 0px rgb(0 0 0 / 8%);
		margin-right: 3px;
    }	
	.ya-share3 {
		top: -1px;
	}
	.ya-share4 {
		top: 2px;
	}
}
@media (max-width:576px) {
		.ya-share_top {
			right: 68px;
			position: absolute;
			z-index: 9;
	}
}


@media (max-width:419px){
	.header__logo img {
		max-width: 115px;
	}
}




@media (max-width:1399px) and (min-width:1200px) {
	.menu__actions .menu__callback {
		white-space:nowrap;
	}
	.menu__list {
		gap:5px;
	}
}

@media (max-width:575px) and (min-width:420px) {
	.ya-share2 {
        left: 120px;
        top: 312px;
    }
	.dop_link {
		left: 0;
		margin-left:20px;
		top: 312px;
	}
	.dop_link.dop_link_2 {
		left: 0;
		margin-left:70px;
		top: 312px;
	}
	
	
	
	
}
@media (max-width:419px){
	.dop_link {
		left: 0;
		margin-left:20px;
		top: 279px;
	}
	.dop_link {
		left: 0;
		margin-left:20px;
	}
	.dop_link.dop_link_2 {
		left: 0;
		margin-left:70px;
		top: 279px;
	}
	.ya-share2 {
        left: 120px;
        top: 279px;
    }
}

.scrol_icons_js {
	transition: top 0.3s ease; /* Плавное перемещение top за 0.3 секунды */
}

/*.page_second {
	padding-top:180px;
}*/
.page_second h1.title {
	margin-bottom:40px;
}
.page_second.gallery_content h1.title {
	margin-bottom:0px;
}
.iscontent p a,
.iscontent table a,
.iscontent li a {
	color: #294835;
	text-decoration: underline;
    -webkit-text-decoration-color: #29483566;
    text-decoration-color: #29483566;
    text-underline-offset: 5px;
    transition: 0.2s;
}
.iscontent p a:hover,
.iscontent table a:hover,
.iscontent li a:hover {
    -webkit-text-decoration-color: #294835;
    text-decoration-color: #294835;
}
.iscontent {
	/*padding-bottom:100px;*/
}
.page_second .steps {
	background:#f9f9f9;
}
.page_second .design {
	padding-top:0;
}

.oblety_img {
	position: absolute;
    right: 45px;
    top: 120px;
    z-index: 1;
}
.oblety_img svg * {
    transition: 0.2s;
}
.oblety_img:hover svg circle {
    /*fill: #294835;*/
}
.oblety_img:hover svg path {
    /*fill: #ffffff;*/
}

.oblety_img.oblety_img_slide {
    top: 200px;
	right: 45px;
}


@media (max-width:1599px) {
	.oblety_img {
		top:95px;
	}
}




@media (max-width:767px) and (min-width:575px) {
	.oblety_img {
		  
		right:47px;
	}

}


@media (max-width:575px) and (min-width:420px) {
	.oblety_img {
		top:310px;
		right:20px;
	}
	.oblety_img.oblety_img_slide {
		top: 310px;
		right: 72px;
	}

}

@media (max-width:420px) {
	.oblety_img {
		top:275px;
		right:20px;
	}
	.oblety_img.oblety_img_slide {
		top: 275px;
		right: 72px;
	}
}



@media (max-width:575px) {
	 
	.oblety_img svg {
		width:40px;
		height:40px;
	}
}




.menu__link .cntfav {
    transition: 0.2s;
	opacity:1;
	position: absolute;
    background: #ddd;
    width: 20px;
    height: 20px;
    border-radius: 100px;
    font-size: 10px;
    font-weight: bold;
    align-items: center;
    justify-content: center;
    display: inline-flex;
    bottom: -5px;
    right: -10px;
	pointer-events:none;
}
.menu__link .cntfav.cntfav0 {
	opacity:0;
}

.menu__link:hover .cntfav {
	bottom: 8px;
    right: 6px;
	color:#000;
}

.plans__slider .plans__slide-main + a {
	display:block;
	position:relative;
}
.plans__slider .plans__slide-main + a::before {
	content:'';
	display:block;
	padding-top:55%;
}
.plans__slider .plans__slide-main + a img {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:center center;
}

.form__option-content::before {
	content:none;
}
.plans__extras-options .row > * .plans__extras-option {
    padding-bottom: 24px!important;
    border-bottom: 1px solid #c1c1c1!important;
}

ul.price__item-info li.color-accent {
    font-weight: bolder;
	font-size:140%;
}
.plans__extras-caption {
	cursor:pointer;
}

.dop_link_1 > a {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

@media (max-width:1899px) and (min-width:1599.98px) {
	.page_main .about .about__sidebar-caption.title-sm {
		font-size:40px;
	}
	.footer__card-body > address {
		width: calc(100% - 260px);
		font-size: 16px;
	}
}

@media (min-width:1599.98px) {
	.footer__card-address {
		margin-bottom:30px;
	}
	.footer__card-address + a {
		margin-top: -7px;
	}
}

.benefits__card {
  -webkit-transition: color 0.3s ease 0s;
  -o-transition: color 0.3s ease 0s;
  transition: color 0.3s ease 0s;
}
.benefits__card:hover {
  color:#294835;
}

.id_43 .consult__list {
	display:flex;
	flex-wrap:wrap;
	margin-left:-15px;
	margin-right:-15px;
}

.id_43 .consult__list .consult__item {
	width:calc(50% - 30px);
	margin-left:15px;
	margin-right:15px;
}

@media (max-width:1199px) {
	.id_43 .consult__list .consult__item {
		width:calc(100% - 30px);
	}
}

.iscontent h2,
.iscontent h3,
.iscontent h4,
.iscontent h5,
.iscontent h6 {
	margin: 30px 0;
    font-family: "ProstoOne";
    line-height: 1.1230769231;
    letter-spacing: -0.02em;
}
.iscontent > h2:first-child,
.iscontent > h3:first-child,
.iscontent > h4:first-child,
.iscontent > h5:first-child,
.iscontent > h6:first-child {
	margin: 0 0 30px 0;
}
.iscontent h2 { font-size:42px; }
.iscontent h3 { font-size:36px; }
.iscontent h4 { font-size:32px; }
.iscontent h5 { font-size:28px; }

@media (max-width:767px) {
	.iscontent h2 { font-size:32px; }
	.iscontent h3 { font-size:26px; }
	.iscontent h4 { font-size:22px; }
	.iscontent h5 { font-size:18px; }
}
.promo li.dots .slick-dots {
	display:flex;
}
.promo li.dots .slick-dots li.slick-active button {
	background:#fff;
}
.promo li.dots .slick-dots button {
	font-size:0;
	width:18px;
	height:18px;
	border:2px solid #fff;
	border-radius:18px;
}
.promo li.dots .slick-dots li {
	margin-right:8px;
}
.promo li.dots .slick-dots li:last-child {
	margin-right:0;
}

.about__sidebar {
	-webkit-transition: all 0.1s ease;
	-o-transition: all 0.1s ease;
	transition: all 0.1s ease;
}
.about__sidebar.opacity {
	opacity:0;
}

body, html {
	scroll-behavior: smooth;
}
.yakor_content {
	position:relative;
	top:-120px;
}
@media (max-width:767px) {
	.yakor_content {
		top:-100px;
	}
}

.project__slider a img {
	object-fit:contain;
	position:relative;
}
.card_img_bg {
	position:absolute;
	top:-15px;
	right:-15px;
	bottom:-15px;
	left:-15px;
	width:calc(100% + 30px);
	height:calc(100% + 30px);
	filter:blur(8px);
	background-size: cover;
    background-position: center center;
}

.oblety_img {
	background:#fff;
	border-radius:1000px;
	overflow:hidden;
}

.oblety_img_360 {
	display:block;
	padding:20px;
	background:#fff;
	border-radius:100px;
}

.oblety_img[data-fancybox="oblety2"] {
	top:220px;
}




@media (max-width:575px) and (min-width:420px) {
	.oblety_img[data-fancybox="oblety2"] {
	top:310px;
	right: 70px;
	}

}

@media (max-width:420px) {
	.oblety_img[data-fancybox="oblety2"] {
	top:275px;
	right: 70px;
	}
}


@media (max-width: 575px) {
   
	.oblety_img_360 {
		padding:5px;
	}
	.oblety_img_360 svg {
		width:33px;
		height:33px;
	}
}

.project__slider.is_wide_1 a img {
    object-fit: cover;
}

.project__slider.is_wide_1 a .contain-img {
    object-fit: contain;
}



@media (max-width:575px) {
	.project__slider.is_wide_1 a .contain-img {
		max-height:370px;
	}
}
.oblety_img:not(.oblety_img_360) {
    display: flex;
    align-items: center;
    justify-content: center;
	width:83px;
	height:83px;
	background:#fff;
	border-radius:100px;
}
@media (min-width: 1600px) {
	.oblety_img:not(.oblety_img_360) {
		margin-top: 20px;
	}
}

[data-fancybox="oblety2"] svg {
	animation-name: eye;
	animation-duration: 2s;
	animation-iteration-count: infinite;
}
@keyframes eye {
  from {
    transform:scale(1);
  }
  50% {
    transform:scale(.8);
  }
  to {
    transform:scale(1);
  }
}
@media (max-width:575px) {
	.oblety_img:not(.oblety_img_360) {
		width:43px;
		height:43px;
	}
	.project__body {
		position:static;
		padding:20px;
	}
	.project__main-title {
		font-size: 24px;
	}
	.project__thumbs {
		padding-bottom:0;
		padding-top:20px;
	}
	.project__body > .container {
		padding:0;
	}
	.project__body > .container {
		padding:0;
	}
	.project__body > .container .row {
		margin-top:0;
	}
	.project__body > .container .row > div {
		margin-top:0;
	}
}

@media (min-width:893px) {
	.project__thumbs {
		padding:0 0 20px 0;
	}
	.project__thumb {
		width:140px;
	}
}
span.clip-text {
    text-decoration: none;
    font-size: 18px;
    line-height: 180%;
    color: #99A3A6;
    margin-bottom: 26px;
    padding: 0 0 0 28px;
    background: url(../img/upload.svg) no-repeat left;
}
input[type="file"] {
    display: none;
}

.project__slider .project__slide:not(.slick-slide) {
	display:none;
}
.project__slider .project__slide:not(.slick-slide):first-child {
	display:block;
}

.promo__slider .promo__slide:not(.slick-slide) {
	display:none;
}
.promo__slider .promo__slide:not(.slick-slide):first-child {
	display:block;
}
.promo__slider .slick-prev {
	margin-left: 10px;
}
.promo__slider .slick-next {
	margin-right: 10px;
}

.no_shadow .menu__body, .no_shadow .menu__actions, .no_shadow .header__menu-btn, .no_shadow .submenu {
	box-shadow: none !important;
}
.shadow_scroll {
	box-shadow: 0px 4px 6px rgb(0,0,0,0.2);
}

/* fancybox js */

.fancybox-button {
	background: rgba(30, 30, 30, .9);
	height: 60px;
	width: 60px;
}
.fancybox-button, .fancybox-button:link, .fancybox-button:visited {color: #fff;}
/*.fancybox-navigation .fancybox-button {opacity: 1;visibility: visible;} 
.fancybox-button[disabled], .fancybox-button[disabled]:hover {color: #FFF;} */

.main_title_text {
	margin-bottom: 20px;
    color: #294835;
	font-weight: bold;
	font-size: 18px;
	text-transform: uppercase;
}
.mb60 {
	margin-bottom: 60px;
}

 .promo__offer .promo__benefits {
	 flex-wrap:  nowrap;
 }
 
 @media (max-width: 991.98px) {
    .promo__offer .promo__benefits {
		 flex-wrap:  wrap;
	 }
}



.header__body .label-r  {
	color:#294835;
}


.promo__item {
	position:relative;
}


.arrowbanner {
    width: 21px;
    height: 28px;
    background-color: #294835;
    position: absolute;
    right: 7px;
	display:none;
}

.arrowbanner:after {
  content: '';
  display: block;
  border-right: solid #fffa;
  border-top: solid #fffa;
  width: 12px;  /* sqrt(7*7 + 7*7) */ 
  height: 12px; /* это примерно 10 */
  transform: translate(8px, 10px) rotate(45deg);
}

.mainbanner_button {
	top: 9px;
	display:flex;
	
   justify-content: center;
	
}

@media (max-width:767px) { 
	.arrowbanner {	 
		display:flex;
	}
	.mainbanner_button {
		min-width: 342px;
	}
	.mainbanner_button {
		justify-content: flex-start;
	}	
}
@media (max-width:360px) { 
	.mainbanner_button {
		top: 20px;
		display:flex;
		min-width: 200px;
	   justify-content: flex-start;
		
	}
}


.list-free {
	font-size:22px;
}

@media (max-width:1400px) { 
	.benefits .benefits__image {
		height: 600px;
	}
}

@media (max-width:1199px) { 
	.header__menu .menu__content .menu__body  {
		margin-top: 40px;
	}
}

@media (max-width:669px) { 
	.header .header__logo .label-r {   
		right: 11px;
	}
	.header__logo {
		    padding: 14px 20px 13px 11px;
	}
	
	
}


.whatsapp-chat {
  position: fixed;
  bottom: 0px;
  right: 70px;
  background-color: #25D366; /* Фирменный цвет WhatsApp */
  color: white;
  padding: 10px 30px;
  border-radius: 10px 10px 0px 0px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  font-family: Arial, sans-serif;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.2s ease; /* Анимация изменения цвета фона и масштабирования */
  z-index: 999;
}

.whatsapp-chat a {
  color: white;
  text-decoration: none;
  font-size: 18px;
}

.whatsapp-chat a:hover {
  color: #e6e6e6;
}

.whatsapp-chat:hover {
  background-color: #1fad53; /* Изменение цвета при наведении */
  transform: scale(1.1); /* Масштабирование элемента при наведении */
}

/* Медиа-запрос для мобильных устройств */
@media (max-width: 767px) {
  .whatsapp-chat {
    transform: translateX(50%) rotate(-90deg); /* Сдвиг вправо на 50% ширины блока и поворот текста */
	top: 50%;
    height: 80px;
    z-index: 2000;
    right: 0;
	padding: 10px 15px;
  }
  
  .whatsapp-chat a {
	  font-size: 16px;
  }
}


.socialBottom {
    position: fixed;
    right: 10px;
    bottom: 10px;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 5px 0px;
    z-index: 149;
}

.whatsapplnk {
    font: 15px/25px Montserrat,Arial,sans-serif;
    border-radius: 50px;
    padding: 8px 7px 8px 8px;
    font-size: 14px;
    text-decoration: none;
    color: white;
    background-color: rgb(28, 101, 223);
    border: 1px solid rgb(28, 101, 223);
    text-align: center;
    z-index: 100;
    /*display: grid;
    grid-template-columns: 24px 68px 12px;*/
    place-items: center;
    grid-gap: 0px 8px;
    transition: 2s;

}

@media (max-width: 768px) {
	.socialBottom {
		bottom: 20px;
	}
}

.whatsapplnk:hover, .whatsapplnk:focus {
    background-color: white;
    color: rgb(28, 101, 223);
    border: 1px solid rgb(28, 101, 223);
    text-decoration: none;
    transition: 1s;
}

.whatsapplnk:hover::after {
    content: "→";
}

.whatsapplnk::after {
    content: "→";
}

.whatsapplnk img {
	vertical-align: middle;
    margin-right: 0px;
	width: 29px;
    height: 29px;
}
.whatsapplnk span {
	vertical-align: middle;
	line-height: 30px;
}
 
.project__main-labels .consult__btn {
	padding: unset;
	text-transform: uppercase;
	min-width: 260px;
}
@media (max-width: 768px) {
	.project__main-labels .consult__btn {
		padding: 10px;
		min-width: 216px;
	}
}
@media (max-width: 600px) {
	.project__main-labels .consult__btn {
		padding: unset;
		min-width: 216px;
	}
}
@media (max-width: 5100px) {
	.project__main-labels .consult__btn {
		padding: 10px;
	}
}


 .gallery-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px; /* расстояние между плитками */
}

.gallery-grid a.gallery__slide {
  width: calc(33.333% - 11px);/
  display: block;
}

@media (max-width: 991.98px) {
  .gallery-grid a.gallery__slide {
    width: calc(50% - 8px); 
  }
}

@media (max-width: 767.98px) {
  .gallery-grid a.gallery__slide {
    width: 100%;
  }
}

/* новые правила для слайдера плиткой */
/* ---- общие: выключаем flex+gap только когда slick включён ---- */
#responsive-gallery.slick-initialized.gallery-grid {
  display: block;
  gap: 0 !important;
}

/* ====== МОБИЛКА (<768) — как раньше ====== */
/* ====== ПЛИТКА (≥768) — 2 ряда с зазорами ====== */
@media (min-width: 768px){
  :root{
    --tile-h: 320px;
    --gutter-x: 16px;
    --gutter-y: 16px;
  }

  /* ограничиваем видимую область двумя рядами */
  .about #responsive-gallery.slick-initialized .slick-list{
    height: calc(2 * var(--tile-h) + var(--gutter-y)) !important;
    overflow: hidden;
    margin: 0 calc(-1 * var(--gutter-x) / 2); /* компенсация краёв */
  }

  /* зазоры через margin, ширину считаем с учётом зазоров */
  #responsive-gallery.slick-initialized .gallery__slide{
    display: inline-block;
    vertical-align: top;
    height: var(--tile-h);
    margin: 0 calc(var(--gutter-x) / 2) var(--gutter-y);
    width: calc(50% - var(--gutter-x)) !important; /* по умолчанию 2 колонки */
  }

  /* ≥1200px — 3 колонки */
  @media (min-width: 1200px){
    #responsive-gallery.slick-initialized .gallery__slide{
      width: calc(33.3333% - var(--gutter-x)) !important;
    }
  }

  /* картинка заполняет карточку по высоте только на десктопе */
  #responsive-gallery .gallery__slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}
 /* Фотогалерея */
@media (min-width: 768px) {
  .page_second.gallery_content {
    --tile-h: 400px;
  }
}

.page_second.gallery_content #responsive-gallery .gallery__slide,
.page_second.gallery_content #responsive-gallery .gallery__slide img {
  height: 400px;
}


/* seo */
.descriptions {
	padding: 60px 0px 80px 0px;
}

.contacts-page-v2 .descriptions {
	background: #f7f6f2;
}

.descriptions h2 {
    margin-bottom: 0.6em;
}
.descriptions h3 {
    margin-top: 1.2em;
    margin-bottom: 1em;
}
.descriptions a {
	color: #294835;
	text-decoration: underline
}
.descriptions a:hover {
	text-decoration: none;
}
@media (max-width: 767.98px) {
	.descriptions h2 {
		font-size: 1.6rem;
	}
	.descriptions h3 {
	    font-size: 1.3rem;
	}
}
.mt-40 {
	margin-top: 40px;
}
.mt-80 {
	margin-top: 80px;
}
.mt-100 {
	margin-top: 100px;
}
@media (max-width: 575px) {
	.mt-100 {
		margin-top: 70px;
	}
}	
	
.mt-120 {
	margin-bottom: 120px;
}
.pb-160 {
	padding-bottom: 160px;
}
@media (max-width: 575px) {
	.benefits.mt-120 {
		margin-bottom: -40px;
	}
}
.page_second .gallery-grid {max-height: 100% !important;}

.about .gallery-grid {
	max-height: calc(2 * 320px + 16px);
	overflow: hidden;
}

@media (max-width: 767px) {
	.page_second .gallery-grid {max-height: 100% !important;}
	.about .gallery-grid {
			max-height: calc(2 * 160px + 16px);
			overflow: hidden;
		}	
}

/* иконка видео */
.gallery__slide.video {
	position: relative;
	display: block;
	overflow: hidden;
}
.video-play-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: 68px;
	height: 68px;
	opacity: 0.9;
	pointer-events: none;
}

.gallery__slide:hover .video-play-icon,
.video-thumb:hover .video-play-icon {
	transform: translate(-50%, -50%) scale(1.1);
	opacity: 1;
}
@media (max-width: 1199px) {
	.projects__card {
		aspect-ratio: 0;
	}
	.projects__card-image.video .video-play-icon {
		display:none;
	}	
}
@media (max-width: 576px) {
	.gallery__slide.video img {
		height: 100%;
	}	
}

/* ANDROID ONLY — blur-фон через JS (/app.js --> 826 строчка)+ CSS */
@supports (-webkit-appearance: none) and (not (-webkit-touch-callout: none)) {
  .gallery__slide {
    background: transparent;
  }

  .gallery__slide img,
  .gallery__slide img.cover-image {
    object-fit: contain;
  }
}


.ag_chatpanel_link_icon_phone {
	background-image: none;
    background-color: #fafafa;
}
.ag_chatpanel_link_icon_phone svg {
  fill: #294835;
  margin-left: 13px;
    margin-top: 10px;
    height: 25px;
}

/* ПОДАРОК белый внешний круг + зелёный текст */ 
:root{
  --brand: #294735;
}

.gift-badge{
  position: fixed;
  right: 22px;
  bottom: 140px;
  width: 118px;
  height: 118px;
  z-index: 99999;
  display: block;
  text-decoration: none;
}

.gift-badge__svg{
  width: 100%;
  height: 100%;
  display: block;
  animation: giftBadgeSpin 10s linear infinite;
}

/* ВНЕШНИЙ КРУГ СТАЛ БЕЛЫМ */
.gift-badge__outer{
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

@keyframes giftBadgeSpin{
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ТЕКСТ ЗЕЛЁНЫЙ (чтобы контрастировал с белым кругом) */
.gift-badge__text{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.8px;
  fill: var(--brand);
  text-transform: uppercase;
}

/* ВНУТРЕННИЙ КРУГ */
.gift-badge__inner{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 78px;
  height: 78px;
  border-radius: 999px;
  background: var(--brand);
  display: grid;
  place-items: center;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}

/* лёгкий hover */
.gift-badge:hover .gift-badge__inner{
  transform: translate(-50%, -50%) scale(1.05);
}  

/* Мобильная версия */
@media (max-width: 768px){

  .gift-badge{
    width: 82px;
    height: 82px;
    right: 14px;
    bottom: 90px;
  }

  .gift-badge__inner{
    width: 54px;
    height: 54px;
  }

  .gift-badge__text{
    font-size: 8px;
    letter-spacing: 1.2px;
  }

  .gift-badge__icon{
    width: 26px;
    height: 26px;
  }

}

@media (max-width: 767px){
  .js-gallery-slider {
    margin: 10px 0px 20px 0;
  }
  .col-lg-8.js-gallery-slider {
	padding-right: 0px;
    padding-left: 0px; 
  }
	.page-detail .desc__title.title-sm,
	.page-detail .main_title_text.js-gallery-title,
	.page-detail .steps, 
	.page-detail .steps__title,
	.page-detail .consult__title.title,
	.page-detail .plans__content {
		  margin-top: -20px;
	  }

	.page-detail .plans__tabs.d-flex.rounded {
		  margin-top: 20px;  
	}
	.page-detail .tabs {
		margin-top: 40px; 
	}	
}

.icon-max svg path{
  transform: scale(2.0);
  fill: none !important;               
  stroke: var(--brand) !important;
  stroke-width: 80 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-origin: center;  
}

.icon-max:hover svg path{
  fill: #ffffff !important;
}

.thanks-page {
  position: relative;
  padding: 120px 0;
  min-height: 720px;
  background-image: url("/upload/thanks-house.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.thanks-page__overlay {
  position: absolute;
  inset: 0;
  background: rgba(20, 32, 24, 0.48);
}

.thanks-page .container {
  position: relative;
  z-index: 2;
}

.thanks-page__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 600px;
}

.thanks-page__card {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 56px 40px;
  text-align: center;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.thanks-page__icon {
  width: 84px;
  height: 84px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: #294835;
  display: flex;
  align-items: center;
  justify-content: center;
}

.thanks-page__title {
  margin-bottom: 20px;
  font-size: 56px;
  color: #111;
}

.thanks-page__text {
  max-width: 620px;
  margin: 0 auto 32px;
  font-size: 22px;
  line-height: 1.5;
  color: #333;
}

.thanks-page__text p {
  margin: 0 0 12px;
}

.thanks-page__text p:last-child {
  margin-bottom: 0;
}

.thanks-page__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-bottom: 28px;
}

.thanks-page__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  min-height: 58px;
  padding: 16px 28px;
  border-radius: 999px;
  border: 1px solid #294835;
  background: #fff;
  color: #294835;
  text-decoration: none;
  font-weight: 700;
  transition: all 0.2s ease;
}

.thanks-page__btn:hover {
  background: #294835;
  color: #fff;
}

.thanks-page__btn--primary {
  background: #294835;
  color: #fff;
}

.thanks-page__btn--primary:hover {
  background: #1f3727;
  border-color: #1f3727;
  color: #fff;
}

.thanks-page__note {
  font-size: 16px;
  line-height: 1.4;
  color: #666;
}

@media (max-width: 991.98px) {
  .thanks-page {
    padding: 90px 0;
    min-height: 620px;
  }

  .thanks-page__inner {
    min-height: 520px;
  }

  .thanks-page__card {
    padding: 44px 28px;
  }

  .thanks-page__title {
    font-size: 44px;
  }

  .thanks-page__text {
    font-size: 20px;
  }
}

@media (max-width: 767.98px) {
  .thanks-page {
    padding: 70px 0;
    min-height: 0;
    background-position: center right;
  }

  .thanks-page__inner {
    min-height: 0;
  }

  .thanks-page__card {
    padding: 36px 20px;
    border-radius: 24px !important;
  }

  .thanks-page__icon {
    width: 72px;
    height: 72px;
    margin-bottom: 20px;
  }

  .thanks-page__title {
    font-size: 34px;
    margin-bottom: 16px;
  }

  .thanks-page__text {
    font-size: 18px;
    margin-bottom: 24px;
  }

  .thanks-page__actions {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 22px;
  }

  .thanks-page__btn {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding: 14px 20px;
  }

  .thanks-page__note {
    font-size: 14px;
  }
}

.project-calc-top-errors {
    margin: 20px 0;
    padding: 14px 18px;
    border-radius: 16px;
    background: #fff5f5;
    border: 1px solid #f0c9c9;
    color: #b13535;
}

.project-calc-section {
    padding: 0 0 48px;
    margin-top: -1px;
}

.project-calc-card {
    position: relative;
    width: 100%;
    background: #f7f6f2;
    padding: 28px 24px 24px;
    border-radius: 28px !important;
    border: 1px solid #ece7da;
    overflow: hidden;
}

.project-calc-card__accent {
    position: absolute;
    left: 24px;
    right: 24px;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(41,72,53,.22) 0%, rgba(217,209,164,.95) 18%, rgba(41,72,53,.22) 100%);
}

.project-calc-head {
    margin-bottom: 28px;
}

.project-calc-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 14px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: #d9d1a4;
    color: #4f4806;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.project-calc-desc {
    font-size: 16px;
    line-height: 1.55;
    color: #4c4c4c;
    max-width: 860px;
}

.project-calc-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.8fr);
    gap: 22px;
    align-items: start;
}

.project-calc-left,
.project-calc-right,
.project-calc-group,
.project-calc-estimate,
.project-calc-lead,
.project-calc-field {
    min-width: 0;
}


.project-calc-group {
    padding: 20px 0;
}

.project-calc-group__title {
    margin-bottom: 16px;
    font-size: 13px;
    color: #555;
}

.project-calc-grid {
    display: grid;
    gap: 14px;
}

.project-calc-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-calc-field--wide {
    grid-column: 1 / -1;
}

.project-calc-label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #2d2d2d;
}

.project-calc-label span {
    color: #c23b3b;
}

.project-calc-input,
.project-calc-select {
    min-height: 58px;
    width: 100%;
    min-width: 0;
    padding: 14px 18px;
    border: 1px solid #dddddd;
    border-radius: 28px !important;
    background: #fff;
    font-size: 15px;
    box-shadow: none !important;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    text-align: left !important;
    box-sizing: border-box;
}

.project-calc-input:focus,
.project-calc-select:focus {
    border-color: #294835;
}

.project-calc-input._error,
.project-calc-select._error {
    border-color: #d94747 !important;
    background: #fff5f5 !important;
}

.project-calc-phone {
    text-align: left !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}

.project-calc-field--mt {
    margin-top: 14px;
}

.project-calc-hint {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.4;
    color: #6f6f6f;
}

.project-calc-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.project-calc-chip input {
    display: none;
}

.project-calc-chip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 16px;
    border-radius: 28px !important;
    border: 1px solid #d7d7d7;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: 0.2s ease;
}

.project-calc-chip input:checked + span {
    background: #294835;
    border-color: #294835;
    color: #fff;
}

.project-calc-chip._error span {
    border-color: #d94747 !important;
    background: #fff5f5 !important;
    color: #b13535 !important;
}

.project-calc-clip {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    width: 100%;
    max-width: 100%;
    padding: 0 18px;
    border: 1px dashed #294835;
    border-radius: 28px !important;
    cursor: pointer;
    color: #294835;
    font-weight: 700;
    background: #fff;
    box-sizing: border-box;
    overflow: hidden;
}

.project-calc-clip-text {
    display: block;
    width: 100%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.project-calc-no-file {
    color: #b13535;
    font-size: 14px;
}

#projectCalcActions,
.project-calc-actions {
    margin-top: 18px;
}

.project-calc-btn,
.project-calc-submit {
    width: 100%;
    min-height: 58px;
    background: #294835 !important;
    border: 1px solid #294835 !important;
    color: #fff !important;
    border-radius: 28px !important;
    font-weight: 700;
}

.project-calc-btn:hover,
.project-calc-btn:focus,
.project-calc-submit:hover,
.project-calc-submit:focus {
    background: #345c43 !important;
    border-color: #345c43 !important;
    color: #fff !important;
}

.project-calc-right {
    display: grid;
    gap: 18px;
    position: sticky;
    top: 100px;
    min-width: 0;
    width: 100%;
}

.project-calc-estimate {
    padding: 20px;
    border: 1px solid #e5e0d0;
    background: #fcfaf4;
    border-radius: 28px !important;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.project-calc-estimate__head {
    margin-bottom: 14px;
}

.project-calc-estimate__subtitle {
    font-size: 14px;
    color: #666;
}

.project-calc-estimate__table {
    border-top: 1px solid #e6dec7;
    border-bottom: 1px solid #e6dec7;
    width: 100%;
}

.project-calc-estimate__row {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid #eee7d4;
    align-items: start;
}

.project-calc-estimate__row:first-child {
    border-top: 0;
}

.project-calc-estimate__name {
    font-size: 14px;
    color: #555;
    min-width: 0;
}

.project-calc-estimate__value {
    font-size: 15px;
    font-weight: 700;
    color: #222;
    text-align: right;
    word-break: break-word;
    overflow-wrap: anywhere;
    min-width: 0;
}

.project-calc-estimate__total {
    margin-top: 16px;
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
}

.project-calc-estimate__total-name {
    font-family: "ProstoOne";
    font-size: 24px;
    line-height: 1;
    color: #111;
}

.project-calc-estimate__total-value {
    font-size: 22px;
    font-weight: 700;
    color: #294835;
    text-align: right;
    min-width: 0;
    overflow-wrap: anywhere;
}

.project-calc-estimate__total-placeholder {
    font-size: 16px;
    font-weight: 500;
    color: #777;
}

.project-calc-estimate__total-value--blur {
    filter: blur(6px);
    user-select: none;
    pointer-events: none;
}

.project-calc-loader {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 18px;
    padding: 20px;
    border-radius: 28px !important;
    background: #f6f6f6;
    border: 1px solid #ececec;
}

.project-calc-spinner {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 4px solid rgba(41, 72, 53, 0.15);
    border-top-color: #294835;
    animation: calcSpin 0.8s linear infinite;
    flex-shrink: 0;
}

.project-calc-loader__text {
    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
    color: #294835;
}

.project-calc-lead {
    margin-top: 18px;
    padding: 18px 0 0;
    border-top: 1px solid #e6dec7;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 0 !important;
    background: transparent;
}

.project-calc-lead__title {
    margin-bottom: 10px;
    font-size: 22px;
    font-weight: 700;
    color: #294835;
}

.project-calc-lead__text {
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 1.55;
    color: #4c4c4c;
}

.project-calc-lead__form {
    display: grid;
    gap: 12px;
}

.project-calc-privacy {
    margin-top: 14px;
    font-size: 12px;
    line-height: 1.45;
    color: #6d6d6d;
}

.project-calc-agree {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.project-calc-agree input {
    margin-top: 3px;
    flex: 0 0 auto;
}

.project-calc-agree._error {
    color: #b13535;
}

.project-calc-response {
    margin-top: 14px;
    font-size: 15px;
    font-weight: 700;
}

.project-calc-response.success {
    color: #294835;
}

.project-calc-response.error {
    color: #c23b3b;
}

.project-calc-captcha {
    margin-top: 20px;
    max-width: 360px;
}

@keyframes calcSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 1199.98px) {
    .project-calc-layout {
        grid-template-columns: 1fr;
    }

    .project-calc-right {
        position: static;
    }
	/* До появления рассчитанных значений скрываем правую шапку и таблицу */
	#projectCalcRight:not(.is-filled) .project-calc-estimate__head,
    #projectCalcRight:not(.is-filled) .project-calc-estimate__table {
        display: none;
    }

    /* Когда значения появились — показываем */
	#projectCalcRight.is-filled .project-calc-estimate__head,
    #projectCalcRight.is-filled .project-calc-estimate__table {
        display: block;
    }
}

@media (max-width: 991.98px) {
    .project-calc-estimate__row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .project-calc-estimate__value {
        text-align: left;
    }

    .project-calc-estimate__total {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .project-calc-estimate__total-value {
        text-align: left;
    }
}

@media (max-width: 767.98px) {
    .project-calc-section {
        padding: 0 0 36px;
    }

    .project-calc-card {
        padding: 24px 16px 20px;
        border-radius: 22px !important;
    }

    .project-calc-layout {
        grid-template-columns: 1fr;
    }

    .project-calc-grid--2 {
        grid-template-columns: 1fr;
    }


    .project-calc-chips {
        flex-direction: column;
    }

    .project-calc-chip span {
        width: 100%;
        justify-content: flex-start;
        border-radius: 22px !important;
    }

    .project-calc-estimate__total {
        align-items: flex-start;
    }

    .project-calc-estimate__total-value {
        font-size: 18px;
    }

    .project-calc-loader {
        align-items: flex-start;
    }

    .project-calc-input,
    .project-calc-select,
    .project-calc-btn,
    .project-calc-submit,
    .project-calc-clip {
        border-radius: 22px !important;
    }
}

.project-calc-step {
    display: none;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.project-calc-step.project-calc-step--active {
    display: block;
}

.project-calc-step.project-calc-step--animating-in {
    opacity: 1;
    transform: translateY(0);
}

.project-calc-step.project-calc-step--animating-out {
    opacity: 0;
    transform: translateY(-10px);
}

@media (prefers-reduced-motion: reduce) {
    .project-calc-step {
        transition: none;
    }
}

.project-guarantee {
    padding: 20px 0 52px;
}

.project-guarantee__wrap {
    overflow: hidden;
}

.project-guarantee__person {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.project-guarantee__photo {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background: #e9e6df;
    height: 620px;
}

.project-guarantee__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.project-guarantee__person-info {
    padding: 18px 6px 0;
}

.project-guarantee__person-name {
    font-family: "ProstoOne";
    font-size: 28px;
    line-height: 1.1;
    color: #000;
}

.project-guarantee__person-role {
    margin-top: 8px;
    font-size: 18px;
    line-height: 1.35;
    color: #4b4b4b;
}

.project-guarantee__person-btns {
    margin-top: 18px;
}

.project-guarantee__person-btn {
    width: 100%;
    justify-content: center;
    text-align: center;
}

.project-guarantee__content {
    height: 100%;
    background: #fff;
    border-radius: 30px;
    border: 1px solid #d9d9d9;
    padding: 32px;
}

.project-guarantee__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}

.project-guarantee__head-main {
    flex: 1 1 auto;
    min-width: 0;
}

.project-guarantee__label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 16px;
    margin-bottom: 16px;
    border-radius: 30px;
    background: #d4cd8e;
    color: #4f4806;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-transform: uppercase;
}

.project-guarantee__title, .project-guarantee__bottom-title {
    color: #294835;
	margin-bottom: 25px;
}

.project-guarantee__text {
    max-width: 760px;
    font-size: 20px;
    line-height: 1.4;
    color: #000;
}

.project-guarantee__stamp {
    flex: 0 0 170px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 4px;
}

.project-guarantee__stamp-circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 1px solid #d8d0bc;
    background: #f8f7f3;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 8px #fff;
}

.project-guarantee__stamp-circle img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.project-guarantee__stamp-text {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.35;
    color: #4b4b4b;
}

.project-guarantee__grid {
    display: grid;
    gap: 16px;
}

/* Для бань: 3 карточки в ряд */
.project-guarantee__grid--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Для домов: 4 карточки в ряд */
.project-guarantee__grid--home {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.project-guarantee__item {
    min-height: 200px;
    border-radius: 28px;
    border: 1px solid #ece7da;
    background: linear-gradient(180deg, #fbfbfb 0%, #f8f7f3 100%);
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.project-guarantee__num {
    font-family: "ProstoOne";
    font-size: 42px;
    line-height: 1;
    color: #294835;
}

.project-guarantee__unit {
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    color: #294835;
    text-transform: uppercase;
}

.project-guarantee__list {
    margin-top: 18px;
    display: grid;
    gap: 10px;
}

.project-guarantee__line {
    position: relative;
    padding-left: 18px;
    font-size: 16px;
    line-height: 1.35;
    color: #000;
}

.project-guarantee__line:before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #294835;
}

.project-guarantee__bottom {
    margin-top: 24px;
    padding: 26px 28px;
    border-radius: 28px;
    border: 1px solid #e5e0d0;
    background: linear-gradient(180deg, #fdfbf4 0%, #f7f2e5 100%);
}

.project-guarantee__bottom-top {
    max-width: 760px;
}

.project-guarantee__bottom-title {
    font-family: "ProstoOne";
    font-size: 28px;
    line-height: 1.1;
}

.project-guarantee__bottom-text {
    margin: 20px 0;
    font-size: 18px;
    line-height: 1.45;
    color: #2f2f2f;
}

.project-guarantee__bottom-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
}

.project-guarantee__bottom-point {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid #e7dcc0;
    font-size: 16px;
    line-height: 1.4;
    color: #1f1f1f;
}

.project-guarantee__bottom-icon {
    position: relative;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    border-radius: 50%;
    background: #294835;
}

.project-guarantee__bottom-icon:before {
    content: "";
    position: absolute;
    left: 7px;
    top: 5px;
    width: 6px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
}

@media (max-width: 1199.98px) {
    .project-guarantee__content {
        padding: 26px;
    }

    .project-guarantee__head {
        flex-direction: column;
        align-items: flex-start;
    }

    .project-guarantee__stamp {
        flex: none;
        flex-direction: row;
        align-items: center;
        gap: 14px;
        text-align: left;
    }

    .project-guarantee__grid--compact,
    .project-guarantee__grid--home {
        grid-template-columns: 1fr;
    }

    .project-guarantee__bottom-points {
        grid-template-columns: 1fr;
    }

    .project-guarantee__text {
        font-size: 18px;
    }

    .project-guarantee__item {
        min-height: auto;
    }
}

@media (max-width: 991.98px) {
    .project-guarantee {
        padding: 16px 0 44px;
    }

    .project-guarantee__person {
        margin-bottom: 24px;
    }

    .project-guarantee__photo {
        height: 480px;
    }

    .project-guarantee__person-info {
        padding: 16px 0 0;
    }

    h2.steps__title.mt-80 {
        margin-top: 30px;
        margin-bottom: -25px !important;
    }
}

@media (max-width: 767.98px) {
    .project-guarantee__photo,
    .project-guarantee__content,
    .project-guarantee__item,
    .project-guarantee__bottom {
        border-radius: 22px;
    }

    .project-guarantee__content {
        padding: 20px;
    }

    .project-guarantee__title {
        margin-bottom: 12px;
    }

    .project-guarantee__text {
        font-size: 16px;
        line-height: 1.45;
    }

    .project-guarantee__stamp {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .project-guarantee__stamp-circle {
        width: 110px;
        height: 110px;
    }

    .project-guarantee__stamp-circle img {
        width: 50px;
        height: 50px;
    }

    .project-guarantee__grid {
        gap: 12px;
        margin-top: 20px;
    }

    .project-guarantee__item {
        padding: 18px 16px;
    }

    .project-guarantee__num {
        font-size: 34px;
    }

    .project-guarantee__line {
        font-size: 16px;
    }

    .project-guarantee__bottom {
        padding: 18px 16px;
    }

    .project-guarantee__bottom-title {
        font-size: 22px;
    }

    .project-guarantee__bottom-text {
        font-size: 16px;
    }

    .project-guarantee__bottom-point {
        font-size: 15px;
        padding: 12px 14px;
    }

    .project-guarantee__person-name {
        font-size: 24px;
    }

    .project-guarantee__person-role {
        font-size: 16px;
    }

    .project-guarantee__photo {
        height: auto;
    }

    .project-guarantee__photo img {
        height: auto;
    }
}

.project-guarantee__bottom-top--reviews .main_title_text{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.project-guarantee__reviews-yandex-inline{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    padding:6px 12px 6px 8px;
    border-radius:30px;
    background:#fff;
    border:1px solid #ece8dc;
    transition:.2s ease;
}

.project-guarantee__reviews-yandex-inline:hover{
    border-color:#d8c96d;
    transform:translateY(-1px);
}

.project-guarantee__reviews-yandex-icon{
    width:22px;
    height:22px;
    border-radius:50%;
    background:#fc3f1d;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:700;
    line-height:1;
    flex:0 0 22px;
}

.project-guarantee__reviews-yandex-title{
    font-size:13px;
    font-weight:700;
    line-height:1;
    color:#1f1f1f;
    text-transform:uppercase;
}

.project-guarantee__reviews-yandex-text{
    font-size:13px;
    line-height:1;
    color:#7a7a7a;
}

@media (max-width: 767px){

    .project-guarantee__bottom-top--reviews .main_title_text{
        align-items:flex-start;
        gap:10px;
    }

    .project-guarantee__reviews-yandex-inline{
        padding:5px 10px 5px 7px;
    }

    .project-guarantee__reviews-yandex-title,
    .project-guarantee__reviews-yandex-text{
        font-size:12px;
    }
}

.project-calc-estimate__note {
    display: none;
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.45;
    color: #6f6f6f;
}

.project-calc-estimate__note.is-visible {
    display: block;
}

.project-calc-community__btn {
	margin-bottom: 10px;
 }
 
/* compare */
.compare-houses {
    padding: 50px 0;
}

.compare-houses__title {
    margin-bottom: 20px;
    color: #294835;
}

.compare-houses__lead {
    font-size: 18px;
    line-height: 1.45;
    margin-bottom: 28px;
    max-width: 760px;
}

.compare-houses__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.compare-houses__card {
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    height: 100%;
}

.compare-houses__card--image .compare-houses__image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.compare-houses__card--image img,
.compare-houses__choice-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.compare-houses__caption {
    padding: 20px;
}

.compare-houses__caption-title,
.compare-houses__choice-title {
    font-weight: 700;
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 10px;
    color: #294835;
}

.compare-houses__caption-text,
.compare-houses__choice-content p {
    font-size: 16px;
    line-height: 1.45;
    margin: 0;
}

.compare-houses__card--choice {
    display: grid;
    grid-template-columns: 240px 1fr;
    align-items: stretch;
}

.compare-houses__choice-image {
    min-height: 100%;
}

.compare-houses__choice-content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.compare-houses__table-wrap {
    background: #fff;
    border-radius: 30px;
    padding: 24px;
    height: 100%;
}

.compare-houses__table-lead {
    font-size: 16px;
    line-height: 1.45;
    margin: 0 0 24px;
}

.compare-houses__table {
    border-top: 1px solid #c1c1c1;
}

.compare-houses__row {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid #c1c1c1;
}

.compare-houses__row--head {
    font-weight: 700;
    color: #294835;
    text-transform: uppercase;
    font-size: 14px;
}

.compare-houses__col {
    font-size: 15px;
    line-height: 1.45;
}

.compare-houses__col--name {
    font-weight: 700;
}

.compare-houses__more {
    display: none;
}

.compare-houses__table-wrap.is-open .compare-houses__more {
    display: block;
}

.compare-houses__actions {
    margin-top: 40px;
}

.compare-houses__bottom {
    margin-top: 24px;
    padding: 20px;
    border-radius: 20px;
    background: #f1f1f1;
    font-size: 16px;
    line-height: 1.45;
}

@media (min-width: 992px) {
    .compare-houses__cards {
        grid-template-columns: 1fr 1fr;
    }

    .compare-houses__card--choice {
        grid-column: 1 / -1;
    }
}

@media (max-width: 991.98px) {
    .compare-houses__lead {
        font-size: 16px;
    }

    .compare-houses__card--choice {
        grid-template-columns: 1fr;
    }

    .compare-houses__choice-image {
        aspect-ratio: 16 / 10;
    }

    .compare-houses__row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .compare-houses__row--head {
        display: none;
    }

    .compare-houses__col {
        font-size: 14px;
    }

    .compare-houses__col--name {
        color: #294835;
        margin-bottom: 4px;
    }

    .compare-houses__row .compare-houses__col:nth-child(2)::before {
        content: "Модульный дом";
        display: block;
        font-weight: 700;
        margin-bottom: 4px;
        color: #294835;
    }

    .compare-houses__row .compare-houses__col:nth-child(3)::before {
        content: "Традиционный дом";
        display: block;
        font-weight: 700;
        margin-bottom: 4px;
        color: #294835;
    }
}


/* =========================================
   Гарантия + отзывы (только для guarantee-doma.php)
   ========================================= */

.project-guarantee--with-reviews .project-guarantee__bottom--contract {
    margin-top: 20px;
}



.project-guarantee__reviews-head {
    margin-bottom: 18px;
}

.project-guarantee__reviews-title {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: #1f1f1f;
    margin-bottom: 8px;
}

.project-guarantee__reviews-text {
    font-size: 14px;
    line-height: 1.6;
    color: #6f6f6f;
}

.project-guarantee__reviews-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.project-guarantee__review-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 18px;
    border: 1px solid #ece8dc;
    height: 100%;
}

.project-guarantee__review-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.project-guarantee__review-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    flex: 0 0 52px;
    background: #e9e9e9;
}

.project-guarantee__review-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.project-guarantee__review-name {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;
    color: #1f1f1f;
}

.project-guarantee__review-date {
    font-size: 13px;
    line-height: 1.4;
    color: #8d8d8d;
    margin-top: 3px;
}

.project-guarantee__review-stars {
    color: #f5c518;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.project-guarantee__review-text {
    font-size: 14px;
    line-height: 1.65;
    color: #3f3f3f;
}

.project-guarantee__reviews-more {
    margin-top: 30px;
    text-align: center;
}

.project-guarantee__reviews-link.btn {
    min-width: 220px;
}

/* Планшеты */
@media (max-width: 991px) {
    .project-guarantee__reviews-list {
        grid-template-columns: 1fr;
    }
}

/* Мобилки */
@media (max-width: 767px) {
    .project-guarantee--with-reviews .project-guarantee__reviews {
        margin-top: 16px;
        padding: 16px;
        border-radius: 18px;
    }

    .project-guarantee__reviews-title {
        font-size: 20px;
    }

    .project-guarantee__reviews-text {
        font-size: 13px;
    }

    .project-guarantee__review-card {
        padding: 14px;
        border-radius: 14px;
    }

    .project-guarantee__review-avatar {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .project-guarantee__review-name {
        font-size: 15px;
    }

    .project-guarantee__review-date {
        font-size: 12px;
    }

    .project-guarantee__review-stars {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .project-guarantee__review-text {
        font-size: 13px;
        line-height: 1.55;
    }

    .project-guarantee__reviews-link.btn {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================
   Пошаговый калькулятор — CSS
   ========================================= */

.project-calc-left {
    display: grid;
    gap: 18px;
    align-content: start;
}

.project-calc-right {
    display: grid;
    gap: 18px;
    align-content: start;
    position: sticky;
    top: 100px;
    min-width: 0;
    width: 100%;
}

.project-calc-head {
    margin-bottom: 0;
}

.project-calc-steps-top {
    margin-bottom: 18px;
}

.project-calc-steps-top__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 10px;
}

.project-calc-steps-top__label {
    font-size: 13px;
    font-weight: 700;
    color: #294835;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.project-calc-steps-top__counter {
    font-size: 13px;
    font-weight: 700;
    color: #294835;
}

.project-calc-steps-progress {
    width: 100%;
    height: 8px;
    background: #e4decc;
    border-radius: 999px;
    overflow: hidden;
}

.project-calc-steps-progress__fill {
    height: 100%;
    width: 33.3333%;
    background: linear-gradient(90deg, #294835 0%, #4e7a60 100%);
    border-radius: 999px;
    transition: width .25s ease;
}

.project-calc-step {
    display: none;
}

.project-calc-step--active {
    display: block;
    animation: projectCalcStepFade .2s ease;
}

@keyframes projectCalcStepFade {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.project-calc-step-nav {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
}

.project-calc-step-nav__btn {
    min-width: 104px;
    min-height: 46px;
    padding: 10px 18px;
    font-size: 14px;
    border-radius: 26px !important;
    font-weight: 700;
    box-shadow: none !important;
}

.project-calc-step-nav__btn.btn-primary:hover,
.project-calc-step-nav__btn.btn-secondary:hover {
    background: #f5f5f1;
    color: #294835;
    border-color: #294835;
}

.project-calc-left .project-calc-group {
    margin-bottom: 0;
}

.project-calc-estimate__head {
    margin-bottom: 12px;
}

.project-calc-estimate__subtitle {
    font-size: 12px;
    line-height: 1.25;
}

.project-calc-estimate__row {
    padding: 9px 0;
}

.project-calc-estimate__name,
.project-calc-estimate__value {
    font-size: 13px;
    line-height: 1.35;
}

.project-calc-estimate__total {
    margin-top: 14px;
    padding-top: 14px;
}

.project-calc-estimate__total-name {
    font-size: 20px;
}

.project-calc-estimate__total-value {
    font-size: 20px;
}

.project-calc-actions {
    margin-top: 14px;
}

.project-calc-btn,
.project-calc-submit {
    min-height: 54px;
    font-size: 16px;
    padding: 14px 24px;
}

.project-calc-lead--left {
    margin-top: 0;
    padding: 20px;
    border: 1px solid #e6dec7;
    border-radius: 28px !important;
    background: #fcfaf4;
}

/* Переливающаяся кнопка как в подборе */
.project-calc-btn--shine {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.project-calc-btn--shine > span,
.project-calc-btn--shine {
    position: relative;
    z-index: 2;
}

.project-calc-btn--shine::before {
    content: "";
    position: absolute;
    top: -120%;
    left: -220%;
    width: 120%;
    height: 340%;
    transform: rotate(24deg);
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.08) 25%,
        rgba(255,255,255,.42) 48%,
        rgba(255,255,255,.08) 72%,
        rgba(255,255,255,0) 100%
    );
    animation: projectCalcBtnShine 3.2s linear infinite;
    pointer-events: none;
    z-index: 1;
}

@keyframes projectCalcBtnShine {
    0% {
        left: -220%;
    }
    100% {
        left: 220%;
    }
}

.project-calc-step-nav__btn.project-calc-btn--shine.btn-secondary {
    background: #294835;
    color: #fff;
    border-color: #294835;
}

.project-calc-step-nav__btn.project-calc-btn--shine.btn-secondary:hover {
    background: #345c43;
    border-color: #345c43;
    color: #fff;
}

.project-calc-left {
		padding-right: 30px;
	}
	
@media (max-width: 1199.98px) {
    .project-calc-right {
        position: static;
    }
		.project-calc-left {
		padding-right: 0px !important;
	}

}

@media (max-width: 767.98px) {
    .project-calc-steps-top__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

	
    .project-calc-step-nav {
        flex-direction: row;
    }

    .project-calc-step-nav__btn {
        width: auto;
        min-width: 96px;
        min-height: 42px;
        padding: 9px 16px;
        font-size: 13px;
        border-radius: 22px !important;
    }

    .project-calc-lead--left {
        border-radius: 22px !important;
        padding: 16px;
    }
}


.desc-mini-accordion__body {
	display: none;
	padding: 0 18px 18px;
}

.desc-mini-accordion.active .desc-mini-accordion__body {
	display: block;
}

.desc-mini-accordion.active .desc-mini-accordion__icon {
	transform: rotate(45deg);
}

.desc-mini-accordion__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.desc-mini-accordion__list li {
	position: relative;
	padding-left: 18px;
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 1.45;
	color: #2f2f2f;
}

.desc-mini-accordion__list li:last-child {
	margin-bottom: 0;
}

.desc-mini-accordion__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #294835;
}

@media (max-width: 991px) {
	.desc-panorama {
		max-width: 100%;
	}

	.desc-panorama__img {
		max-height: 220px;
	}

	.desc-mini-accordion__title {
		font-size: 18px;
	}

	.desc-mini-accordion__head {
		padding: 14px 16px;
	}

	.desc-mini-accordion__body {
		padding: 0 16px 16px;
	}
}

@media (max-width: 575px) {
	.desc-panorama__img {
		max-height: 180px;
	}

	.desc-mini-accordion__title {
		font-size: 16px;
	}

	.desc-mini-accordion__list li {
		font-size: 14px;
	}
	.project-calc-step-nav__btn.project-calc-btn--shine.btn-secondary {
		border-color: #fff;
	}		
}
.desc-mini-accordions {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.desc-mini-accordion {
	border-bottom: 1px solid #d9d9d9;
	overflow: hidden;
}

.desc-mini-accordion__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 24px 0 24px 0px;
	cursor: pointer;
}

.desc-mini-accordion__title {
	font-size: 18px;
	line-height: 1.2;
	font-weight: 400;
	color: #000;
}

.desc-mini-accordion__icon {
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #294835;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	line-height: 1;
	font-weight: 300;
	transition: transform .2s ease;
}

.desc-mini-accordion__body {
	display: none;
	padding: 0 16px 16px;
}

.desc-mini-accordion.active .desc-mini-accordion__body {
	display: block;
}

.desc-mini-accordion.active .desc-mini-accordion__icon {
	transform: rotate(45deg);
}

.desc-mini-accordion__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.desc-mini-accordion__list li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 1.45;
	color: #2f2f2f;
}

.desc-mini-accordion__list li:last-child {
	margin-bottom: 0;
}

.desc-mini-accordion__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #294835;
}

@media (max-width: 991px) {
	.desc-panorama {
		max-width: 100%;
	}

	.desc-panorama__img {
		max-height: 220px;
	}

	.desc-mini-accordion__title {
		font-size: 16px;
	}
}

/* Гарантии */
.project-guarantee__person--video {
    height: 100%;
    display: flex;
}

.project-guarantee__video-local {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 500px;
    overflow: hidden;
    border-radius: 24px;
    background: #e9e7df;
}

.project-guarantee__video-el {
    display: block;
    width: 100%;
    height: 100%;
	max-height: 852px;
    object-fit: cover;
    background: transparent;
}

.project-guarantee__director {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #ece7da;
}

.project-guarantee__director-photo {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.project-guarantee__director-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-guarantee__director-name {
    font-weight: 700;
    font-size: 16px;
    color: #111;
}

.project-guarantee__director-role {
    font-size: 14px;
    color: #6b6b6b;
}

@media (max-width: 1199px) {
    .project-guarantee__video-local {
        min-height: 500px;
    }
}

@media (max-width: 991px) {
    .project-guarantee__video-local {
        min-height: 420px;
    }
}

@media (max-width: 767px) {
    .project-guarantee__video-local {
        min-height: 220px;
        border-radius: 18px;
    }

    .project-guarantee__director {
        padding: 12px;
        gap: 12px;
    }

    .project-guarantee__director-photo {
        width: 60px;
        height: 60px;
    }

    .project-guarantee__director-name {
        font-size: 15px;
    }

    .project-guarantee__director-role {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .project-guarantee__video-local {
        min-height: 190px;
    }
}

.quiz-bath__screen,
.quiz-mix__screen {
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.quiz-bath__screen--animating-in,
.quiz-mix__screen--animating-in {
    opacity: 1;
    transform: translateY(0);
}

.quiz-bath__screen--animating-out,
.quiz-mix__screen--animating-out {
    opacity: 0;
    transform: translateY(-10px);
}

@media (prefers-reduced-motion: reduce) {
    .quiz-bath__screen,
    .quiz-mix__screen {
        transition: none;
    }
}

.project-promo-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 20px 0 0px;
	padding: 2px 0px;
	border-bottom: 1px solid #ddd3bf;
	color: #294835;
	max-width: 760px;
}

.project-promo-note__icon {
	flex: 0 0 auto;
	font-size: 22px;
	line-height: 1;
}

.project-promo-note__text {
	font-size: 17px;
    line-height: 1.45;
    color: #1f1f1f;
}

@media (max-width: 991px) {
	.project-promo-note {
		padding: 12px 16px;
		border-radius: 22px;
		background: #f5f1e8;
		border: 1px solid #ddd3bf;
		gap: 8px;
		margin: 10px 0 0px;
	}
	.project-promo-note__text {
		font-size: 15px;
	}
}


@media (max-width: 767px) {
	.project-promo-note {
		padding: 10px 12px;
		margin: 0px;
		gap: 5px;
	}

	.project-promo-note__icon {
		font-size: 16px;
	}

	.project-promo-note__text {
		font-size: 13px;
		line-height: 1.35;
	}
}

.project-type-grid {
    padding: 90px 0 56px;
}

.project-type-grid__title {
    margin-bottom: 34px;
}

.project-type-grid__wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.project-type-grid__row {
    display: grid;
    gap: 24px;
    align-items: stretch;
}

.project-type-grid__row--top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-type-grid__row--bottom {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.project-type-grid__col {
    min-width: 0;
    width: 100%;
}

.project-type-grid__row--top .project-type-grid__card {
    aspect-ratio: 16 / 9.5;
}

.project-type-grid__row--bottom .project-type-grid__card {
    aspect-ratio: 16 / 11;
}

.project-type-grid__card {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 30px;
    text-decoration: none;
    color: #fff;
    isolation: isolate;
    background: #294835;
}

.project-type-grid__card .projects__card-image,
.project-type-grid__card .projects__card-image img {
    width: 100%;
    height: 100%;
}

.project-type-grid__card .projects__card-image {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.project-type-grid__card .projects__card-image img {
    object-fit: cover;
    transition: transform 0.35s ease;
}

.project-type-grid__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.08) 0%,
        rgba(0, 0, 0, 0.16) 32%,
        rgba(0, 0, 0, 0.58) 100%
    );
}

.project-type-grid__content {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 22px;
}

.project-type-grid__top {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.project-type-grid__bottom-part {
    display: block;
}

.project-type-grid__desc {
    display: inline-block;
    max-width: 340px;
    padding: 9px 16px;
    border-radius: 999px;
    background: #d9cf7f;
    color: #5a551f;
    font-size: 12px;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.project-type-grid__name {
    display: block;
    max-width: 420px;
    margin-bottom: 14px;
    color: #fff;
    font-family: "ProstoOne";
    font-size: 30px;
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.22);
}

.project-type-grid__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.project-type-grid__price {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 999px;
    background: #007a4b;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.project-type-grid__action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.22);
}

.project-type-grid__action .projects__card-more {
    width: 42px;
    height: 42px;
    font-size: 18px;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.project-type-grid__card--custom {
    background:
        radial-gradient(circle at top right, rgba(212, 205, 142, 0.18), transparent 32%),
        linear-gradient(135deg, #294835 0%, #1f3326 100%);
    border: 1px solid rgba(212, 205, 142, 0.18);
}

.project-type-grid__custom-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(140deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 48%),
        radial-gradient(circle at bottom left, rgba(212,205,142,0.14), transparent 34%);
}

.project-type-grid__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #d4cd8e;
    color: #4f4806;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
}

.project-type-grid__text {
    display: block;
    max-width: 460px;
    margin-bottom: 18px;
    color: rgba(255,255,255,0.9);
    font-size: 15px;
    line-height: 1.4;
}

.project-type-grid__card:hover .projects__card-image img {
    transform: scale(1.03);
}

.project-type-grid__card:hover .project-type-grid__action .projects__card-more {
    background: #fff;
    color: #294835;
}

@media (max-width: 1599px) {
	.project-type-grid__badge,
	.project-type-grid__card--custom:last-child .projects__card-more.icon-arrow-short, 
	.project-type-grid__card--custom:last-child .project-type-grid__action	{
		display: none;
	}
}
	
@media (max-width: 1399.98px) {
    .project-type-grid {
        padding-top: 80px;
    }

    .project-type-grid__wrap,
    .project-type-grid__row {
        gap: 20px;
    }

    .project-type-grid__content {
        padding: 20px;
    }

    .project-type-grid__name {
        font-size: 28px;
    }

    .project-type-grid__row--top .project-type-grid__card {
        aspect-ratio: 16 / 8.7;
    }

    .project-type-grid__row--bottom .project-type-grid__card {
        aspect-ratio: 16 / 9.7;
    }
	.project-type-grid__card:last-child .project-type-grid__text {
		display: none;
	}
}


@media (max-width: 1199.98px) and (min-width: 992px) {
    .project-type-grid {
        padding-top: 74px;
    }

    .project-type-grid__title {
        margin-bottom: 26px;
    }

    .project-type-grid__wrap,
    .project-type-grid__row {
        gap: 18px;
    }

    .project-type-grid__content {
        padding: 18px;
    }

    .project-type-grid__name {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .project-type-grid__desc {
        padding: 8px 14px;
        font-size: 11px;
    }

    .project-type-grid__text {
        font-size: 14px;
        line-height: 1.35;
        margin-bottom: 14px;
    }

    .project-type-grid__price {
        min-height: 36px;
        padding: 8px 13px;
        font-size: 13px;
    }

    .project-type-grid__action {
        font-size: 14px;
        gap: 8px;
    }

    .project-type-grid__action .projects__card-more {
        width: 36px;
        height: 36px;
        font-size: 15px;
    }

    .project-type-grid__row--top .project-type-grid__card {
        aspect-ratio: 16 / 9.3;
    }

    .project-type-grid__row--bottom .project-type-grid__card {
        aspect-ratio: 16 / 11;
    }

    .project-type-grid__card--custom {
        aspect-ratio: 16 / 11 !important;
    }

    .project-type-grid__card--custom .project-type-grid__content {
        padding: 18px;
    }

    .project-type-grid__card--custom .project-type-grid__name {
        font-size: 20px;
    }

    .project-type-grid__card--custom .project-type-grid__text {
        font-size: 13px;
        line-height: 1.32;
        margin-bottom: 12px;
    }

    .project-type-grid__card--custom .project-type-grid__bottom {
        gap: 10px;
    }
	
	.project-type-grid__card--custom:last-child .projects__card-more.icon-arrow-short {
		display: none;
	}
}

@media (max-width: 991.98px) and (min-width: 768px) {
    .project-type-grid {
        padding-top: 68px;
    }
	
    .project-type-grid__title {
        margin-bottom: 24px;
    }

    .project-type-grid__row--top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-type-grid__row--bottom {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-type-grid__row--bottom .project-type-grid__col:last-child {
        grid-column: 1 / -1;
    }

    .project-type-grid__wrap,
    .project-type-grid__row {
        gap: 16px;
    }

    .project-type-grid__row--top .project-type-grid__card,
    .project-type-grid__row--bottom .project-type-grid__card {
        aspect-ratio: 16 / 10.2;
    }

    .project-type-grid__content {
        padding: 16px;
    }

    .project-type-grid__name {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .project-type-grid__desc {
        padding: 8px 13px;
        font-size: 10px;
    }

    .project-type-grid__price {
        min-height: 34px;
        padding: 7px 12px;
        font-size: 12px;
    }

    .project-type-grid__action {
        font-size: 13px;
        gap: 8px;
    }

    .project-type-grid__action .projects__card-more {
        width: 34px;
        height: 34px;
        font-size: 14px;
    }

    .project-type-grid__card--custom {
        aspect-ratio: 16 / 5 !important;
    }

    .project-type-grid__card--custom .project-type-grid__content {
        padding: 18px;
    }

    .project-type-grid__card--custom .project-type-grid__bottom-part {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        height: 100%;
    }

    .project-type-grid__card--custom .project-type-grid__name {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .project-type-grid__card--custom .project-type-grid__text {
        max-width: 100%;
        font-size: 13px;
        line-height: 1.32;
        margin-bottom: 12px;
    }

    .project-type-grid__card--custom .project-type-grid__bottom {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }
	.project-type-grid__card:last-child .project-type-grid__text	{
		display: block;
	}
	.project-type-grid__badge,
	.project-type-grid__row:last-child .project-type-grid__action,
	.project-type-grid__card .projects__card-more.icon-arrow-short,
	.project-type-grid__card--custom:last-child .projects__card-more.icon-arrow-short	{
		display: inline-flex;
	}
}

@media (max-width: 767.98px) {
    .project-type-grid {
        padding: 60px 0 42px;
    }

    .project-type-grid__title {
        margin-bottom: 22px;
    }

    .project-type-grid__wrap,
    .project-type-grid__row {
        gap: 16px;
    }

    .project-type-grid__row--top,
    .project-type-grid__row--bottom {
        grid-template-columns: 1fr;
    }

    .project-type-grid__row--bottom .project-type-grid__col:last-child {
        grid-column: auto;
    }

    .project-type-grid__row--top .project-type-grid__card,
    .project-type-grid__row--bottom .project-type-grid__card {
        aspect-ratio: 16 / 11;
        border-radius: 22px;
    }

    .project-type-grid__content {
        padding: 16px;
    }

    .project-type-grid__name {
        font-size: 20px;
        line-height: 1.08;
        margin-bottom: 10px;
        max-width: 100%;
    }

    .project-type-grid__desc {
        padding: 8px 14px;
        font-size: 11px;
    }

    .project-type-grid__text {
        font-size: 14px;
        line-height: 1.38;
        margin-bottom: 14px;
        max-width: 100%;
    }

    .project-type-grid__bottom {
        gap: 10px;
    }

    .project-type-grid__price {
        min-height: 34px;
        padding: 8px 12px;
        font-size: 13px;
    }

    .project-type-grid__action {
        font-size: 14px;
        gap: 8px;
    }

    .project-type-grid__action .projects__card-more {
        width: 34px;
        height: 34px;
        font-size: 14px;
    }

    .project-type-grid__badge {
        min-height: 30px;
        padding: 6px 12px;
        font-size: 11px;
    }

    .project-type-grid__card--custom {
        aspect-ratio: 16 / 8.2 !important;
    }

    .project-type-grid__card--custom .project-type-grid__content {
        padding: 18px;
    }

    .project-type-grid__card--custom .project-type-grid__bottom-part {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        height: 100%;
    }

    .project-type-grid__card--custom .project-type-grid__bottom {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
	.project-type-grid__card:last-child .project-type-grid__text {
		display: block;
	}
	.project-type-grid__badge,
	.project-type-grid__row:last-child .project-type-grid__action,
	.project-type-grid__card:last-child .projects__card-more.icon-arrow-short	{
		display: inline-flex;
	}
}

@media (max-width: 575.98px) {
    .project-type-grid {
        padding: 52px 0 36px;
    }

    .project-type-grid__title {
        margin-bottom: 18px;
    }

    .project-type-grid__row--top .project-type-grid__card,
    .project-type-grid__row--bottom .project-type-grid__card {
        aspect-ratio: 16 / 11.6;
    }

    .project-type-grid__content {
        padding: 15px;
    }

    .project-type-grid__name {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .project-type-grid__desc {
        padding: 7px 12px;
        font-size: 10px;
    }

    .project-type-grid__text {
        font-size: 13px;
        line-height: 1.35;
        margin-bottom: 12px;
    }

    .project-type-grid__price {
        min-height: 32px;
        padding: 7px 11px;
        font-size: 12px;
    }

    .project-type-grid__action {
        font-size: 13px;
    }

    .project-type-grid__action .projects__card-more {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }

    .project-type-grid__card--custom {
        aspect-ratio: auto !important;
        min-height: 240px;
    }

    .project-type-grid__card--custom .project-type-grid__content {
        position: relative;
        inset: auto;
        min-height: 240px;
        padding: 16px;
    }

    .project-type-grid__card--custom .project-type-grid__bottom-part {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        height: auto;
    }

    .project-type-grid__card--custom .project-type-grid__bottom {
        width: 100%;
        margin-top: 6px;
        flex-direction: row;
        align-items: flex-start;
        gap: 10px;
    }

}


@media (max-width: 479.98px) {
    .project-type-grid__wrap,
    .project-type-grid__row {
        gap: 14px;
    }

    .project-type-grid__row--top .project-type-grid__card,
    .project-type-grid__row--bottom .project-type-grid__card {
        aspect-ratio: 16 / 12.2;
    }

    .project-type-grid__content {
        padding: 14px;
    }

    .project-type-grid__name {
        font-size: 17px;
    }

    .project-type-grid__text {
        font-size: 12px;
        line-height: 1.32;
    }

    .project-type-grid__desc {
        max-width: calc(100% - 16px);
        white-space: normal;
        line-height: 1.2;
    }

    .project-type-grid__bottom {
        gap: 8px;
    }

    .project-type-grid__card--custom {
        min-height: 220px;
    }

    .project-type-grid__card--custom .project-type-grid__content {
        min-height: 220px;
        padding: 14px;
    }


}

@media (max-width: 389.98px) {
    .project-type-grid__row--top .project-type-grid__card,
    .project-type-grid__row--bottom .project-type-grid__card {
        aspect-ratio: 16 / 12.8;
    }

    .project-type-grid__content {
        padding: 12px;
    }

    .project-type-grid__name {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .project-type-grid__desc {
        padding: 6px 10px;
        font-size: 9px;
    }

    .project-type-grid__text {
        font-size: 11px;
        line-height: 1.3;
        margin-bottom: 10px;
    }

    .project-type-grid__price {
        font-size: 11px;
        min-height: 30px;
        padding: 6px 10px;
    }

    .project-type-grid__action {
        font-size: 12px;
    }

    .project-type-grid__action .projects__card-more {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    .project-type-grid__badge {
        min-height: 28px;
        padding: 6px 10px;
        font-size: 10px;
    }

    .project-type-grid__card--custom {
        min-height: 210px;
    }

    .project-type-grid__card--custom .project-type-grid__content {
        min-height: 210px;
        padding: 12px;
    }
}

/* ===== Footer v2 ===== */
.footer.footer-v2 {
  background: #294835;
  color: #fff;
  padding: 64px 0 28px;
}

.footer-v2 a {
  color: inherit;
  text-decoration: none;
}

.footer-v2__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  gap: 32px;
  align-items: stretch;
}

.footer-v2__left,
.footer-v2__right {
  min-width: 0;
}

.footer-v2__left {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.footer-v2__logo {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  background: #fff;
  color: #294835;
  border-radius: 999px;
  padding: 14px 24px 14px 18px;
}

.footer-v2__logo img {
  width: 190px;
  max-width: 100%;
}

.footer-v2__nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 28px;
  max-width: 680px;
}

.footer-v2__nav a {
  width: fit-content;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  color: rgba(255,255,255,.88);
  transition: color .2s ease, transform .2s ease;
}

.footer-v2__nav a:hover {
  color: #d4cd8e;
  transform: translateX(3px);
}

.footer-v2__select-btn {
  width: fit-content;
  background: #fff !important;
  border-color: #fff !important;
  color: #294835 !important;
  min-height: 56px;
  padding-inline: 34px !important;
}

.footer-v2__select-btn:hover {
  background: #d4cd8e !important;
  border-color: #d4cd8e !important;
  color: #294835 !important;
}

.footer-v2__right {
  display: grid;
  gap: 14px;
}

.footer-v2__card {
  background: #fff;
  color: #000;
  border-radius: 28px;
  padding: 24px;
  box-shadow: 0 14px 28px rgba(0,0,0,.08);
}

.footer-v2__caption {
  margin-bottom: 18px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  color: #000;
}

.footer-v2__phones {
  display: grid;
  gap: 4px;
  margin-bottom: 22px;
}

.footer-v2__phones a {
  width: fit-content;
  font-family: "ProstoOne", "Verdana", sans-serif;
  font-size: 38px;
  line-height: 1.08;
  color: #294835;
  transition: color .2s ease;
}

.footer-v2__phones a:hover {
  color: #16281d;
}

.footer-v2__address-title {
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  color: #4f4806;
}

.footer-v2__address {
  margin: 0 0 18px;
  max-width: 560px;
  font-size: 16px;
  font-style: normal;
  line-height: 1.45;
}

.footer-v2__route {
  min-height: 54px;
  padding-inline: 30px !important;
}

.footer-v2__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.footer-v2__links a {
  display: flex;
  align-items: center;
  min-height: 48px;
  border: 1px solid rgba(41,72,53,.18);
  border-radius: 999px;
  padding: 10px 16px;
  font-size: 15px;
  font-weight: 700;
  color: #294835;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.footer-v2__links a:hover {
  background: #294835;
  border-color: #294835;
  color: #fff;
}

.footer-v2__messengers {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.footer-v2__messenger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 20px;
  background: #294835;
  color: #fff;
  font-size: 28px;
  transition: background-color .2s ease, transform .2s ease;
}

.footer-v2__messenger:hover {
  background: #16281d;
  color: #fff;
  transform: translateY(-2px);
}

.footer-v2__messenger--max svg {
  display: block;
}

.footer-v2__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-top: 20px;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.45;
}

.footer-v2__copy {
  max-width: 860px;
}

.footer-v2__privacy {
  flex: 0 0 auto;
  color: rgba(255,255,255,.78);
  transition: color .2s ease;
}

.footer-v2__privacy:hover {
  color: #fff;
}

@media (max-width: 1199.98px) {
  .footer-v2__grid {
    grid-template-columns: 1fr;
  }

  .footer-v2__right {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-v2__contact-card {
    grid-column: span 2;
  }
}

@media (max-width: 767.98px) {
  .footer.footer-v2 {
    padding: 42px 0 22px;
  }

  .footer-v2__nav,
  .footer-v2__right,
  .footer-v2__links {
    grid-template-columns: 1fr;
  }

  .footer-v2__contact-card {
    grid-column: auto;
  }

  .footer-v2__phones a {
    font-size: 30px;
  }

  .footer-v2__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 479.98px) {
  .footer-v2__card {
    padding: 20px;
    border-radius: 22px;
  }

  .footer-v2__phones a {
    font-size: 24px;
  }

  .footer-v2__messenger {
    width: 56px;
    height: 56px;
    border-radius: 18px;
  }
}

/* ===== Footer v3 fixes ===== */
.footer-v2__left {
  gap: 0;
}

.footer-v2__nav {
  margin-top: 42px;
}

.footer-v2__select-btn {
  margin-top: 28px;
}

.footer-v2__address-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
}

.footer-v2__address-main {
  min-width: 0;
}

.footer-v2__address {
  margin-bottom: 0;
}

.footer-v2__route {
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .footer-v2__nav {
    margin-top: 30px;
  }

  .footer-v2__select-btn {
    margin-top: 22px;
  }

  .footer-v2__address-row {
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
  }

  .footer-v2__route {
    width: fit-content;
  }
}



/* ===== Footer v4 payment block ===== */
.footer-v2__payment {
  margin-top: 34px;
  max-width: 680px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  background: rgba(255,255,255,.06);
}

.footer-v2__payment-title {
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  color: #d4cd8e;
}

.footer-v2__payment-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-v2__payment-list li {
  position: relative;
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 12px 14px 12px 36px;
  border-radius: 999px;
  background: #fff;
  color: #294835;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.footer-v2__payment-list li::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d4cd8e;
  transform: translateY(-50%);
}

@media (max-width: 991.98px) {
  .footer-v2__payment-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .footer-v2__payment {
    margin-top: 26px;
    padding: 20px;
    border-radius: 22px;
  }
}

/* ===== Footer v5 layout fixes ===== */
.footer-v2__right-row {
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(360px, 1.25fr);
  gap: 14px;
}

.footer-v2__right-row .footer-v2__card {
  min-height: 100%;
}

.footer-v2__manager-card,
.footer-v2__social-card {
  padding: 22px 24px;
}

.footer-v2__manager-card .footer-v2__messengers {
  align-items: center;
}

.footer-v2__payment {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.footer-v2__payment-title {
  margin-bottom: 18px;
  font-size: 16px;
  letter-spacing: .01em;
}

.footer-v2__payment-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.footer-v2__payment-list li {
  min-height: 0;
  padding: 0 0 0 24px;
  border-radius: 0;
  background: transparent;
  color: rgba(255,255,255,.92);
  font-size: 20px;
  line-height: 1.25;
}

.footer-v2__payment-list li::before {
  left: 0;
  width: 9px;
  height: 9px;
  background: #d4cd8e;
}

@media (max-width: 1199.98px) {
  .footer-v2__right-row {
    grid-column: span 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .footer-v2__right-row {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .footer-v2__payment-list li {
    font-size: 17px;
  }
}

/* ===== Footer v6 final corrections ===== */
.footer-v2__logo { display: none !important; }

.footer-v2__nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 54px;
  margin-top: 44px;
  max-width: 690px;
}

.footer-v2__nav-col { display: grid; gap: 14px; }

.footer-v2__payment {
  margin-top: 34px;
  max-width: 680px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  background: rgba(255,255,255,.06);
}

.footer-v2__payment-title {
  margin-bottom: 18px;
  font-size: 16px;
  letter-spacing: .01em;
  color: #d4cd8e;
}

.footer-v2__payment-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.footer-v2__payment-list li {
  min-height: 0;
  padding: 0 0 0 22px;
  border-radius: 0;
  background: transparent;
  color: rgba(255,255,255,.95);
  font-size: 18px;
  line-height: 1.25;
}

.footer-v2__payment-list li::before {
  left: 0;
  width: 9px;
  height: 9px;
  background: #d4cd8e;
}

.footer-v2__messengers.socials { gap: 10px; }

.footer-v2__manager-card .socials__item {
  width: 46px;
  height: 46px;
  font-size: 22px;
  border-color: #294835;
  background: #294835;
  color: #fff;
}

.footer-v2__manager-card .socials__item:hover {
  background: #16281d;
  border-color: #16281d;
  color: #fff;
}

@media (max-width: 991.98px) {
  .footer-v2__payment-list { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
  .footer-v2__nav {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 28px;
  }
  .footer-v2__payment {
    margin-top: 26px;
    padding: 20px;
    border-radius: 22px;
  }
  .footer-v2__payment-list li { font-size: 17px; }
}


/* ===== Footer v7 unified lower panel ===== */

.footer-v2__service-panel {
	grid-column:1 / -1;
	width:100%;
	box-sizing:border-box;
	display:grid;
	grid-template-columns: minmax(0,560px) minmax(220px,300px) minmax(220px,260px) minmax(220px,420px);
	gap:42px;
	align-items:start;
	margin: 40px 0;; padding:28px 26px;
	overflow:hidden;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 28px;
	background: rgba(255,255,255,.06);
}

.footer-v2__service-panel .footer-v2__payment,
.footer-v2__service-panel .footer-v2__manager-card,
.footer-v2__service-panel .footer-v2__social-card {
  margin: 0;
  padding: 0;
  max-width: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
}
.footer-v2__service-panel .footer-v2__caption,
.footer-v2__service-panel .footer-v2__payment-title {
  margin-bottom: 18px;
  color: #d4cd8e;
}
.footer-v2__service-panel .footer-v2__payment-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.footer-v2__service-panel .footer-v2__payment-list li {
  color: rgba(255,255,255,.95);
  font-size: 18px;
}
.footer-v2__service-panel .footer-v2__links a {
  border-color: rgba(255,255,255,.22);
  color: #fff;
  background: rgba(255,255,255,.05);
}
.footer-v2__service-panel .footer-v2__links a:hover {
  background: #fff;
  border-color: #fff;
  color: #294835;
}
.footer-v2__service-panel .footer-v2__manager-card .socials__item {
  background: #fff;
  border-color: #fff;
  color: #294835;
}
.footer-v2__service-panel .footer-v2__manager-card .socials__item:hover {
  background: #d4cd8e;
  border-color: #d4cd8e;
  color: #294835;
}

@media (max-width: 1899.98px) {
  .footer-v2__service-panel {
	  grid-template-columns: minmax(0, 560px) minmax(220px, 307px) minmax(220px, 257px) minmax(220px, 250px);
	}
}

@media (max-width: 1199.98px) {
  .footer-v2__service-panel { grid-template-columns: 1fr 1fr; }
  .footer-v2__service-panel .footer-v2__payment { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
  .footer-v2__service-panel {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 20px;
    border-radius: 22px;
  }
  .footer-v2__service-panel .footer-v2__payment { grid-column: auto; }
  .footer-v2__service-panel .footer-v2__payment-list {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}


/* ===== Footer v8 corrections ===== */

.footer-v2__service-panel .footer-v2__payment-list {
  grid-template-columns: repeat(2, minmax(210px, max-content));
  gap: 14px 34px;
  align-items: start;
}

.footer-v2__service-panel .footer-v2__payment-list li {
  font-size: 18px;
  line-height: 1.2;
  white-space: nowrap;
}

.footer-v2__service-panel .footer-v2__payment-list li:nth-child(3) {
  grid-column: 1 / 2;
}

.footer-v2__service-panel .footer-v2__manager-card {
  min-width: 220px;
}

.footer-v2__service-panel .footer-v2__social-card {
  max-width: 460px;
  justify-self: end;
  width: 100%;
}

.footer-v2__service-panel .footer-v2__links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.footer-v2__service-panel .footer-v2__links a {
  min-height: 46px;
  padding: 9px 16px;
}

@media (max-width: 1399.98px) {
  .footer-v2__service-panel {
    grid-template-columns: minmax(0, 1fr) 210px 410px;
    gap: 28px;
  }

  .footer-v2__service-panel .footer-v2__payment-list {
    grid-template-columns: repeat(2, minmax(190px, max-content));
    gap: 14px 26px;
  }
}

@media (max-width: 1199.98px) {
  .footer-v2__service-panel {
    grid-template-columns: 1fr 1fr;
  }

  .footer-v2__service-panel .footer-v2__payment {
    grid-column: 1 / -1;
  }

  .footer-v2__service-panel .footer-v2__social-card {
    max-width: none;
    justify-self: stretch;
  }
}

@media (max-width: 767.98px) {
  .footer-v2__service-panel {
    grid-template-columns: 1fr;
  }

  .footer-v2__service-panel .footer-v2__payment-list {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .footer-v2__service-panel .footer-v2__payment-list li:nth-child(3) {
    grid-column: auto;
  }

  .footer-v2__service-panel .footer-v2__payment-list li {
    white-space: normal;
  }
}

/* ===== Footer v9 final layout fix ===== */
.footer.footer-v2 { overflow: hidden; }
.footer-v2__grid { grid-template-columns: minmax(0,.98fr) minmax(520px,1.02fr); gap:18px 25px; align-items:start; }
.footer-v2__right { min-width:0; }
.footer-v2__contact-card { width:100%; box-sizing:border-box; }
.footer-v2__service-panel .footer-v2__payment-list { display:grid; grid-template-columns:max-content max-content; gap:14px 25px; align-items:start; }
.footer-v2__service-panel .footer-v2__payment-list li { white-space:nowrap; }
.footer-v2__service-panel .footer-v2__payment-list li:nth-child(3) { grid-column:1 / 2; }
.footer-v2__service-panel .footer-v2__manager-card, .footer-v2__service-panel .footer-pdf-links, .footer-v2__service-panel .footer-v2__payment { min-width:0; padding-right:36px; border-right:1px solid rgba(255,255,255,.16); }
.footer-v2__service-panel .footer-v2__manager-card .footer-v2__caption { white-space:nowrap; }
.footer-v2__service-panel .footer-v2__social-card { width:100%; max-width:430px; justify-self:end; min-width:0; }
.footer-v2__service-panel .footer-v2__links { grid-template-columns:repeat(2,minmax(0,1fr)); }
.footer-v2__bottom { width:100%; box-sizing:border-box; }
@media (max-width:1599.98px) {
	.footer-v2__grid { 
		grid-template-columns:minmax(0,.95fr) minmax(500px,1.05fr);
		gap:18px 36px;
	}
	.footer-v2__service-panel {
		grid-template-columns:minmax(0,1fr) minmax(240px,280px) minmax(340px,410px);
		gap:42px;
	}
	.footer-v2__service-panel .footer-v2__payment-list {
		gap:14px 42px;
	}
		.footer-v2__service-panel .footer-v2__manager-card, .footer-v2__service-panel .footer-pdf-links, .footer-v2__service-panel .footer-v2__payment {
		padding-right:0;
		border-right:0;
	}
	.footer-v2__service-panel .footer-v2__social-card {
		width:100%; max-width:600px; justify-self:end; min-width:0;
	}

}
@media (max-width:1399.98px) {
	.footer-v2__grid {
		grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
		gap:18px 30px;
	}
	.footer-v2__service-panel {
		grid-template-columns:minmax(0,520px) minmax(330px,390px);
		gap:34px;
	}
	.footer-v2__service-panel .footer-v2__payment-list {
		gap:14px 30px;
		}
	.footer-v2__service-panel .footer-v2__payment-list li {
		font-size:17px;
		}
	}
@media (max-width:1199.98px) {
	.footer-v2__grid {
		grid-template-columns:1fr;
		gap:26px;
	}
	.footer-v2__service-panel {
		grid-template-columns:1fr 1fr;
		gap:28px;
	}
	.footer-v2__service-panel .footer-v2__payment {
		grid-column:1 / -1;
	}
	.footer-v2__service-panel .footer-v2__social-card {
		max-width:none;
		justify-self:stretch;
	}
}
@media (max-width:767.98px) {
	.footer-v2__service-panel {
		grid-template-columns:1fr;
		gap:24px;
		padding:22px;
	}
	.footer-v2__service-panel .footer-v2__payment-list {
		grid-template-columns:1fr;
		gap:12px;
	}
	.footer-v2__service-panel .footer-v2__payment-list li,
	.footer-v2__service-panel .footer-v2__manager-card .footer-v2__caption {
		white-space:normal;
	}
	.footer-v2__service-panel .footer-v2__payment-list li:nth-child(3) {
		grid-column:auto;
	}
}

.contacts-page-v2 {
    background: #f7f6f2;
}

.contacts-page-v2 .contacts-map-v2 {
    padding: 50px 0;
    background: #f7f6f2;
}

.contacts-page-v2 .contacts-map-v2__box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 640px;
    border-radius: 36px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(41, 72, 53, .12);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .05);
}

.contacts-page-v2 .contacts-map-v2__info {
    padding: 48px 56px;
    background: #fff;
    color: #111;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.contacts-page-v2 .contacts-map-v2__title {
    margin: 0 0 14px;
    color: #111;
}

.contacts-page-v2 .contacts-map-v2__intro {
    max-width: 760px;
    margin: 0 0 30px;
    font-size: 20px;
    line-height: 1.45;
    color: #26352c;
}

.contacts-page-v2 .contacts-map-v2__phones {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}

.contacts-page-v2 .contacts-map-v2__phones a {
    display: inline-flex;
    width: fit-content;
    color: #294835;
    font-size: 34px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.contacts-page-v2 .contacts-map-v2__worktime {
    margin-bottom: 16px;
    color: rgba(0, 0, 0, .58);
    font-size: 15px;
    line-height: 1.45;
}

.contacts-page-v2 .contacts-map-v2__mail {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 20px;
    color: #294835;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 700;
}

.contacts-page-v2 .contacts-map-v2__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 26px;
}

.contacts-page-v2 .contacts-map-v2__socials .socials__item {
    background: #fff;
    color: #294835;
}

.contacts-page-v2 .contacts-map-v2__address-card {
    max-width: 760px;
    margin-top: 4px;
    padding-top: 26px;
    border-top: 1px solid rgba(41, 72, 53, .16);
}

.contacts-page-v2 .contacts-map-v2__address-title {
    margin-bottom: 10px;
    color: #4f4806;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
}

.contacts-page-v2 .contacts-map-v2__address-text {
    color: #111;
    font-size: 17px;
    line-height: 1.5;
}

.contacts-page-v2 .contacts-map-v2__notice {
    max-width: 760px;
    margin-top: 24px;
    padding: 16px 18px;
    border-radius: 22px;
    background: #f7f6f2;
    color: rgba(0, 0, 0, .72);
    font-size: 14px;
    line-height: 1.45;
}

.contacts-page-v2 .contacts-map-v2__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.contacts-page-v2 .contacts-map-v2__map-wrap {
    position: relative;
    min-height: 640px;
    background: #e9e9e9;
}

.contacts-page-v2 .contacts-map-v2__map {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.contacts-page-v2 .contacts-map-v2__route {
    display: none;
}

.contacts-page-v2 .contacts-map-v2__overlay {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    transform: translate(-50%, -50%);
    max-width: 320px;
    padding: 14px 18px;
    border-radius: 18px;
    background: rgba(41, 72, 53, .92);
    color: #fff;
    font-size: 14px;
    line-height: 1.35;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: .2s ease;
    pointer-events: none;
}

.contacts-page-v2 .contacts-map-v2__overlay.visible {
    opacity: 1;
    visibility: visible;
}

.contacts-page-v2 .contacts-production-original {
    padding: 0 0 36px;
    background: #f7f6f2;
}

.contacts-page-v2 .contacts-production-original .about,
.contacts-page-v2 .contacts-production-original .gallery,
.contacts-page-v2 .contacts-production-original section {
    padding-top: 0;
    padding-bottom: 0;
}

.contacts-page-v2 .project-guarantee--contacts {
    padding: 0 0 54px;
    background: #f7f6f2;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__wrap {
    overflow: visible;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__person {
    height: 100%;
    margin-bottom: 0;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo {
    height: 100%;
    min-height: 0;
    max-height: none;
    border-radius: 30px;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo img {
    height: 100%;
    object-position: center center;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__content {
    min-height: 100%;
    padding: 32px;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__title {
    max-width: 760px;
    margin-bottom: 0;
    color: #294835;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__bottom {
    margin-top: 24px;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__review-card {
    min-height: 100%;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews-more {
    margin-top: 24px;
    text-align: left;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews-link.btn {
    min-width: 260px;
}

@media (max-width: 1399.98px) {
    .contacts-page-v2 .contacts-map-v2__phones a {
        font-size: 30px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo {
        min-height: 0;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__content {
        padding: 28px;
    }
}

@media (max-width: 1199.98px) {
    .contacts-page-v2 .contacts-map-v2__info {
        padding: 40px;
    }

    .contacts-page-v2 .contacts-map-v2__phones a {
        font-size: 28px;
    }

    .contacts-page-v2 .contacts-map-v2__map-wrap {
        min-height: 560px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__head {
        flex-direction: column;
        align-items: flex-start;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__director {
        width: 100%;
        max-width: 360px;
    }
}

@media (max-width: 991.98px) {
    .contacts-page-v2 .contacts-map-v2__box {
        grid-template-columns: 1fr;
    }

    .contacts-page-v2 .contacts-map-v2__map-wrap {
        min-height: 460px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__person {
        margin-bottom: 20px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo {
        height: 460px;
        min-height: 0;
        max-height: none;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .contacts-page-v2 .contacts-map-v2 {
        padding: 28px 0 24px;
    }

    .contacts-page-v2 .contacts-map-v2__box {
        border-radius: 26px;
        min-height: 0;
    }

    .contacts-page-v2 .contacts-map-v2__info {
        padding: 26px;
    }

    .contacts-page-v2 .contacts-map-v2__title {
        font-size: 34px;
    }

    .contacts-page-v2 .contacts-map-v2__intro {
        margin-bottom: 24px;
        font-size: 16px;
    }

    .contacts-page-v2 .contacts-map-v2__phones a {
        font-size: 24px;
    }

    .contacts-page-v2 .contacts-map-v2__mail {
        font-size: 17px;
    }

    .contacts-page-v2 .contacts-map-v2__address-card {
        padding-top: 20px;
    }

    .contacts-page-v2 .contacts-map-v2__notice {
        margin-top: 20px;
        padding: 14px 16px;
        border-radius: 18px;
    }

    .contacts-page-v2 .contacts-map-v2__actions,
    .contacts-page-v2 .contacts-map-v2__actions .btn {
        width: 100%;
    }

    .contacts-page-v2 .contacts-map-v2__map-wrap {
        min-height: 380px;
    }

    .contacts-page-v2 .contacts-production-original {
        padding: 0 0 24px;
    }

    .contacts-page-v2 .project-guarantee--contacts {
        padding: 0 0 38px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo {
        height: 360px;
        border-radius: 22px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__content {
        padding: 20px;
        border-radius: 22px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__title {
        font-size: 24px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__bottom {
        margin-top: 18px;
        padding: 16px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews-more {
        margin-top: 18px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews-link.btn {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 479.98px) {
    .contacts-page-v2 .contacts-map-v2__info {
        padding: 22px;
    }

    .contacts-page-v2 .contacts-map-v2__phones a {
        font-size: 21px;
    }

    .contacts-page-v2 .contacts-map-v2__map-wrap {
        min-height: 340px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo {
        height: 320px;
    }
}


/* ===== Контакты: блок директора на базе project-guarantee ===== */
.contacts-page-v2 .project-guarantee--contacts .row.align-items-stretch {
    --bs-gutter-y: 24px;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__wrap,
.contacts-page-v2 .project-guarantee--contacts .row,
.contacts-page-v2 .project-guarantee--contacts [class*="col-"] {
    min-width: 0;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__person {
    height: 100%;
    min-height: 100%;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo {
    height: 100%;
    min-height: 0;
    max-height: none;
    border-radius: 30px;
    overflow: hidden;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo picture {
    display: block;
    width: 100%;
    height: 100%;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__head {
    flex: 0 0 auto;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews {
    flex: 1 1 auto;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__review-card {
    min-height: 100%;
}

.contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews-more {
    flex: 0 0 auto;
}

/* На контактах оставляем только один ряд отзывов */
.contacts-page-v2 .project-guarantee--contacts .project-guarantee__review-card:nth-child(n+3) {
    display: none;
}

@media (max-width: 991.98px) {
    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo {
        height: 420px;
        min-height: 0;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__content {
        height: auto;
    }
}

@media (max-width: 767.98px) {
    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo {
        height: 340px;
        border-radius: 22px;
    }

    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__reviews-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 479.98px) {
    .contacts-page-v2 .project-guarantee--contacts .project-guarantee__photo {
        height: 300px;
    }
}

/* FIX: адаптив карточек разделов каталога */
.page_second .design .row {
  --bs-gutter-x: 32px;
  --bs-gutter-y: 32px;
}

.page_second .catalog-project-col {
  display: flex;
}

.page_second .catalog-project-col .projects__card {
  width: 100%;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
}

.page_second .catalog-project-col .projects__card-image,
.page_second .catalog-project-col .projects__card-image picture,
.page_second .catalog-project-col .projects__card-image img {
  width: 100%;
  height: 100%;
}

.page_second .catalog-project-col .projects__card-image img {
  object-fit: cover;
}

@media (min-width: 576px) and (max-width: 1599.98px) {
  .page_second .catalog-project-col {
    flex: 0 0 auto;
    width: 50%;
    max-width: 50%;
  }
}

@media (min-width: 1600px) {
  .page_second .catalog-project-col {
    flex: 0 0 auto;
    width: 33.333333%;
    max-width: 33.333333%;
  }
}

@media (max-width: 767.98px) {
  .page_second .design .row {
    --bs-gutter-x: 20px;
    --bs-gutter-y: 22px;
  }

  .page_second .catalog-project-col {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }

  .page_second .catalog-project-col .projects__card {
    aspect-ratio: 16 / 10 !important;
  }
}

/* Блок "Смотреть" скрываем изначально на всех устройствах */
.page_second .catalog-project-col .projects__card-body,
.page_second .catalog-project-col .projects__card-footer,
.page_second .catalog-project-col .projects__card-buttons,
.js-other-projects-list .projects__card-body,
.js-other-projects-list .projects__card-footer,
.js-other-projects-list .projects__card-buttons {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(18px) !important;
  transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
}

/* Показываем только при наведении на устройствах с мышью */
@media (hover: hover) and (pointer: fine) {
  .page_second .catalog-project-col .projects__card:hover .projects__card-body,
  .page_second .catalog-project-col .projects__card:hover .projects__card-footer,
  .page_second .catalog-project-col .projects__card:hover .projects__card-buttons,
  .js-other-projects-list .projects__card:hover .projects__card-body,
  .js-other-projects-list .projects__card:hover .projects__card-footer,
  .js-other-projects-list .projects__card:hover .projects__card-buttons {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
  }
}

/* FIX: квиз в разделах каталога на мобильных */
@media (max-width: 767.98px) {
  .section_calatog .quiz-bath,
  .section_calatog .quiz-bath * {
    box-sizing: border-box;
  }

  .section_calatog .quiz-bath {
    overflow: hidden;
  }

  .section_calatog .quiz-bath__wrap {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding: 18px 14px;
  }

  .section_calatog .quiz-bath__hero {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .section_calatog .quiz-bath__gift-pair {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .section_calatog .quiz-bath__gift {
    width: 100%;
    max-width: 100%;
  }

  .section_calatog .quiz-bath__submit {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .section_calatog .quiz-bath__title {
    font-size: 30px;
    line-height: 1.12;
    word-break: normal;
    overflow-wrap: break-word;
  }
}

@media (max-width: 479.98px) {
  .section_calatog .quiz-bath__title {
    font-size: 26px;
  }
}

#crossing, #calc {
    scroll-margin-top: 160px;
}
 