@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-Thin.woff2') format('woff2'), url('../fonts/Gilroy-Thin.woff') format('woff');
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-Light.woff2') format('woff2'), url('../fonts/Gilroy-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
}

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

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-Medium.woff2') format('woff2'), url('../fonts/Gilroy-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-SemiBold.woff2') format('woff2'), url('../fonts/Gilroy-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
}

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

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-ExtraBold.woff2') format('woff2'), url('../fonts/Gilroy-ExtraBold.woff') format('woff');
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-Black.woff2') format('woff2'), url('../fonts/Gilroy-Black.woff') format('woff');
  font-weight: 900;
  font-style: normal;
}


:root {
  --vw: calc(100vw / 1440);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

img {
  display: block;
}

body {
  background-color: #f6f6f6;
  font-family: "Gilroy", "Arial", sans-serif;
}

a,
button,
input,
select,
h1,
h2,
h3,
h4,
h5,
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: none;
  text-decoration: none;
  background: none;
  font-family: "Gilroy", "Arial", sans-serif;

  -webkit-font-smoothing: antialiased;
}

menu,
ol,
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 767px) {
  .mob {
    display: none;
  }

}

@media (max-width: 767px) {
  .notmob {
    display: none;
  }

}

.header {
  width: 100%;
  position: fixed;
  z-index: 777;
  transition-duration: .2s;
}

.header * {
  transition-duration: .2s;

}

.header.scrolled,
.header.white {
  background: #fff;
}

.header.scrolled *,
.header.white * {
  color: #222 !important;
}

.header.scrolled .header__callback,
.header.white .header__callback {
  color: #21CB5F !important;
}

.header.scrolled .header__logo.black,
.header.white .header__logo.black {
  opacity: 1 !important;
}

.header.scrolled .header__burger-line,
.header.white .header__burger-line {
  background: #00812F !important;

}


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

  justify-content: flex-start;
  width: 100%;

  padding: 10px 20px;
  margin: 0 auto;

  gap: 20px;
}


.header__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  position: relative;
}

.header__logo {
  width: 112px;
  height: 76px;
  object-fit: cover;
  flex-shrink: 0;
}
@media only screen and (max-width:768px) {
  .header__logo {
    width: 74px;
    height: 55px;
  }
}

.header__logo.black {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition-duration: .2s;
}

.header__slogan {
  display: none;
  color: #ffffff;

  line-height: 1.2;
}


.header__nav {
  display: none;
}

.header__nav-list {
  display: flex;
  align-items: center;
  list-style: none;
}

.header__nav-link {
  color: #ffffff;

  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.header__nav-link:hover {
  opacity: 0.8;
}

.header__contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-left: auto;
}

.header__phone {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}

.header__phone:hover {
  text-decoration: none;
}

.header__phone-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.header__phone-text {
  font-size: clamp(14px, calc(var(--vw) * 20), 20px);
  color: #ffffff;
  white-space: nowrap;
  font-weight: 600;
}

.header__callback {
  color: #ffffff;

  font-size: 10px;
  font-weight: 600;
  text-decoration: underline;
  margin-top: 2px;
}


.header__burger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 30px;
  background: transparent;
  border: none;
  cursor: pointer;
}

.header__burger-line {
  width: 100%;
  height: 2px;
  background-color: #ffffff;
  border-radius: 2px;
}


@media (min-width: 992px) {
  .header__container {


    padding: clamp(10px, calc(var(--vw) * 20), 20px) clamp(30px, calc(var(--vw) * 60), 80px);


    gap: 0;
  }

  .header__slogan {
    display: block;
    font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
    max-width: clamp(200px, calc(var(--vw) * 227), 302px);
  }

  .header__burger {
    display: none;
  }

  .header__nav {
    display: block;
    margin: 0 auto;
  }

  .header__nav-list {
    gap: clamp(10px, calc(var(--vw) * 40), 53.3px);
  }

  @media (max-width: 1200px) {
    .header__nav-list {
      gap: 15px;
    }
  }

  .header__nav-link {
    font-size: clamp(12px, calc(var(--vw) * 14), 18px);
    white-space: nowrap;
  }

  .header__contacts {

    margin-left: 0;
  }

  .header__phone-icon {
    width: clamp(16px, calc(var(--vw) * 18), 24px);
    height: clamp(16px, calc(var(--vw) * 18), 24px);
  }

  .header__phone-text {
    font-size: clamp(14px, calc(var(--vw) * 24), 24px);
    white-space: nowrap;
  }

  .header__callback {
    font-size: clamp(10px, calc(var(--vw) * 12), 16px);
  }
}


.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #343e38;
  z-index: 1000;
  overflow-y: auto;

  display: flex;
  flex-direction: column;
  transform: translateX(110%);
  transition: transform 0.25s ease-in-out;
}

.mobile-menu.active {
  transform: translateX(0);
}

.mobile-menu__close {
  position: absolute;
  top: clamp(14px, calc(var(--vw) * 20), 30px);
  right: clamp(14px, calc(var(--vw) * 20), 30px);
  background: none;
  border: none;
  cursor: pointer;
  padding: clamp(6px, calc(var(--vw) * 10), 16px);
  z-index: 22;
}

.mobile-menu__container {
  display: flex;
  flex-direction: column;
  padding: clamp(40px, calc(var(--vw) * 60), 90px) clamp(20px, calc(var(--vw) * 47), 65px);
  gap: clamp(25px, calc(var(--vw) * 40), 60px);
  position: relative;
  z-index: 2;
  flex-grow: 1;
}

.mobile-menu__nav {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: clamp(14px, calc(var(--vw) * 20), 32px);
}

.mobile-menu__nav-link {
  color: #ffffff;
  font-size: clamp(16px, calc(var(--vw) * 20), 28px);
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s ease;
}

.mobile-menu__nav-link:hover {
  color: #21CB5F;
}

.mobile-menu__contacts {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, calc(var(--vw) * 15), 24px);
  font-style: normal;
}

.mobile-menu__contact-item {
  display: flex;
  align-items: center;
  gap: clamp(10px, calc(var(--vw) * 15), 22px);
  color: #ffffff;
  font-size: clamp(12px, calc(var(--vw) * 16), 24px);
  line-height: 1.2;
  text-decoration: none;
}

.mobile-menu__contact-item img {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mobile-menu__socials {
  display: flex;
  gap: clamp(6px, calc(var(--vw) * 10), 16px);
  align-items: center;
}

.mobile-menu__social-link {
  background-color: #1a5d30;
  border-radius: 50%;
  width: clamp(35px, calc(var(--vw) * 50), 75px);
  height: clamp(35px, calc(var(--vw) * 50), 75px);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.mobile-menu__social-link:hover {
  opacity: 0.8;
  transform: scale(1.05);
}

.mobile-menu__legal-link {
  color: rgba(255, 255, 255, 0.6);
  font-size: clamp(12px, calc(var(--vw) * 16), 24px);
  font-weight: 500;
  text-decoration: underline;
  margin-top: clamp(6px, calc(var(--vw) * 10), 18px);
  align-self: flex-start;
  transition: color 0.3s ease;
}

.mobile-menu__legal-link:hover {
  color: #ffffff;
  text-decoration: none;
}


.mobile-menu__watermark {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;


  pointer-events: none;

  z-index: 1;
}

.mobile-menu__watermark img {
  width: 100%;
  max-width: 100%;
  height: auto;
}




.btn-calc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #21cb5f;
  color: #ffffff;
  height: clamp(60px, calc(var(--vw) * 70), 90px);
  font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
  padding-left: clamp(30px, calc(var(--vw) * 60), 80px);
  padding-right: clamp(30px, calc(var(--vw) * 60), 80px);
  white-space: nowrap;
  cursor: pointer;
  font-family: "Gilroy", "Arial", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: inset 0px 4px 18px 0px rgba(255, 255, 255, 0.11);
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.btn-calc:hover {
  background-color: #1a9f4a;
}


.hero {
  position: relative;
  width: 100%;

  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #1a1a1a;
}


.hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}


.hero__top-shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(100px, calc(var(--vw) * 160), 213.3px);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 1;
  pointer-events: none;
}


.hero__blur {
  position: absolute;
  background-color: #072008;
  border-radius: 50%;
  opacity: 0.6;
  filter: blur(125px);
  z-index: 1;
  pointer-events: none;
  left: clamp(-30.6px, calc(var(--vw) * -23), -15px);
  top: clamp(40px, calc(var(--vw) * 61), 81.3px);
  width: clamp(600px, calc(var(--vw) * 851), 1134.6px);
  height: clamp(400px, calc(var(--vw) * 622), 829.3px);
}



.hero__container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: clamp(960px, calc(var(--vw) * 1281), 1708px);
  margin: 0 auto;
  padding: clamp(80px, calc(var(--vw) * 160), 200px) clamp(30px, calc(var(--vw) * 60), 80px) clamp(60px, calc(var(--vw) * 80), 80px);


  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

@media (min-width: 1550px) AND (max-height: 800px) {

  .hero__container {
    padding: clamp(80px, calc(var(--vw) * 120), 120px) clamp(30px, calc(var(--vw) * 60), 80px) clamp(60px, calc(var(--vw) * 60), 60px);

  }
}

.hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  flex-grow: 1;
}

.hero__title {
  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(40px, calc(var(--vw) * 66), 80px);
  margin-bottom: clamp(15px, calc(var(--vw) * 25), 26.6px);
  color: #fff;
}

.hero__subtitle {
  color: #ffffff;

  font-weight: 600;
  line-height: 1.4;
  font-size: clamp(16px, calc(var(--vw) * 20), 26.6px);

  margin-bottom: clamp(30px, calc(var(--vw) * 40), 53.3px);
}


.hero__features {
  display: flex;
  flex-direction: row;

  flex-wrap: wrap;
  gap: clamp(20px, calc(var(--vw) * 40), 53.3px);
  margin-bottom: clamp(40px, calc(var(--vw) * 80), 120px);
  ;


}

.hero__feature {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: clamp(6px, calc(var(--vw) * 10), 13.3px);
}

.hero__feature-icon {
  flex-shrink: 0;
  width: clamp(16px, calc(var(--vw) * 20), 26.6px);
  height: clamp(16px, calc(var(--vw) * 20), 26.6px);
}

.hero__feature-text {
  color: #ffffff;

  font-weight: 400;
  line-height: 1.2;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
}


.hero__action-text {
  color: #ffffff;

  font-weight: 400;
  line-height: 1.35;
  font-size: clamp(14px, calc(var(--vw) * 16), 21.3px);
  margin-bottom: clamp(10px, calc(var(--vw) * 12), 20px);


  margin-top: auto;
}

.hero__actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: clamp(10px, calc(var(--vw) * 20), 26.6px);
}

.hero__btn {
  height: clamp(60px, calc(var(--vw) * 80), 80px);
  font-size: clamp(14px, calc(var(--vw) * 16), 21.3px);
}

.hero__btn svg {
  margin-left: 10px;
}

.hero__btn.btn-calc {
  width: clamp(240px, calc(var(--vw) * 320), 426.6px);
}

.hero__btn--glass {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(200px, calc(var(--vw) * 260), 346.6px);
  background: rgba(0, 0, 0, 0.01);
  border: 1px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(15px);
  color: #ffffff;

  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.hero__btn--glass:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.6);
}

@media (max-width: 768px) {
  :root {
    --vw: calc(100vw / 414);
  }

  .hero {

    min-height: 0;
    height: auto;
  }

  .hero__container {
    padding-left: clamp(20px, calc(var(--vw) * 47), 60px);
    padding-right: clamp(20px, calc(var(--vw) * 47), 60px);
    padding-top: clamp(80px, calc(var(--vw) * 120), 160px);
    padding-bottom: clamp(60px, calc(var(--vw) * 80), 100px);
    width: 100%;
  }

  .hero__top-shadow {
    height: clamp(80px, calc(var(--vw) * 120), 160px);
  }

  .hero__blur {
    border-radius: 0;
    width: 100%;
    background: #071E20;
    height: 100%;
    left: 0;
    top: 0;
    filter: none;
  }

  .hero__content {
    display: flex;
    flex-direction: column;
  }

  .hero__title {
    font-size: clamp(26px, calc(var(--vw) * 35), 46px);
    line-height: 0.9;
    margin-bottom: clamp(15px, calc(var(--vw) * 20), 28px);
    margin-right: -20px;
  }

  .hero__subtitle {
    font-size: clamp(14px, calc(var(--vw) * 17), 22px);
    line-height: 1.3;
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 40px);
    position: relative;
    padding-left: clamp(10px, calc(var(--vw) * 12), 16px);
    max-width: clamp(280px, calc(var(--vw) * 320), 430px);
  }

  .hero__subtitle::before {
    content: '';
    position: absolute;
    left: 0;
    top: clamp(3px, calc(var(--vw) * 4), 6px);
    bottom: clamp(3px, calc(var(--vw) * 4), 6px);
    width: 2px;
    background-color: #70ed9e;
  }

  .hero__btn.btn-calc {
    width: 100%;
  }

  .btn-calc {
    font-size: clamp(14px, calc(var(--vw) * 16), 20px);
  }

  .hero__features {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, calc(var(--vw) * 10), 14px);
    margin-bottom: clamp(35px, calc(var(--vw) * 50), 65px);
  }

  .hero__feature {
    gap: clamp(8px, calc(var(--vw) * 10), 14px);
    align-items: center;
  }

  .hero__feature-icon {
    width: clamp(16px, calc(var(--vw) * 20), 26px);
    height: clamp(16px, calc(var(--vw) * 20), 26px);
  }

  .hero__feature-text {
    font-size: clamp(12px, calc(var(--vw) * 14), 18px);
  }

  .hero__action-text {
    font-size: clamp(14px, calc(var(--vw) * 16), 20px);
    margin-bottom: clamp(15px, calc(var(--vw) * 20), 28px);
    line-height: 1.35;
  }

  .hero__actions {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: clamp(12px, calc(var(--vw) * 15), 20px);
  }

  .hero__btn {
    width: 100%;
    height: clamp(60px, calc(var(--vw) * 80), 100px);
    font-size: clamp(14px, calc(var(--vw) * 16), 20px);
  }

  .hero__btn--glass {
    width: 100%;
  }
}

.projects {
  background-color: #f6f6f6;
  width: 100%;
}

.projects__container {
  width: 100%;

  max-width: clamp(960px, calc(var(--vw) * 1320), 1828px);
  margin: 0 auto;

  padding: 0;
}

.projects__title {
  color: #222222;
  text-align: center;

  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(35px, calc(var(--vw) * 52), 69.3px);
  margin-bottom: clamp(50px, calc(var(--vw) * 60), 80px);
}


.projects__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);

  gap: clamp(20px, calc(var(--vw) * 40), 53.3px);
}


.projects__card {
  background-color: #ffffff;
  display: flex;
  flex-direction: row;

  padding: clamp(15px, calc(var(--vw) * 20), 26.6px);
  gap: clamp(15px, calc(var(--vw) * 20), 26.6px);
}


.projects__gallery {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, calc(var(--vw) * 10), 13.3px);
  flex-shrink: 0;

  width: clamp(200px, calc(var(--vw) * 280), 373.3px);
}

.projects__gallery-main {
  width: 100%;

  height: clamp(150px, calc(var(--vw) * 210), 280px);
  object-fit: cover;
  display: block;
}

.projects__gallery-thumbs {
  display: grid;

  grid-template-columns: repeat(4, 1fr);
  gap: clamp(6px, calc(var(--vw) * 8), 10.6px);
}

.projects__thumb {
  cursor: pointer;
  width: 100%;

  height: clamp(35px, calc(var(--vw) * 47), 62.6px);
  object-fit: cover;
  display: block;
  border: 1px solid transparent;
  cursor: pointer !important;
}

.projects__thumb.active {
  border: 1px solid #21CB5F;
}



.projects__info {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.projects__card-title {
  color: #222222;

  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(16px, calc(var(--vw) * 22), 29.3px);
  margin-bottom: clamp(10px, calc(var(--vw) * 10), 15px);
}

.projects__card-desc {
  color: #222222;

  font-weight: 400;
  line-height: 1.2;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);

  margin-bottom: clamp(10px, calc(var(--vw) * 15), 20px);
  flex-grow: 1;
}


.projects__details {
  display: flex;
  flex-direction: row;
  gap: clamp(10px, calc(var(--vw) * 10), 13.3px);
  margin-bottom: clamp(10px, calc(var(--vw) * 10), 13.3px);
}


.projects__detail-box,
.projects__address-box {
  background-color: #f6faf8;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: clamp(8px, calc(var(--vw) * 10), 13.3px);

  padding: clamp(10px, calc(var(--vw) * 12), 15px) clamp(10px, calc(var(--vw) * 15), 20px);
}


.projects__detail-box {
  flex: 1;
}


.projects__address-box {
  width: 100%;
}

.projects__detail-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(28px, calc(var(--vw) * 28), 326px);
  height: clamp(28px, calc(var(--vw) * 28), 32px);
  flex-shrink: 0;
}

.projects__detail-icon svg {
  width: 100%;
  height: 100%;
}

.projects__detail-text {
  display: flex;
  flex-direction: column;
  gap: clamp(2px, calc(var(--vw) * 3), 4px);
}

.projects__detail-label {
  color: #777777;
  font-weight: 300;
  letter-spacing: 0.05em;
  margin-right: -15px;
  font-size: clamp(10px, calc(var(--vw) * 10), 13.3px);
}

.projects__detail-value {
  color: #222222;
  font-weight: 500;
  line-height: 1.13;
  font-size: clamp(14px, calc(var(--vw) * 14), 18.6px);
}


.projects__banner {
  position: relative;
  background-color: #ffffff;
  display: flex;
  align-items: center;

  margin-top: clamp(30px, calc(var(--vw) * 50), 66.6px);

  padding: clamp(20px, calc(var(--vw) * 35), 46.6px) clamp(20px, calc(var(--vw) * 50), 66.6px);

  width: 100%;

  min-height: clamp(100px, calc(var(--vw) * 150), 200px);
  overflow: hidden;
}

.projects__banner-content {
  z-index: 2;
  display: flex;
  flex-direction: row;
  align-items: center;

  gap: clamp(30px, calc(var(--vw) * 50), 66.6px);
}

.projects__banner-title {
  color: #222222;
  width: 88%;
  font-weight: 700;
  line-height: 1.2;
  font-size: clamp(18px, calc(var(--vw) * 36), 48px);
}

.projects__banner-btn {
  flex-shrink: 0;
  width: clamp(180px, calc(var(--vw) * 320), 426.6px);
  height: clamp(50px, calc(var(--vw) * 80), 106.6px);
  font-size: clamp(14px, calc(var(--vw) * 16), 21.3px);
}


.projects__banner-img {
  position: absolute;
  z-index: 11;
  right: clamp(30px, calc(var(--vw) * 52), 69.3px);
  bottom: 4px;

  height: clamp(90px, calc(var(--vw) * 154), 205.3px);
  width: auto;
  object-fit: contain;
}



@media (max-width: 768px) {
  .projects__container {
    padding-right: clamp(15px, calc(var(--vw) * 27), 40px);
    padding-left: clamp(15px, calc(var(--vw) * 27), 40px);
  }

  .projects__gallery {
    width: 100%;
  }

  .projects__title {
    text-align: left;
    padding-left: clamp(15px, calc(var(--vw) * 20), 30px);
    font-size: clamp(26px, calc(var(--vw) * 35), 46px);
    margin-bottom: clamp(30px, calc(var(--vw) * 50), 69.3px);
  }

  .projects__grid {
    grid-template-columns: repeat(1, 1fr);
  }

  .projects__card {
    flex-direction: column-reverse;
    padding: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .projects__card-title {
    font-size: clamp(16px, calc(var(--vw) * 22), 30px);
    margin-bottom: clamp(6px, calc(var(--vw) * 10), 16px);
  }

  .projects__card-desc {
    font-size: clamp(12px, calc(var(--vw) * 14), 18px);
    line-height: 120%;
    margin-bottom: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .projects__gallery-main {
    aspect-ratio: 4/3;
  }
  .projects__gallery-main,
  .projects__thumb {
    height: auto;
  }

  .projects__banner-img {
    height: clamp(110px, calc(var(--vw) * 154), 240px);
    margin-left: clamp(-25px, calc(var(--vw) * -15), -10px);
    margin-right: clamp(-25px, calc(var(--vw) * -15), -10px);
    position: static;
  }

  .projects__banner {
    justify-content: center;
    padding-left: clamp(15px, calc(var(--vw) * 20), 30px);
    padding-right: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .projects__banner-content {
    flex-direction: column;
    gap: clamp(5px, calc(var(--vw) * 7), 12px);
  }

  .projects__banner-title {
    width: 100%;
    text-align: center;
    font-size: clamp(14px, calc(var(--vw) * 32), 56px);
    margin-bottom: clamp(0px, calc(var(--vw) * 20), 56px);
  }

  .projects__banner-btn {
    width: 100%;
    height: clamp(60px, calc(var(--vw) * 80), 110px);
  }
}

.formBlock {
  position: relative;
  width: 100%;
  background-color: #193c29;
  margin-top: clamp(60px, calc(var(--vw) * 120), 160px);
}

.formBlockWrap {
  overflow: hidden;

  padding-bottom: clamp(100px, calc(var(--vw) * 120), 160px);
}

.formBlockWrap:has(.formBlock__expert-card) {
  padding-bottom: 0 !important;
}

.formBlock__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 0.8;
}


.formBlock__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 10% 50%, rgba(5, 24, 6, 0.8) 0%, rgba(5, 24, 6, 0.4) 40%, rgba(5, 24, 6, 0) 70%);
  z-index: 1;
  pointer-events: none;
}

.formBlock {

  height: clamp(380px, calc(var(--vw) * 508), 677.3px);
  display: flex;
  align-items: center;
}

.formBlock__vertical-text {
  position: absolute;
  z-index: 2;

  left: 0;
  top: 0;


  width: clamp(300px, calc(var(--vw) * 446), 594.6px);
  height: auto;
  pointer-events: none;


  transform-origin: left center;
  transform: rotate(90deg) translateY(-50%);
}

.formBlock__container {
  z-index: 3;
  width: 100%;




  padding-left: clamp(80px, calc(var(--vw) * 140), 186.6px);
}

.formBlock__content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}


.formBlock__info {
  display: flex;
  flex-direction: column;

  position: relative;
  z-index: 4;
}

.formBlock__title {
  color: #ffffff;
  font-weight: 500;
  line-height: 1.2;

  font-size: clamp(24px, calc(var(--vw) * 36), 48px);
  margin-bottom: clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.formBlock__title--bigger {
  font-size: clamp(32px, calc(var(--vw) * 52), 70px);
  font-weight: 700;
  line-height: 1.1;

}

.formBlock__title--bold {

  font-weight: 700;
}

.formBlock__desc {
  color: #ffffff;

  font-weight: 400;
  line-height: 1.2;

  font-size: clamp(14px, calc(var(--vw) * 20), 26.6px);
  margin-bottom: clamp(25px, calc(var(--vw) * 40), 53.3px);
}


.formBlock__form {
  display: flex;
  flex-direction: column;
  gap: clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.formBlock__form-row {
  display: flex;
  flex-direction: row;
  gap: clamp(10px, calc(var(--vw) * 20), 26.6px);
}


.formBlock__input {
  background: #ffffff;
  border: 1px solid #d9d9d9;
  color: #222222;
  outline: none;
  font-family: "Gilroy", "Arial", sans-serif;
  width: clamp(200px, calc(var(--vw) * 250), 333.3px);
  height: clamp(50px, calc(var(--vw) * 70), 93.3px);
  font-size: clamp(12px, calc(var(--vw) * 15), 20px);
  padding: 0 clamp(10px, calc(var(--vw) * 20), 26.6px);
  transition: border-color 0.3s ease;
}

.formBlock__input::placeholder {
  color: #555555;
}

.formBlock__input:focus {
  border-color: #21cb5f;
}


.formBlock__btn {
  width: clamp(200px, calc(var(--vw) * 250), 333.3px);
  height: clamp(50px, calc(var(--vw) * 70), 93.3px);
  font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
  cursor: pointer;
}


.formBlock__policy {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: clamp(6px, calc(var(--vw) * 10), 13.3px);
  cursor: pointer;
  user-select: none;
}


.formBlock__checkbox-real {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.formBlock__checkbox-custom {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(16px, calc(var(--vw) * 20), 26.6px);
  height: clamp(16px, calc(var(--vw) * 20), 26.6px);
  border: 1px solid #36A67B;
  flex-shrink: 0;transition: border-color 0.3s ease;
  background: transparent;
}

.formBlock__checkbox-custom svg {
  width: 100%;
  height: 100%;
}


.formBlock__check-mark {
  opacity: 0;
  transition: opacity 0.2s ease;
}

.formBlock__checkbox-real:checked+.formBlock__checkbox-custom .formBlock__check-mark {
  opacity: 1;
}

.formBlock__policy-text {
  color: #ffffff;

  font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
  font-weight: 400;
}

.formBlock__policy-text a {
  color: #21cb5f;
  text-decoration: underline;
  transition: text-decoration 0.3s ease;
}

.formBlock__policy-text a:hover {
  text-decoration: none;
}


.formBlock__visuals {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;

  width: clamp(400px, calc(var(--vw) * 700), 933.3px);
  pointer-events: none;
  z-index: 4;
}

.formBlock__magazine {
  position: absolute;
  z-index: 11;
  right: clamp(-142px, calc(var(--vw) * 400 * -1), -200px);
  top: 11px;
  width: clamp(500px, calc(var(--vw) * 951), 1268px);
  height: auto;
  object-fit: contain;
}


.formBlock__expert-img {
  position: absolute;
  bottom: 0;

  left: -13%;

  height: clamp(280px, calc(var(--vw) * 465), 555px);
  width: auto;
  object-fit: contain;
  z-index: 2;
  pointer-events: none;
}

.formBlock__expert-card {
  position: absolute;

  right: clamp(60px, calc(var(--vw) * 140), 186.6px);
  top: clamp(40px, calc(var(--vw) * 55), 64px);
  z-index: 1;
  background: rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(15px);
  width: clamp(180px, calc(var(--vw) * 240), 320px);
  padding: clamp(15px, calc(var(--vw) * 25), 33.3px);
}

.formBlock__expert-header {
  margin-bottom: clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.formBlock__expert-name {
  color: #3bff82;

  font-weight: bold;
  font-size: clamp(14px, calc(var(--vw) * 18), 24px);
  line-height: 1.2;
  margin-bottom: 3px;
}

.formBlock__expert-role {
  color: #ffffff;

  font-size: clamp(10px, calc(var(--vw) * 12), 16px);
  line-height: 1.2;
  letter-spacing: 0.05em;
  opacity: 0.8;
}

.formBlock__expert-list {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, calc(var(--vw) * 15), 20px);
  list-style: none;
  padding: 0;
  margin: 0;
}

.formBlock__expert-item {
  position: relative;
  color: #ffffff;

  font-size: clamp(11px, calc(var(--vw) * 14), 18.6px);
  line-height: 1.2;
  padding-left: clamp(12px, calc(var(--vw) * 16), 21.3px);
}


.formBlock__expert-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.35em;
  width: clamp(4px, calc(var(--vw) * 6), 8px);
  height: clamp(4px, calc(var(--vw) * 6), 8px);
  background-color: #21cb5f;
}


@media (min-width: 768px) AND (max-width: 960px) {
  .formBlock__expert-img {
    display: none;
  }
}


@media (max-width: 768px) {
  .formBlock {
    padding-top: clamp(60px, calc(var(--vw) * 80), 100px);
    padding-bottom: clamp(200px, calc(var(--vw) * 282), 400px);
    height: auto;
  }

  .formBlock__overlay {
    background: rgba(0, 0, 0, 0.5);
  }

  .formBlock__watermark {
    bottom: clamp(6px, calc(var(--vw) * 10), 14px);
    left: 50%;
    transform-origin: center;
    transform: translateX(-50%);
    width: 100vw;
    height: auto;
    opacity: 0.15;
  }

  .formBlock__container {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 0 clamp(20px, calc(var(--vw) * 47), 60px);
  }

  .formBlock__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .formBlock__info {
    width: 100%;
  }

  .formBlock__title {
    color: #ffffff;
    font-weight: 500;
    font-size: clamp(20px, calc(var(--vw) * 26), 34px);
    line-height: 1.2;
    margin-bottom: clamp(15px, calc(var(--vw) * 20), 28px);
  }

  .formBlock__title--bigger {
    font-size: clamp(20px, calc(var(--vw) * 32), 40px);
    font-weight: 700;
    line-height: 1.1;
  }

  .formBlock__title--bold {
    font-family: "Gilroy-Bold", sans-serif;
    font-weight: 700;
  }

  .formBlock__desc {
    color: #ffffff;
    font-size: clamp(14px, calc(var(--vw) * 17), 22px);
    line-height: 1.3;
    margin-bottom: clamp(25px, calc(var(--vw) * 35), 45px);
    position: relative;
    padding-left: clamp(10px, calc(var(--vw) * 15), 20px);
    max-width: none;
    margin-right: clamp(-20px, calc(var(--vw) * -15), -10px);
  }

  .formBlock__desc::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #70ed9e;
  }

  .formBlock__form {
    display: flex;
    flex-direction: column;
    gap: clamp(15px, calc(var(--vw) * 20), 28px);
  }

  .formBlock__form-row {
    display: flex;
    flex-direction: column;
    gap: clamp(15px, calc(var(--vw) * 20), 28px);
  }

  .formBlock__input {
    width: 100%;
    height: clamp(50px, calc(var(--vw) * 60), 75px);
    font-size: clamp(13px, calc(var(--vw) * 15), 18px);
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #222222;
    padding: 0 clamp(15px, calc(var(--vw) * 20), 28px);
  }

  .formBlock__btn {
    width: 100%;
    height: clamp(50px, calc(var(--vw) * 60), 75px);
    font-size: clamp(14px, calc(var(--vw) * 16), 20px);
  }

  .formBlock__policy {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: clamp(8px, calc(var(--vw) * 10), 14px);
  }

  .formBlock__checkbox-real {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }

  .formBlock__checkbox-custom {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(16px, calc(var(--vw) * 20), 26px);
    height: clamp(16px, calc(var(--vw) * 20), 26px);
    flex-shrink: 0;
    margin-top: clamp(1px, calc(var(--vw) * 2), 4px);
  }

  .formBlock__checkbox-custom svg {
    width: 100%;
    height: 100%;
  }

  .formBlock__check-mark {
    opacity: 0;
    transition: opacity 0.2s ease;
  }

  .formBlock__checkbox-real:checked+.formBlock__checkbox-custom .formBlock__check-mark {
    opacity: 1;
  }

  .formBlock__policy-text {
    color: #ffffff;
    font-size: clamp(12px, calc(var(--vw) * 15), 18px);
    line-height: 1.13;
  }

  .formBlock__policy-text a {
    color: #21cb5f;
    text-decoration: underline;
  }

  .formBlock__visuals {
    position: absolute;
    bottom: clamp(-40px, calc(var(--vw) * 27 * -1), -20px);
    height: 0;
    width: 100%;
    z-index: 2;
  }

  .formBlock:has(.formBlock__expert-card) {
    padding-bottom: clamp(300px, calc(var(--vw) * 392), 480px);
  }

  .formBlock__visuals:has(.formBlock__expert-card) {
    bottom: clamp(-480px, calc(var(--vw) * -392), -300px);
  }

  .formBlock__magazine {
    left: 0;
    top: 0;
    bottom: 0;
    width: 100vw !important;
    max-width: none !important;
    height: auto;
    z-index: 2;
  }

  .formBlock__vertical-text {
    bottom: 0px;
    top: auto;
    left: 50%;
    transform-origin: center;
    transform: translateX(-50%);
    width: 100vw;
    height: auto;
  }

  .formBlock__expert-img {
    position: absolute;
    bottom: 0;
    left: auto;
    right: 0;
    transform: translateX(5%);
    width: 60vw;
    height: auto;
    object-fit: cover;
  }

  .formBlock__expert-card {
    position: absolute;
    right: auto;
    top: auto;
    transform: none;
    left: clamp(15px, calc(var(--vw) * 27), 40px);
    bottom: clamp(60px, calc(var(--vw) * 96), 120px);
    width: clamp(160px, calc(var(--vw) * 205), 260px);
    padding: clamp(15px, calc(var(--vw) * 20), 28px) clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .formBlock__expert-header {
    margin-bottom: clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .formBlock__expert-name {
    font-size: clamp(14px, calc(var(--vw) * 16), 20px);
    margin-bottom: clamp(2px, calc(var(--vw) * 3), 5px);
  }

  .formBlock__expert-role {
    font-size: clamp(9px, calc(var(--vw) * 10), 13px);
  }

  .formBlock__expert-list {
    gap: clamp(10px, calc(var(--vw) * 12), 16px);
  }

  .formBlock__expert-item {
    font-size: clamp(10px, calc(var(--vw) * 12), 15px);
    padding-left: clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .formBlock__expert-item::before {
    width: clamp(4px, calc(var(--vw) * 6), 8px);
    height: clamp(4px, calc(var(--vw) * 6), 8px);
    top: 0.3em;
  }
}

.about {
  background-color: #f6f6f6;
  width: 100%;
  overflow: hidden;
  padding-top: clamp(80px, calc(var(--vw) * 120), 160px);
}

.about__container {
  width: 100%;
  max-width: clamp(960px, calc(var(--vw) * 1281), 1708px);
  margin: 0 auto;
  padding: 0 clamp(30px, calc(var(--vw) * 60), 80px);
}


.about__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(30px, calc(var(--vw) * 50), 66.6px);

  margin-bottom: 0;
}

.about__info {
  flex: 1;
  max-width: clamp(400px, calc(var(--vw) * 550), 733.3px);
}

.about__title {
  color: #222222;

  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(32px, calc(var(--vw) * 52), 69.3px);
  margin-bottom: clamp(30px, calc(var(--vw) * 50), 66.6px);
}

.about__list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(15px, calc(var(--vw) * 25), 33.3px);
}

.about__item {
  position: relative;
  color: #222222;

  font-weight: 400;
  line-height: 1.4;
  font-size: clamp(13px, calc(var(--vw) * 18), 24px);
  padding-left: clamp(25px, calc(var(--vw) * 35), 46.6px);
}


.about__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.2em;
  width: clamp(16px, calc(var(--vw) * 20), 26.6px);
  height: clamp(16px, calc(var(--vw) * 20), 26.6px);
  background-color: #21cb5f;
  border-radius: 2px;
}

.about__item strong {
  font-weight: 600;
}


.about__visual {
  position: relative;
  width: clamp(340px, calc(var(--vw) * 620), 826.6px);
  height: clamp(300px, calc(var(--vw) * 440), 586.6px);
  flex-shrink: 0;
}

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


.about__overlays {
  position: absolute;

  right: clamp(15px, calc(var(--vw) * 30), 40px);
  bottom: clamp(15px, calc(var(--vw) * 30), 40px);
  display: flex;
  z-index: 15;
}


.about__google-card {
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(15px);
  padding: clamp(15px, calc(var(--vw) * 20), 26.6px);
  width: clamp(220px, calc(var(--vw) * 250), 333.3px);
  color: #ffffff;
}

.contacts__map .about__google-card {
  color: #222;
  background: rgba(255, 255, 255, 0.2);
}

.about__google-title {

  font-weight: 400;
  font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
  margin-bottom: 8px;
}

.about__google-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;
}

.about__google-score {

  font-weight: 600;
  font-size: clamp(14px, calc(var(--vw) * 17), 22.6px);
}

.about__google-reviews {

  font-weight: 400;
  font-size: clamp(10px, calc(var(--vw) * 14), 18.6px);
  margin-bottom: 5px;
}

.about__google-link {
  color: #21cb5f;

  font-weight: 600;
  font-size: clamp(10px, calc(var(--vw) * 14), 18.6px);
  text-decoration: underline;
}

.about__google-stars {
  display: inline-block;
  height: 14px;
  width: 75px;
  background-repeat: repeat-x;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M11.4775 13.9509L7.50331 12.5633L3.52911 13.9509C3.42625 13.9864 3.31605 13.9965 3.2083 13.9801C3.10054 13.9637 2.99856 13.9214 2.91142 13.857C2.82427 13.7925 2.75464 13.7079 2.70872 13.6106C2.6628 13.5134 2.642 13.4065 2.64817 13.2994L2.73427 9.17568L0.137799 5.87931C0.0720353 5.79541 0.0280654 5.69701 0.00969994 5.59263C-0.0086655 5.48824 -0.000872375 5.38103 0.032404 5.28028C0.0656803 5.17953 0.123436 5.08828 0.200665 5.01444C0.277895 4.9406 0.372268 4.88639 0.475606 4.85652L4.56241 3.70344L6.96017 0.283297C7.021 0.195962 7.10255 0.124522 7.19776 0.07516C7.29298 0.0257976 7.39899 0 7.50662 0C7.61426 0 7.72027 0.0257976 7.81548 0.07516C7.9107 0.124522 7.99225 0.195962 8.05308 0.283297L10.4442 3.70344L14.5244 4.87607C14.6277 4.90593 14.7221 4.96014 14.7993 5.03398C14.8766 5.10782 14.9343 5.19907 14.9676 5.29982C15.0009 5.40058 15.0087 5.50779 14.9903 5.61217C14.9719 5.71655 14.928 5.81496 14.8622 5.89885L12.2723 9.17568L12.3916 13.3189C12.3966 13.4284 12.3736 13.5373 12.3245 13.6356C12.2754 13.7339 12.2019 13.8185 12.1108 13.8815C12.0197 13.9445 11.9139 13.9839 11.8032 13.996C11.6925 14.0081 11.5805 13.9926 11.4775 13.9509Z' fill='rgba(255,255,255,0.3)'/%3E%3C/svg%3E");
}

.about__google-stars-fill {
  height: 100%;
  background-repeat: repeat-x;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M11.4775 13.9509L7.50331 12.5633L3.52911 13.9509C3.42625 13.9864 3.31605 13.9965 3.2083 13.9801C3.10054 13.9637 2.99856 13.9214 2.91142 13.857C2.82427 13.7925 2.75464 13.7079 2.70872 13.6106C2.6628 13.5134 2.642 13.4065 2.64817 13.2994L2.73427 9.17568L0.137799 5.87931C0.0720353 5.79541 0.0280654 5.69701 0.00969994 5.59263C-0.0086655 5.48824 -0.000872375 5.38103 0.032404 5.28028C0.0656803 5.17953 0.123436 5.08828 0.200665 5.01444C0.277895 4.9406 0.372268 4.88639 0.475606 4.85652L4.56241 3.70344L6.96017 0.283297C7.021 0.195962 7.10255 0.124522 7.19776 0.07516C7.29298 0.0257976 7.39899 0 7.50662 0C7.61426 0 7.72027 0.0257976 7.81548 0.07516C7.9107 0.124522 7.99225 0.195962 8.05308 0.283297L10.4442 3.70344L14.5244 4.87607C14.6277 4.90593 14.7221 4.96014 14.7993 5.03398C14.8766 5.10782 14.9343 5.19907 14.9676 5.29982C15.0009 5.40058 15.0087 5.50779 14.9903 5.61217C14.9719 5.71655 14.928 5.81496 14.8622 5.89885L12.2723 9.17568L12.3916 13.3189C12.3966 13.4284 12.3736 13.5373 12.3245 13.6356C12.2754 13.7339 12.2019 13.8185 12.1108 13.8815C12.0197 13.9445 11.9139 13.9839 11.8032 13.996C11.6925 14.0081 11.5805 13.9926 11.4775 13.9509Z' fill='%23FFBB28'/%3E%3C/svg%3E");
}


.about__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 20px;
  height: 20px;
  background-color: #21cb5f;
  border-radius: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1.5 5L4.5 8L10.5 1.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
}

.about__logo {

  position: absolute;
  bottom: 17px;
  right: 6px;
  width: clamp(60px, calc(var(--vw) * 80), 100px);
  height: auto;
  object-fit: contain;
}


.about__stats-wrapper {
  display: flex;
  justify-content: flex-start;

  margin-top: clamp(-70px, calc(var(--vw) * -100), -120px);
  position: relative;
  z-index: 5;
}

@media (max-width: 1190px) AND (min-width:768px) {
  .about__stats-wrapper {
    margin-top: 30px !important;
  }
  /* .about__stats {
    flex-wrap: wrap;
    width: clamp(400px, calc(var(--vw) * 550), 733.3px) !important;
  } */
}

.about__stats {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  flex-direction: row;
  align-items: center;
  /* width: clamp(600px, calc(var(--vw) * 865), 1050px); */
  width: fit-content;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
  padding: clamp(20px, calc(var(--vw) * 35), 46.6px) 0;
}

.about__stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  border-right: 1px dashed #6CAA92;
  padding: 0 clamp(30px, calc(var(--vw) * 45), 45px);
}

.about__stat--last {
  border-right: none;
}

.about__stat-val {
  color: #00501d;
  white-space: nowrap;

  font-weight: 500;
  line-height: 1.1;
  font-size: clamp(28px, calc(var(--vw) * 46), 61.3px);
}

.about__stat-val--dark {
  color: #00501d;
}

.about__stat-val--small {
  color: #21cb5f;
  font-size: clamp(14px, calc(var(--vw) * 22), 29.3px);
}

.about__stat-desc {
  color: #222222;
  white-space: nowrap;

  font-weight: 400;
  line-height: 1.2;
  font-size: clamp(12px, calc(var(--vw) * 18), 24px);
}

.about__stat:last-child .about__stat-val {
  color: #21cb5f;
}

@media (max-width: 768px) {
  .about {
    padding-top: clamp(40px, calc(var(--vw) * 60), 80px);
  }

  .about__container {
    padding: 0 clamp(15px, calc(var(--vw) * 27), 40px);
  }

  .about__top {
    flex-direction: column;
    gap: clamp(20px, calc(var(--vw) * 30), 45px);
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 45px);
  }

  .about__info {
    max-width: 100%;
    padding-left: clamp(10px, calc(var(--vw) * 20), 30px);
    padding-right: clamp(10px, calc(var(--vw) * 20), 30px);
  }

  .about__title {
    font-size: clamp(24px, calc(var(--vw) * 35), 48px);
    margin-bottom: clamp(15px, calc(var(--vw) * 25), 35px);
  }

  .about__list {
    gap: clamp(12px, calc(var(--vw) * 20), 30px);
  }

  .about__item {
    font-size: clamp(13px, calc(var(--vw) * 17), 22px);
    padding-left: clamp(20px, calc(var(--vw) * 30), 45px);
    max-width: 420px;
  }

  .about__item::before {
    width: clamp(14px, calc(var(--vw) * 20), 28px);
    height: clamp(14px, calc(var(--vw) * 20), 28px);
    top: 0.15em;
  }

  .about__visual {
    width: 100%;
    height: clamp(260px, calc(var(--vw) * 380), 500px);
  }

  .about__overlays {
    bottom: clamp(6px, calc(var(--vw) * 10), 15px);
    left: clamp(6px, calc(var(--vw) * 10), 15px);
    right: clamp(6px, calc(var(--vw) * 10), 15px);
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .about__google-card {
    width: clamp(160px, calc(var(--vw) * 224), 300px);
    padding: clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .about__google-title {
    font-size: clamp(10px, calc(var(--vw) * 14), 18px);
  }

  .about__google-score {
    font-size: clamp(10px, calc(var(--vw) * 14), 18px);
  }

  .about__google-reviews,
  .about__google-link {
    font-size: clamp(9px, calc(var(--vw) * 12), 16px);
  }

  .about__logo {
    position: static;
    margin-top: 0;
    width: clamp(70px, calc(var(--vw) * 99), 140px);
    height: 100%;
    display: block;
  }

  .about__stats-wrapper {
    margin-top: 0;
  }

  .about__stats {
    width: 100%;
    padding: clamp(12px, calc(var(--vw) * 20), 30px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }

  .about__stat {
    padding: 0;
    border-right: none;
    align-items: flex-start;
  }

  .about__stat:nth-child(1) {
    border-right: 1px dashed #6CAA92;
    padding-bottom: clamp(12px, calc(var(--vw) * 20), 30px);
    position: relative;
  }

  .about__stat:nth-child(1)::before {
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    width: 200%;
    height: 1px;
    background: #fff;
    border-bottom: 1px dashed #6CAA92;
    z-index: 3;
  }

  .about__stat:nth-child(2) {
    position: relative;
    padding-bottom: clamp(12px, calc(var(--vw) * 20), 30px);
    padding-left: clamp(12px, calc(var(--vw) * 20), 30px);
  }

  .about__stat:nth-child(2)::before {
    position: absolute;
    content: '';
    left: -1px;
    bottom: 1px;
    width: 2px;
    height: clamp(15px, calc(var(--vw) * 22), 32px);
    background: #fff;
    z-index: 3;
  }

  .about__stat:nth-child(3) {
    border-right: 1px dashed #6CAA92;
    padding-top: clamp(12px, calc(var(--vw) * 20), 30px);
  }

  .about__stat:nth-child(4) {
    padding-top: clamp(12px, calc(var(--vw) * 20), 30px);
    padding-left: clamp(12px, calc(var(--vw) * 20), 30px);
    position: relative;
  }

  .about__stat:nth-child(4)::before {
    position: absolute;
    content: '';
    left: -1px;
    top: 0;
    width: 2px;
    height: clamp(15px, calc(var(--vw) * 22), 32px);
    background: #fff;
    z-index: 3;
  }

  .about__stat-val {
    font-size: clamp(28px, calc(var(--vw) * 42), 56px);
  }

  .about__stat-val--small {
    font-size: clamp(12px, calc(var(--vw) * 18), 24px);
  }

  .about__stat-desc {
    font-size: clamp(11px, calc(var(--vw) * 15), 20px);
    white-space: normal;
  }
}



.useful-options {

  padding-top: clamp(60px, calc(var(--vw) * 120), 160px);

}

.useful-options__container {
  width: 100%;

  max-width: clamp(768px, calc(var(--vw) * 1161), 1548px);
  margin: 0 auto;
  padding: 0 clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.useful-options__title {
  color: #222;
  text-align: center;
  font-weight: 700;
  line-height: 1.1;

  font-size: clamp(28px, calc(var(--vw) * 52), 69.3px);
  margin-bottom: clamp(30px, calc(var(--vw) * 50), 66.6px);
}

.useful-options__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  row-gap: clamp(30px, calc(var(--vw) * 50), 66.6px);
  column-gap: clamp(10px, calc(var(--vw) * 21), 28px);
}

.useful-options__card {
  display: flex;
  flex-direction: column;
}

.useful-options__image-wrapper {
  width: 100%;
  aspect-ratio: 373 / 267;
  background-color: #3a3a3a;
  overflow: hidden;
  margin-bottom: clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.useful-options__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.useful-options__content {
  display: flex;
  flex-direction: column;

  gap: clamp(10px, calc(var(--vw) * 15), 20px);
  padding: 0 clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.useful-options__card-title {
  color: #222;
  font-weight: 700;
  line-height: 1.2;

  font-size: clamp(16px, calc(var(--vw) * 20), 26.6px);
}

.useful-options__card-desc {
  color: #222;
  font-weight: 400;
  line-height: 1.2;

  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
  flex-grow: 1;
}

.useful-options__link {
  color: #00812f;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: underline;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
  transition: color 0.3s ease;
}

.useful-options__link:hover {
  color: #005a21;
  text-decoration: none;
}

@media (max-width: 768px) {
  .useful-options {
    padding-top: clamp(60px, calc(var(--vw) * 100), 140px);
  }

  .useful-options__container {
    width: 100%;
    padding: 0 clamp(15px, calc(var(--vw) * 27), 40px);
  }

  .useful-options__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(30px, calc(var(--vw) * 50), 75px);
  }

  .useful-options__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }

  .useful-options__image-wrapper {
    width: 100%;
    aspect-ratio: 360 / 267;
    margin-bottom: clamp(14px, calc(var(--vw) * 20), 28px);
  }

  .useful-options__content {
    padding: 0 clamp(14px, calc(var(--vw) * 20), 28px);
    gap: clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .useful-options__card-title {
    font-size: clamp(16px, calc(var(--vw) * 20), 28px);
  }

  .useful-options__card-desc {
    font-size: clamp(12px, calc(var(--vw) * 14), 18px);
  }

  .useful-options__link {
    font-size: clamp(12px, calc(var(--vw) * 14), 18px);
  }

  .useful-options__title {
    font-size: clamp(20px, calc(var(--vw) * 28), 38px);
    margin-bottom: clamp(25px, calc(var(--vw) * 40), 60px);
    text-align: left;
    padding-left: clamp(14px, calc(var(--vw) * 20), 28px);
  }
}


.technology {
  background-color: #f6f6f6;
  width: 100%;
  overflow: hidden;

  padding-top: clamp(80px, calc(var(--vw) * 120), 160px);
}

.technology__container {
  width: 100%;
  max-width: clamp(960px, calc(var(--vw) * 1231), 1828px);
  margin: 0 auto;

  /* Как ты и просил — строго без боковых паддингов, 
       отступы теперь формируются за счет max-width и авто-маржинов */
  padding: 0;
}

.technology__title {
  color: #222222;
  text-align: center;

  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(32px, calc(var(--vw) * 52), 69.3px);
  margin-bottom: clamp(40px, calc(var(--vw) * 54), 80px);
}


.technology__grid {
  display: flex;
  justify-content: space-between;

  gap: clamp(20px, calc(var(--vw) * 30), 40px);
}


.technology__features {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
  gap: clamp(25px, calc(var(--vw) * 40), 53.3px);
  width: clamp(320px, calc(var(--vw) * 571), 761.3px);
  flex-shrink: 0;
}

.technology__feature-group {
  display: flex;
  flex-direction: column;

  gap: clamp(15px, calc(var(--vw) * 30), 40px);
}

.technology__feature-header {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: clamp(10px, calc(var(--vw) * 15), 20px);
}

.technology__check-icon {
  width: clamp(20px, calc(var(--vw) * 26), 34.6px);
  height: clamp(20px, calc(var(--vw) * 26), 34.6px);
  flex-shrink: 0;

  margin-top: 2px;
}

.technology__feature-title {
  color: #222222;
  font-size: clamp(12px, calc(var(--vw) * 22), 29.3px);
  line-height: 1.3;
}

.technology__feature-title--regular {

  font-weight: 500;
}

.technology__feature-title--bold {

  font-weight: 700;
}


.technology__cards {
  display: flex;
  flex-direction: row;

  gap: clamp(12px, calc(var(--vw) * 20), 26.6px);
}

.technology__card {
  position: relative;
  background-color: #3a3a3a;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: clamp(100px, calc(var(--vw) * 177), 236px);
  height: clamp(120px, calc(var(--vw) * 236), 314.6px);
  padding: clamp(10px, calc(var(--vw) * 20), 20px);
}

.technology__card-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}


.technology__card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: linear-gradient(to top, rgba(34, 34, 34, 0.95) 0%, rgba(34, 34, 34, 0) 100%);
  z-index: 1;
  pointer-events: none;
}

.technology__card-text {
  position: relative;
  z-index: 2;
  color: #ffffff;
  text-align: center;

  font-weight: 400;
  line-height: 1.2;
  font-size: clamp(8px, calc(var(--vw) * 12), 16px);
}


.technology__slider-col {
  position: relative;
  background-color: #3a3a3a;
  overflow: hidden;
  width: clamp(320px, calc(var(--vw) * 560), 746.6px);

  flex-shrink: 0;
}


.technology__slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.technology__slider-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.technology__slider-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(20px, calc(var(--vw) * 30), 40px);

  background:
    linear-gradient(180deg, rgba(34, 34, 34, 0.85) 0%, rgba(34, 34, 34, 0) 35%),
    linear-gradient(0deg, rgba(34, 34, 34, 0.85) 0%, rgba(34, 34, 34, 0) 30%);
  pointer-events: none;
}


.technology__slider-bottom {
  pointer-events: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.technology__slider-title {
  color: #ffffff;

  font-weight: 700;
  line-height: 1.2;
  font-size: clamp(18px, calc(var(--vw) * 26), 34.6px);
  margin-bottom: clamp(10px, calc(var(--vw) * 16), 21.3px);
}

.technology__slider-desc {
  color: #ffffff;

  font-weight: 400;
  line-height: 1.2;
  font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
}


.technology__pagination {
  display: flex;
  flex-direction: row;
  margin-left: clamp(0, calc(var(--vw) * 20), 26.3px);
  margin-top: clamp(12px, calc(var(--vw) * 20), 26.3px);
  gap: clamp(6px, calc(var(--vw) * 10), 13.3px);
}

.technology__pagination .swiper-pagination-bullet {
  width: clamp(10px, calc(var(--vw) * 15), 20px);
  height: clamp(10px, calc(var(--vw) * 15), 20px);
  background-color: #ffffff;
  opacity: 0.4;
  border-radius: 50%;
  margin: 0 !important;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.technology__pagination .swiper-pagination-bullet-active {
  opacity: 1;
}


.technology__slider-btn {
  width: clamp(220px, calc(var(--vw) * 300), 400px);

}

@media (max-width: 768px) {
  .technology {
    padding-top: clamp(60px, calc(var(--vw) * 100), 140px);
  }

  .technology__container {
    padding: 0 clamp(15px, calc(var(--vw) * 27), 40px);
  }

  .technology__title {
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
    text-align: left;
    margin-bottom: clamp(15px, calc(var(--vw) * 20), 30px);
    padding-left: clamp(15px, calc(var(--vw) * 20), 30px);
    padding-right: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .technology__grid {
    flex-direction: column;
    gap: clamp(8px, calc(var(--vw) * 10), 16px);
  }

  .technology__features {
    width: 100%;
    gap: clamp(25px, calc(var(--vw) * 40), 60px);
  }

  .technology__feature-group {
    gap: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .technology__feature-header {
    align-items: flex-start;
    padding-left: clamp(15px, calc(var(--vw) * 20), 30px);
    padding-right: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .technology__feature-title {
    font-size: clamp(14px, calc(var(--vw) * 18), 28px);
    line-height: 1.3;
  }

  .technology__check-icon {
    width: clamp(20px, calc(var(--vw) * 26), 36px);
    height: clamp(20px, calc(var(--vw) * 26), 36px);
    margin-top: 0;
  }

  .technology__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(8px, calc(var(--vw) * 10), 16px);
  }

  .technology__card {
    width: 100%;
    height: clamp(180px, calc(var(--vw) * 236), 320px);
    padding: clamp(10px, calc(var(--vw) * 15), 22px) clamp(8px, calc(var(--vw) * 10), 16px);
  }

  .technology__card-text {
    font-size: clamp(10px, calc(var(--vw) * 12), 16px);
  }

  .technology__slider-col {
    width: 100%;
    height: clamp(400px, calc(var(--vw) * 530), 760px);
    border: none;
    background: transparent;
  }

  .technology__slider {
    height: clamp(320px, calc(var(--vw) * 450), 650px);
  }

  .technology__slider-content {
    height: clamp(320px, calc(var(--vw) * 450), 650px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    padding: clamp(15px, calc(var(--vw) * 20), 30px);
    background:
      linear-gradient(180deg, rgba(34, 34, 34, 1) 0%, rgba(34, 34, 34, 0) 60%),
      linear-gradient(0deg, rgba(34, 34, 34, 0.85) 0%, rgba(34, 34, 34, 0) 30%);
  }

  .technology__slider-title {
    font-size: clamp(20px, calc(var(--vw) * 26), 36px);
    margin-bottom: clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .technology__slider-desc {
    font-size: clamp(12px, calc(var(--vw) * 16), 22px);
    max-width: clamp(200px, calc(var(--vw) * 240), 342px);
  }

  .technology__pagination {
    left: clamp(15px, calc(var(--vw) * 20), 30px);
    bottom: clamp(15px, calc(var(--vw) * 20), 30px);
    margin-left: 0;
  }

  .technology__pagination .swiper-pagination-bullet {
    width: clamp(10px, calc(var(--vw) * 15), 22px);
    height: clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .technology__slider-btn {
    position: absolute;
    top: clamp(330px, calc(var(--vw) * 460), 670px);
    left: 0;
    width: 100% !important;
    height: clamp(50px, calc(var(--vw) * 70), 90px);
  }
}



.comfort-space__main-card,
.comfort-space__project-card {
  position: relative;
  overflow: hidden;
  background-color: #193c29;

}

.comfort-space__main-card-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  z-index: 0;
}




.comfort-space__main-card-content,
.comfort-space__project-info {
  position: relative;
  z-index: 2;
}


.comfort-space {
  background-color: #f6f6f6;
  width: 100%;
  overflow: hidden;
}


.comfort-space__arrow {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.comfort-space__arrow svg {
  width: 100%;
  height: auto;
  display: block;
}

.comfort-space__arrow.swiper-button-disabled {
  opacity: 0.15;
  pointer-events: none;
}

.comfort-space__project-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-width: 0;
  max-width: 100% !important;
}

@media (min-width: 769px) {
  .comfort-space {

    padding-top: clamp(80px, calc(var(--vw) * 120), 160px);

  }

  .comfort-space__container {
    width: 100%;

    max-width: clamp(960px, calc(var(--vw) * 1281), 1708px);
    margin: 0 auto;
    padding: 0 clamp(30px, calc(var(--vw) * 60), 80px);
  }


  .comfort-space__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: clamp(35px, calc(var(--vw) * 50), 66.6px);
  }

  .comfort-space__title {
    color: #222222;

    font-weight: 700;
    line-height: 1.1;
    font-size: clamp(32px, calc(var(--vw) * 52), 69.3px);
    max-width: clamp(800px, calc(var(--vw) * 1100), 1466px);
    margin-bottom: clamp(15px, calc(var(--vw) * 20), 26.6px);
  }

  .comfort-space__subtitle {
    color: #222222;

    font-weight: 500;
    line-height: 1.4;
    font-size: clamp(16px, calc(var(--vw) * 24), 32px);
    max-width: clamp(500px, calc(var(--vw) * 751), 1001px);
  }


  .comfort-space__slider-wrap {
    display: flex;
    align-items: center;

    gap: clamp(20px, calc(var(--vw) * 40), 53.3px);
  }


  .comfort-space__slider {
    flex-grow: 1;
    min-width: 0;

    overflow: hidden;
  }


  .comfort-space__main-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #193c29;
    border: 1px solid rgba(255, 255, 255, 0.4);
    overflow: hidden;
    flex-shrink: 0;
    width: clamp(320px, calc(var(--vw) * 485), 646.6px);
    height: clamp(300px, calc(var(--vw) * 420), 560px);
    padding: clamp(30px, calc(var(--vw) * 50), 66.6px);
  }

  .comfort-space__main-card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.2;
    pointer-events: none;
  }

  .comfort-space__main-card-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .comfort-space__main-card-title {
    color: #ffffff;

    font-weight: 700;
    line-height: 1.1;
    font-size: clamp(24px, calc(var(--vw) * 32), 42.6px);
    margin-bottom: clamp(15px, calc(var(--vw) * 18), 25px);
  }

  .comfort-space__main-card-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: clamp(8px, calc(var(--vw) * 10), 16px);
    flex-grow: 1;

  }

  .comfort-space__main-card-item {
    position: relative;
    color: #ffffff;

    font-weight: 400;
    line-height: 1.2;
    font-size: clamp(14px, calc(var(--vw) * 16), 21.3px);
    padding-left: clamp(12px, calc(var(--vw) * 16), 21.3px);
  }


  .comfort-space__main-card-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.4em;

    width: clamp(4px, calc(var(--vw) * 6), 8px);
    height: clamp(4px, calc(var(--vw) * 6), 8px);
    background-color: #21cb5f;
  }

  .comfort-space__main-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #21cb5f;
    box-shadow: inset 0px 4px 18px 0px rgba(255, 255, 255, 0.11);
    color: #ffffff;

    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: background-color 0.3s ease;
    font-size: clamp(14px, calc(var(--vw) * 16), 21.3px);
    width: clamp(220px, calc(var(--vw) * 300), 400px);
    height: clamp(50px, calc(var(--vw) * 70), 93.3px);
  }

  .comfort-space__main-card-btn:hover {
    background-color: #1a9f4a;
  }


  .comfort-space__project-card.swiper-slide {
    position: relative;
    overflow: hidden;
    height: clamp(300px, calc(var(--vw) * 420), 560px);
    width: clamp(180px, calc(var(--vw) * 265), 353.3px);
    min-width: 0;
  }



  .comfort-space__project-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;

    background: linear-gradient(to top, rgba(34, 34, 34, 0.9) 0%, rgba(34, 34, 34, 0) 100%);
    display: flex;
    flex-direction: column;
    padding: clamp(15px, calc(var(--vw) * 25), 33.3px);
    padding-top: clamp(40px, calc(var(--vw) * 60), 80px);
  }

  .comfort-space__project-title {
    color: #ffffff;

    font-weight: 500;
    line-height: 1.1;
    font-size: clamp(18px, calc(var(--vw) * 24), 32px);
    margin-bottom: clamp(6px, calc(var(--vw) * 8), 10.6px);
  }

  .comfort-space__project-location {
    color: #ffffff;

    font-weight: 400;
    line-height: 1.1;
    opacity: 0.7;
    font-size: clamp(14px, calc(var(--vw) * 16), 21.3px);
  }


  .comfort-space__controls {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: clamp(18px, calc(var(--vw) * 25), 33.3px);
    gap: clamp(15px, calc(var(--vw) * 25), 33.3px);
  }

  .comfort-space__pagination {
    display: flex;
    flex-direction: column;
    gap: clamp(15px, calc(var(--vw) * 25), 33.3px);
  }


  .comfort-space__pagination .swiper-pagination-bullet {
    width: clamp(18px, calc(var(--vw) * 25), 33.3px);
    height: clamp(18px, calc(var(--vw) * 25), 33.3px);
    border-radius: 50%;
    background-color: #00812f;
    opacity: 0.1;
    margin: 0 !important;

    cursor: pointer;
    transition: opacity 0.3s ease;
  }

  .comfort-space__pagination .swiper-pagination-bullet-active {
    opacity: 1;
  }
}


@media (max-width: 768px) {
  .comfort-space {
    padding-top: clamp(70px, calc(var(--vw) * 100), 140px);
    padding-bottom: 0;
  }

  .comfort-space__container {
    padding: 0 clamp(15px, calc(var(--vw) * 27), 40px);
  }

  .comfort-space__header {
    align-items: flex-start;
    text-align: left;
    margin-bottom: clamp(25px, calc(var(--vw) * 40), 60px);
    padding-left: clamp(10px, calc(var(--vw) * 20), 30px);
    padding-right: clamp(10px, calc(var(--vw) * 20), 30px);
  }

  .comfort-space__title {
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
    line-height: 1.1;
    margin-bottom: clamp(15px, calc(var(--vw) * 20), 30px);
    max-width: 500px;
  }

  .comfort-space__subtitle {
    font-size: clamp(14px, calc(var(--vw) * 18), 24px);
    line-height: 1.3;
    max-width: 440px;
  }

  .comfort-space__slider-wrap {
    display: flex;
    flex-direction: column;
    gap: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .comfort-space__main-card {
    width: 100%;
    padding: clamp(20px, calc(var(--vw) * 30), 45px);
    display: flex;
    flex-direction: column;
  }

  .comfort-space__main-card-bg {
    opacity: 0.2;
  }

  .comfort-space__main-card-content {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .comfort-space__main-card-title {
    color: #ffffff;
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
    line-height: 1.1;
    margin-bottom: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .comfort-space__main-card-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: clamp(8px, calc(var(--vw) * 10), 16px);
    flex-grow: 1;
  }

  .comfort-space__main-card-item {
    color: #ffffff;
    font-size: clamp(14px, calc(var(--vw) * 16), 22px);
    line-height: 1.2;
    position: relative;
    padding-left: clamp(14px, calc(var(--vw) * 18), 26px);
  }

  .comfort-space__main-card-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.35em;
    width: clamp(4px, calc(var(--vw) * 6), 10px);
    height: clamp(4px, calc(var(--vw) * 6), 10px);
    background-color: #21cb5f;
  }

  .comfort-space__main-card-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: clamp(50px, calc(var(--vw) * 70), 90px);
    background-color: #21cb5f;
    color: #ffffff;
    font-size: clamp(14px, calc(var(--vw) * 16), 22px);
    text-decoration: none;
    margin-top: clamp(25px, calc(var(--vw) * 40), 60px);
  }

  .comfort-space__slider {
    width: 100vw;
    overflow: hidden;

    margin-left: clamp(-40px, calc(var(--vw) * -1 * 27), -15px) !important;
    margin-right: clamp(-40px, calc(var(--vw) * -1 * 27), -15px) !important;
    padding-left: clamp(15px, calc(var(--vw) * 27), 40px) !important;
    padding-right: clamp(15px, calc(var(--vw) * 27), 40px) !important;
  }

  .comfort-space__project-card {
    width: 100%;
    height: clamp(300px, calc(var(--vw) * 420), 600px);
  }

  .comfort-space__project-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: clamp(15px, calc(var(--vw) * 20), 30px);
    padding-top: clamp(40px, calc(var(--vw) * 60), 90px);
    background: linear-gradient(to top, rgba(34, 34, 34, 0.9) 0%, rgba(34, 34, 34, 0) 100%);
    display: flex;
    flex-direction: column;
  }

  .comfort-space__project-title {
    color: #ffffff;
    font-size: clamp(18px, calc(var(--vw) * 24), 36px);
    margin-bottom: clamp(6px, calc(var(--vw) * 8), 14px);
  }

  .comfort-space__project-location {
    color: #ffffff;
    font-size: clamp(14px, calc(var(--vw) * 16), 22px);
    opacity: 0.7;
  }

  .comfort-space__controls {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    gap: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .comfort-space__arrow {
    width: clamp(20px, calc(var(--vw) * 25), 35px);
    height: clamp(20px, calc(var(--vw) * 25), 35px);
    flex-shrink: 0;
  }

  .comfort-space__arrow--prev {
    order: -1;
  }

  .comfort-space__arrow--next {
    order: 1;
  }

  .comfort-space__pagination {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(8px, calc(var(--vw) * 12), 18px);
    order: 0;
  }

  .comfort-space__pagination .swiper-pagination-bullet {
    width: clamp(15px, calc(var(--vw) * 25), 35px) !important;
    height: clamp(15px, calc(var(--vw) * 25), 35px) !important;
    background-color: #00812f !important;
    opacity: 0.15 !important;
    margin: 0 !important;
  }

  .comfort-space__pagination .swiper-pagination-bullet-active {
    opacity: 1 !important;
  }

  .comfort-space__project-bg {
    aspect-ratio: 36 / 42;
  }
}

#_overlayImage_pixelPerfect {
  position: absolute !important;
}


.conditions {
  background-color: #f6f6f6;
  width: 100%;
  overflow: hidden;
  padding-top: clamp(100px, calc(var(--vw) * 120), 160px);
}

.conditions__container {
  width: 100%;

  max-width: clamp(960px, calc(var(--vw) * 1440), 1920px);
  margin: 0 auto;

  padding: 0 clamp(40px, calc(var(--vw) * 140), 186.6px);
}

.conditions__title {
  color: #222222;
  text-align: center;

  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(32px, calc(var(--vw) * 52), 69.3px);
  margin-bottom: clamp(40px, calc(var(--vw) * 70), 93.3px);
}


.conditions__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: clamp(15px, calc(var(--vw) * 25), 33.3px);
}


.conditions__card {
  background-color: #ffffff;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;

  min-height: clamp(120px, calc(var(--vw) * 210), 280px);
}


.conditions__card--dark {
  background-repeat: no-repeat;
  background-size: cover;
}


.conditions__card-content {
  position: relative;
  z-index: 2;
  padding: clamp(20px, calc(var(--vw) * 30), 40px);
}

.conditions__card-title {
  color: #222222;
  font-weight: 700;
  line-height: 1.2;
  font-size: clamp(10px, calc(var(--vw) * 20), 26.6px);
  margin-bottom: clamp(8px, calc(var(--vw) * 10), 13.3px);
}

.conditions__card-title--white {
  color: #ffffff;
}

.conditions__card-desc {
  color: #222222;
  font-weight: 400;
  line-height: 1.2;
  font-size: clamp(8px, calc(var(--vw) * 14), 18.6px);
}

.conditions__card-desc--white {
  color: #ffffff;
  margin-bottom: clamp(15px, calc(var(--vw) * 20), 26.6px);
}


.conditions__card-link {
  display: inline-block;
  color: #21cb5f;

  font-weight: 700;
  font-size: clamp(10px, calc(var(--vw) * 14), 18.6px);
  text-decoration: underline;
  transition: text-decoration 0.3s ease;
}

.conditions__card-link:hover {
  text-decoration: none;
}


.conditions__card-img {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  object-fit: contain;

  width: clamp(120px, calc(var(--vw) * 180), 240px);
}


.conditions__card-img--doc {
  width: clamp(82px, calc(var(--vw) * 153.33), 204px);
}


.conditions__card-img--profiles {
  width: clamp(128px, calc(var(--vw) * 240), 320px);
}


.conditions__card-img--calc {
  width: clamp(88px, calc(var(--vw) * 160), 210px);
}


.conditions__card-img--install {
  width: clamp(85px, calc(var(--vw) * 160), 213px);
}


.conditions__card-img--terrace {
  width: clamp(80px, calc(var(--vw) * 150), 200px);
}


.conditions__card-img--mockup {
  width: clamp(93px, calc(var(--vw) * 174), 232px);
}


/* @media (max-width: 1050px) {


  .conditions__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
} */

@media (max-width: 768px) {
  .conditions__container {
    padding: 0 clamp(15px, calc(var(--vw) * 27), 40px);
  }

  .conditions__grid {
    display: flex;
    flex-direction: column;
  }

  .conditions__title {
    text-align: left;
    padding-left: clamp(14px, calc(var(--vw) * 20), 28px);
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
  }

  .conditions__card-title {
    font-size: clamp(16px, calc(var(--vw) * 20), 28px);
    line-height: 1.2;
    margin-bottom: clamp(6px, calc(var(--vw) * 10), 16px);
  }

  .conditions__card {
    min-height: clamp(150px, calc(var(--vw) * 175), 300px);
  }

  .conditions__card-desc {
    font-size: clamp(12px, calc(var(--vw) * 14), 18px);
  }

  .conditions__card-img--doc {
    width: clamp(110px, calc(var(--vw) * 153), 220px);
  }

  .conditions__card-img--profiles {
    width: clamp(180px, calc(var(--vw) * 240), 340px);
  }

  .conditions__card-img--calc {
    width: clamp(120px, calc(var(--vw) * 160), 230px);
  }

  .conditions__card-img--install {
    width: clamp(120px, calc(var(--vw) * 160), 230px);
    transform: translateX(13%);
  }

  .conditions__card-img--terrace {
    width: clamp(110px, calc(var(--vw) * 150), 220px);
    transform: translateX(39%) translateY(-14%) scale(1.3);
  }

  .conditions__card-img--mockup {
    width: clamp(130px, calc(var(--vw) * 179), 260px);
  }

  .conditions__card:nth-child(1) .conditions__card-content{
    padding-right: 28%;
  }
    .conditions__card:nth-child(2) .conditions__card-content{
    padding-bottom: 26%;
  }
    .conditions__card:nth-child(3) .conditions__card-content{
    padding-right: 40%;
  }
    .conditions__card:nth-child(4) .conditions__card-content{
    padding-right: 27%;
  }
    .conditions__card:nth-child(5) .conditions__card-content{
    padding-right: 27%;
    
  }
    .conditions__card:nth-child(6) .conditions__card-desc{
    padding-right: 35%;
  }
}

.calc {
  background-color: #f6f6f6;
  width: 100%;
  overflow: hidden;
  padding-top: clamp(80px, calc(var(--vw) * 120), 160px);
}

.calc__container {
  width: 100%;
  max-width: clamp(960px, calc(var(--vw) * 1440), 1920px);
  margin: 0 auto;

  padding: 0 clamp(40px, calc(var(--vw) * 140), 186.6px);
}


.calc__header {
  text-align: center;
  margin-bottom: clamp(25px, calc(var(--vw) * 40), 53.3px);
}

.calc__title {
  color: #222222;
  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(32px, calc(var(--vw) * 52), 69.3px);
  margin-bottom: clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.calc__subtitle {
  color: #222222;
  font-weight: 500;
  line-height: 1.3;
  font-size: clamp(16px, calc(var(--vw) * 24), 32px);
}


.calc__progress {
  position: relative;
  width: 100%;
  height: clamp(20px, calc(var(--vw) * 30), 40px);
  margin-bottom: clamp(30px, calc(var(--vw) * 50), 66.6px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.calc__progress-track {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 129, 47, 0.06);
}

.calc__progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #00812f url('../img/calc__progress-fill.png') 0 0 repeat-x;
  background-size: auto 100%;
  transition: width 0.4s ease;
}

.calc__progress-text {
  position: relative;
  z-index: 2;
  color: #666666;
  font-weight: 400;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
}


.calc__slider {
  width: 100%;
  overflow: hidden;
}

.calc__step {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}


.calc__left {
  width: clamp(500px, calc(var(--vw) * 790), 1053.3px);
  flex-shrink: 0;
  position: relative;
}

.calc__step-title {
  color: #222222;
  font-weight: 600;
  line-height: 1.2;
  font-size: clamp(22px, calc(var(--vw) * 32), 42.6px);
  margin-bottom: clamp(15px, calc(var(--vw) * 28), 37.3px);
}

.calc__left-img {
  width: 100%;
  aspect-ratio: 4 / 3;
  max-width: 100%;
}

.calc__left-img-base {
  position: absolute;
  left: 0;top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.calc__right {
  width: clamp(260px, calc(var(--vw) * 320), 426.6px);
  display: flex;
  flex-direction: column;
}

.calc__schema {
  width: clamp(140px, calc(var(--vw) * 206), 274.6px);
  height: auto;
  margin-top: clamp(-70px, calc(var(--vw) * 58 * -1), -30px);
  object-fit: contain;
  align-self: center;
  margin-bottom: clamp(20px, calc(var(--vw) * 30), 40px);
}

.calc__fields {
  display: flex;
  flex-direction: column;
  gap: clamp(15px, calc(var(--vw) * 20), 26.6px);
  margin-bottom: clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.calc__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.calc__label {
  color: #222222;
  font-weight: 400;
  font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
}


.calc__summary {
  margin-bottom: clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.calc__price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.calc__price-label {
  color: #222222;
  font-weight: 500;
  font-size: clamp(14px, calc(var(--vw) * 18), 24px);
}

.calc__price-value {
  color: #157200;
  font-weight: 700;
  font-size: clamp(24px, calc(var(--vw) * 32), 42.6px);
}

.calc__price-currency {
  color: #157200;
  font-weight: 500;
  font-size: clamp(14px, calc(var(--vw) * 18), 24px);
  margin-right: 4px;
}

.calc__price-vat {
  color: #222222;
  opacity: 0.5;
  font-weight: 400;
  font-size: clamp(14px, calc(var(--vw) * 18), 24px);
}

.calc__price-note {
  color: #222222;
  opacity: 0.7;
  font-style: italic;
  font-weight: 300;
  font-size: clamp(12px, calc(var(--vw) * 15), 20px);
}


.calc__nav {
  display: flex;
  flex-direction: row;
  gap: clamp(8px, calc(var(--vw) * 10), 13.3px);
  align-items: stretch;
}

.calc__btn-prev {
  width: clamp(40px, calc(var(--vw) * 50), 66.6px);
  background: transparent;
  border: 1px solid rgba(33, 203, 95, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.3s ease;
}

.calc__btn-prev:hover {
  background: rgba(33, 203, 95, 0.1);
}

.calc__btn-prev svg {
  width: clamp(16px, calc(var(--vw) * 20), 26.6px);
  height: clamp(16px, calc(var(--vw) * 20), 26.6px);
}

.calc__btn-prev--text {
  width: auto;
  font-size: 14px;
  font-weight: 500;
  font-size: clamp(12px, calc(var(--vw) * 14), 16px);
  letter-spacing: 0.02em;
  gap: 10px;
  color: #21cb5f;
}

.calc__btn-prev--text svg {
  width: clamp(14px, calc(var(--vw) * 16), 20px);
  height: clamp(14px, calc(var(--vw) * 16), 20px);

}


.calc__btn-next {
  flex-grow: 1;
  height: clamp(40px, calc(var(--vw) * 50), 66.6px);
  font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
  cursor: pointer;
}

.choicesWrap .choices {
  margin-bottom: 0;
}

.choicesWrap .choices__inner {
  background-color: #ffffff;
  border: none !important;
  border-radius: 0;
  padding: clamp(10px, calc(var(--vw) * 12), 20px) clamp(15px, calc(var(--vw) * 20), 26.6px) !important;
  min-height: auto;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
  line-height: 1.14;
  color: #555555;
  display: flex;
  align-items: center;
}

.choicesWrap.quiz .choices__inner {
  background: #F6F6F6;
}

.choicesWrap .choices__list--single {
  padding: 0 !important;
}


.choicesWrap .choices[data-type*="select-one"]::after {
  border: none;
  width: 10px;
  height: 6px;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 0.5L5 4.5L9.5 0.5' stroke='%23555555' stroke-linecap='round'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  right: clamp(15px, calc(var(--vw) * 20), 26.6px);
  margin-top: -2px;
  transition: transform 0.3s ease;
}

.choicesWrap .choices.is-open[data-type*="select-one"]::after {
  transform: rotate(180deg);
  margin-top: -2px;
}


.choicesWrap .choices__list--dropdown {
  border: none !important;
  border-radius: 0;

  margin-top: 2px !important;
  word-break: keep-all;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.choicesWrap .choices__list--dropdown .choices__item--selectable {
  background-color: #fff !important;

  padding: 5px clamp(15px, calc(var(--vw) * 20), 26.6px) !important;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px) !important;
  color: #555555;
  transition: color 0.2s ease, background-color 0.2s ease;
}


.choicesWrap .choices__list--dropdown .choices__item--selectable.is-highlighted {
  background-color: #00812F !important;
  color: #fff !important;
}


.calc__radio-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 5px;
}

.calc__radio {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

.calc__radio-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.calc__radio-custom {
  position: relative;
  width: 40px;
  height: 24px;
  background-color: #E5E5E5;
  border-radius: 12px;
  flex-shrink: 0;
  transition: background-color 0.3s ease;
}

.calc__radio-custom::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background-color: #8C8C8C;
  border-radius: 50%;
  transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), background-color 0.3s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M13.5 7.2L12.8 6.5L10 9.3L7.2 6.5L6.5 7.2L9.3 10L6.5 12.8L7.2 13.5L10 10.7L12.8 13.5L13.5 12.8L10.7 10L13.5 7.2Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
}

.calc__radio-input:checked+.calc__radio-custom {
  background-color: #D7EDDF;
}

.calc__radio-input:checked+.calc__radio-custom::before {
  transform: translateX(16px);
  background-color: #21CB5F;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M14.3 6.3L8 12.6L5.7 10.3L5 11L8 14L15 7L14.3 6.3Z' stroke='white' stroke-width='1'/%3E%3C/svg%3E");
}

.calc__radio-text {
  color: #555555;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
  font-weight: 400;
}

.calc__switch {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;

  padding: 5px 0;
}


.calc__switch-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}


.calc__switch-slider {
  position: relative;
  width: 40px;
  height: 24px;
  background-color: #E5E5E5;
  border-radius: 12px;
  flex-shrink: 0;
  transition: background-color 0.3s ease;
}


.calc__switch-slider::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background-color: #8C8C8C;
  border-radius: 50%;
  transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), background-color 0.3s ease;


  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M13.5 7.2L12.8 6.5L10 9.3L7.2 6.5L6.5 7.2L9.3 10L6.5 12.8L7.2 13.5L10 10.7L12.8 13.5L13.5 12.8L10.7 10L13.5 7.2Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
}


.calc__switch-input:checked+.calc__switch-slider {
  background-color: #D7EDDF;
}

.calc__switch-input:checked+.calc__switch-slider::before {

  transform: translateX(16px);
  background-color: #21CB5F;


  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M14.3 6.3L8 12.6L5.7 10.3L5 11L8 14L15 7L14.3 6.3Z' stroke='white' stroke-width='1'/%3E%3C/svg%3E");
}


.calc__switch-text {
  color: #555555;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
  font-weight: 400;
}

@media (max-width: 767px) {
  .calc {
    padding-top: clamp(50px, calc(var(--vw) * 80), 120px);
    padding-bottom: clamp(50px, calc(var(--vw) * 80), 120px);
    margin-top: clamp(60px, calc(var(--vw) * 100), 140px);
    position: relative;
    z-index: 2;
  }

  .calc::before,
  .calc::after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    width: 100%;
    z-index: -1;
    height: clamp(150px, calc(var(--vw) * 300), 450px);
    transform: rotate(180deg);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
  }

  .calc::after {
    transform: rotate(0);
    top: auto;
    bottom: 0;
  }

  .calc__slider {
    padding-bottom: 1px;
  }

  .calc__header {
    text-align: left;
    margin-bottom: clamp(30px, calc(var(--vw) * 50), 75px);
  }

  .calc__title {
    margin-bottom: clamp(14px, calc(var(--vw) * 20), 30px);
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
  }

  .calc__progress {
    height: clamp(20px, calc(var(--vw) * 30), 45px);
  }

  .calc__progress-text {
    font-size: clamp(10px, calc(var(--vw) * 14), 20px);
  }

  .calc__container {
    padding-left: clamp(15px, calc(var(--vw) * 47), 60px);
    padding-right: clamp(15px, calc(var(--vw) * 47), 60px);
  }

  .calc__left,
  .calc__right {
    width: 100%;
  }

  .calc__step {
    flex-direction: column;
    gap: clamp(20px, calc(var(--vw) * 30), 45px);
  }

  .calc__schema {
    margin-top: 0;
    width: 64%;
  }

  .calc__label {
    font-size: clamp(12px, calc(var(--vw) * 16), 22px);
  }

  .choicesWrap .choices__inner {
    font-size: clamp(12px, calc(var(--vw) * 14), 20px);
    padding: clamp(10px, calc(var(--vw) * 13), 18px) clamp(14px, calc(var(--vw) * 20), 30px);
  }

  .calc__fields,
  .calc__summary {
    margin-bottom: clamp(14px, calc(var(--vw) * 20), 30px);
  }

  .calc__price-row {
    font-size: clamp(14px, calc(var(--vw) * 18), 26px);
  }

  .calc__price-value {
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
  }

  .calc__price-note {
    font-size: clamp(12px, calc(var(--vw) * 15), 22px);
  }
.calc__step-title {
  font-size: clamp(16px, calc(var(--vw) * 22), 32px);
  margin-bottom: clamp(10px, calc(var(--vw) * 15), 20px);
}

  .calc__final-desc {
    font-size: clamp(14px, calc(var(--vw) * 18), 26px) !important;
    line-height: 130%;
  }

  .calc__btn-prev {
    width: clamp(35px, calc(var(--vw) * 50), 75px);
  }

  .calc__btn-prev--text {
    width: auto;
    height: clamp(35px, calc(var(--vw) * 50), 75px);
    order: 99;
  }

  .calc__btn-next {
    font-size: clamp(12px, calc(var(--vw) * 16), 22px);
    height: clamp(35px, calc(var(--vw) * 50), 75px);
  }

  .calc__fields {
    gap: clamp(14px, calc(var(--vw) * 20), 30px);
  }

  .calc__field {
    gap: clamp(8px, calc(var(--vw) * 10), 16px);
  }

  .calc__label {
    font-size: clamp(12px, calc(var(--vw) * 16), 22px);
  }

  .calc__radio-text {
    font-size: clamp(12px, calc(var(--vw) * 14), 20px);
  }
}

.calc__checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}


.calc__checkbox-real {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}


.calc__checkbox-custom {
  width: clamp(12px, calc(var(--vw) * 15), 20px);
  height: clamp(12px, calc(var(--vw) * 15), 20px);
  border: 1px solid #36A67B;
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s ease;
}


.calc__checkbox-custom::after {
  position: absolute;
  left: 54%;
  top: 54%;
  transform: translate(-50%, -50%);
  content: '';
  width: clamp(6px, calc(var(--vw) * 8), 12px);
  height: clamp(5px, calc(var(--vw) * 6), 10px);
  background-image: url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.799805 3.0498L2.53338 4.78338C2.61149 4.86149 2.73812 4.86149 2.81623 4.78338L6.7998 0.799805' stroke='%2336A67B' stroke-width='1.6' stroke-linecap='round' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0;
  transition: opacity 0.2s ease;
}


.calc__checkbox-real:checked+.calc__checkbox-custom::after {
  opacity: 1;
}


.calc__checkbox-text {
  color: #555555;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
  line-height: 1.1;
  font-weight: 400;
}


.calc__final {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(30px, calc(var(--vw) * 40), 72px);
}


.calc__final-left {
  width: clamp(400px, calc(var(--vw) * 460), 640px);
  flex-shrink: 0;
}

.calc__final-title {
  color: #222222;
  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(24px, calc(var(--vw) * 36), 48px);
  margin-bottom: clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.calc__final-left .calc__final-title {
  font-size: clamp(20px, calc(var(--vw) * 32), 42px);

}

.calc__final-price {
  margin-bottom: clamp(20px, calc(var(--vw) * 30), 40px);
}

.calc__final-val {
  color: #157200;
  font-weight: 700;
  font-size: clamp(32px, calc(var(--vw) * 42), 56px);
  margin-right: 5px;
}

.calc__final-currency {
  color: #157200;
  font-weight: 500;
  font-size: clamp(18px, calc(var(--vw) * 24), 32px);
  margin-right: 5px;
}

.calc__final-vat {
  color: #222222;
  opacity: 0.5;
  font-weight: 400;
  font-size: clamp(18px, calc(var(--vw) * 24), 32px);
}

.calc__final-note {
  color: #222222;
  opacity: 0.7;
  font-style: italic;
  font-weight: 300;
  font-size: clamp(14px, calc(var(--vw) * 20), 26.6px);
  margin-top: 5px;
}

.calc__final-subtitle {
  color: #222222;
  font-weight: 600;
  font-size: clamp(22px, calc(var(--vw) * 32), 42.6px);
  margin-bottom: clamp(7px, calc(var(--vw) * 10), 20px);
}


.calc__summary-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.calc__summary-item {
  background-color: #ffffff;
  display: flex;
  gap: 20px;
  align-items: center;
  padding: clamp(7px, calc(var(--vw) * 10), 15px) clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.calc__summary-key {
  width: calc(50% - 5px);
  color: #555555;
  font-weight: 300;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
}

.calc__summary-val {
  width: calc(50% - 15px);
  color: #222222;
  font-weight: 400;
  font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
}


.calc__final-right {
  flex-grow: 1;
  max-width: clamp(550px, calc(var(--vw) * 640), 853.3px);
}

.calc__final-desc {
  color: #222222;
  font-weight: 400;
  line-height: 1.3;
  font-size: clamp(14px, calc(var(--vw) * 20), 26.6px);
  margin-bottom: clamp(20px, calc(var(--vw) * 35), 46.6px);
}


.calc__final-form {
  gap: clamp(15px, calc(var(--vw) * 20), 26.6px);
}

.calc__form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(15px, calc(var(--vw) * 20), 26.6px);
}


.calc__final-input {
  width: 100% !important;
}

.calc__final-btn {
  width: 100% !important;
  font-size: clamp(14px, calc(var(--vw) * 16), 21.3px);
}


.calc__file-upload {
  width: 100% ;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.calc__file-real {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.calc__file-text {
  color: #555555;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.calc__file-icon {
  flex-shrink: 0;
  width: clamp(18px, calc(var(--vw) * 22), 29.3px);
  height: auto;
}

.calc__final-policy {

  color: #222222;
}

.calc__final-policy .formBlock__policy-text {
  color: #222222;
}

@media (max-width: 767px) {
  .calc__final-left {
    width: 100%;
  }

  .calc__form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(15px, calc(var(--vw) * 20), 26.6px);
  }

  .calc__summary-key {
    font-size: clamp(10px, calc(var(--vw) * 13), 18px);
    width: calc(60% - 5px);
  }

  .calc__summary-val {
    font-size: clamp(10px, calc(var(--vw) * 13), 18px);
    width: calc(40% - 15px);
  }
}


.faq {
  background-color: #f6f6f6;
  width: 100%;
  overflow: hidden;
}

.faq__mobile-bottom {
  display: none;
}

  .faq__icon {
    flex-shrink: 0;
    width: clamp(24px, calc(var(--vw) * 30), 40px);
    height: clamp(24px, calc(var(--vw) * 30), 40px);
    background-color: #1A5D30;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, transform 0.3s ease;

    background-image: url("data:image/svg+xml,%3Csvg class='div' width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%0A%3E%3Cpath d='M13.5 1.73077L6.75 7.5L-9.53674e-07 1.73077V0L6.03 5.15384L6.75 5.74228L7.47 5.15384L13.5 0V1.73077Z' fill='white' /%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: 50% 55%;
    background-size: 45% auto !important;
  }
@media (min-width: 769px) {
  .faq {
    padding-bottom: clamp(80px, calc(var(--vw) * 120), 160px);
  }

  .faq__container {
    width: 100%;
    max-width: clamp(960px, calc(var(--vw) * 1440), 1920px);
    margin: 0 auto;

    padding: 0 clamp(40px, calc(var(--vw) * 140), 186.6px);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(20px, calc(var(--vw) * 100), 133.3px);
  }

  .faq__left {
    width: clamp(240px, calc(var(--vw) * 440), 586.6px);
    flex-shrink: 0;
  }

  .faq__title {
    color: #222222;
    font-weight: 700;
    line-height: 1.1;
    font-size: clamp(18px, calc(var(--vw) * 36), 48px);
    margin-bottom: clamp(30px, calc(var(--vw) * 40), 60px);
  }

  .faq__btn {
    width: clamp(200px, calc(var(--vw) * 260), 346.6px);
  }

  /* START: Bitrix24 complaint form button */
  .faq__btn--secondary {
    margin-top: clamp(12px, calc(var(--vw) * 16), 22px);
    background-color: transparent;
    color: #21cb5f;
    border: 2px solid #21cb5f;
    box-shadow: none;
  }

  .faq__btn--secondary:hover,
  .faq__btn--secondary:focus-visible {
    background-color: #21cb5f;
    color: #ffffff;
  }
  /* END: Bitrix24 complaint form button */

  .faq__right {
    flex-grow: 1;
    max-width: clamp(580px, calc(var(--vw) * 680), 906.6px);
  }

  .faq__list {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  .faq__item {
    background-color: #fafafa;
    border-radius: 2px;
    overflow: hidden;
  }

  .faq__header {
    width: 100%;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(10px, calc(var(--vw) * 20), 26.6px);
    cursor: pointer;
    text-align: left;
    gap: clamp(10px, calc(var(--vw) * 20), 26.6px);;
  }

  .faq__question {
    color: #222222;
    font-weight: 700;
    line-height: 1.3;
    font-size: clamp(8px, calc(var(--vw) * 18), 24px);
    transition: color 0.3s ease;
  }



  .faq__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .faq__content {
    padding: 0 clamp(15px, calc(var(--vw) * 20), 26.6px) clamp(15px, calc(var(--vw) * 20), 26.6px);
    color: #222222;
    font-weight: 400;
    line-height: 1.4;
    font-size: clamp(6px, calc(var(--vw) * 14), 18.6px);
  }


  .faq__item--active .faq__icon {
    background-color: #21CB5F;
    transform: rotate(-180deg);
  }

}

@media (max-width: 768px) {
  .faq {
    padding-bottom: clamp(40px, calc(var(--vw) * 60), 90px);
  }

  .faq__container {
    width: 100%;
    padding: 0 clamp(15px, calc(var(--vw) * 27), 40px);
    display: flex;
    flex-direction: column;
  }

  .faq__left {
    width: 100%;
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 45px);
  }

  .faq__title {
    color: #222222;
    font-weight: 700;
    line-height: 1.1;
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
    padding-left: clamp(14px, calc(var(--vw) * 20), 28px);
  }

  .faq__desktop-btn {
    display: none;
  }

  .faq__right {
    width: 100%;
  }

  .faq__list {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  .faq__item {
    background-color: #fafafa;
    border-radius: 2px;
  }

  .faq__header {
    width: 100%;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(10px, calc(var(--vw) * 15), 22px) clamp(14px, calc(var(--vw) * 20), 30px);
    cursor: pointer;
    text-align: left;
    gap: clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .faq__question {
    color: #222222;
    font-weight: 700;
    line-height: 1.2;
    font-size: clamp(14px, calc(var(--vw) * 18), 26px);
  }

  .faq__icon {
    flex-shrink: 0;
    width: clamp(20px, calc(var(--vw) * 30), 45px);
    height: clamp(20px, calc(var(--vw) * 30), 45px);
    background-color: #1A5D30;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
  }


  .faq__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .faq__content {
    padding: 0 clamp(14px, calc(var(--vw) * 20), 30px) clamp(14px, calc(var(--vw) * 20), 30px);
    color: #222222;
    font-weight: 400;
    line-height: 1.4;
    font-size: clamp(11px, calc(var(--vw) * 14), 20px);
  }

  .faq__item--active .faq__icon {
    background-color: #21CB5F;
  }

  .faq__item--active .faq__icon svg {
    transform: rotate(-180deg);
  }

  .faq__mobile-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin-top: clamp(25px, calc(var(--vw) * 40), 60px);
    padding-left: clamp(14px, calc(var(--vw) * 20), 28px);
    padding-right: clamp(14px, calc(var(--vw) * 20), 28px);
  }

  .faq__mobile-title {
    color: #222222;
    font-weight: 700;
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
    line-height: 1.1;
    margin-bottom: clamp(6px, calc(var(--vw) * 10), 16px);
  }

  .faq__mobile-desc {
    color: #222222;
    font-weight: 500;
    font-size: clamp(13px, calc(var(--vw) * 17), 24px);
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 45px);
  }

  .faq__mobile-bottom .faq__btn {
    width: 100%;
  }

  /* START: Bitrix24 complaint form button — mobile layout fix */
  .faq__mobile-bottom .faq__btn--secondary {
    margin-top: clamp(12px, calc(var(--vw) * 16), 20px);
    background-color: transparent;
    color: #21cb5f;
    border: 2px solid #21cb5f;
    box-shadow: none;
  }

  .faq__mobile-bottom .faq__btn--secondary:hover,
  .faq__mobile-bottom .faq__btn--secondary:focus-visible {
    background-color: #21cb5f;
    color: #ffffff;
  }
  /* END: Bitrix24 complaint form button — mobile layout fix */
}


.contacts {
  background-color: #f6f6f6;
  width: 100%;
  overflow: hidden;
}


.contacts__map-wrapper {
  background-color: #e5e5e5;
  position: relative;
  overflow: hidden;
}

.contacts__map-wrapper .about__google-card {
  position: absolute;
  left: 20px;
  top: 20px;
}

.contacts__map {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.contacts__map iframe {
  width: 100%;
  height: 100%;
}

.place-details-compact-container {
  display: none !important;
}


@media (min-width: 769px) {
  .contacts {
    padding-top: clamp(80px, calc(var(--vw) * 120), 160px);
    padding-bottom: clamp(80px, calc(var(--vw) * 120), 160px);
  }

  .contacts__container {
    width: 100%;
    max-width: clamp(960px, calc(var(--vw) * 1440), 1920px);
    margin: 0 auto;

    padding: 0 clamp(40px, calc(var(--vw) * 140), 186.6px);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: clamp(40px, calc(var(--vw) * 60), 80px);
  }

  .contacts__info {
    padding-top: 20px;
    padding-bottom: 20px;
    flex-shrink: 0;
    width: clamp(280px, calc(var(--vw) * 384), 480px);
    display: flex;
    flex-direction: column;
  }

  .contacts__title {
    color: #222222;
    font-weight: 700;
    line-height: 1.1;
    font-size: clamp(32px, calc(var(--vw) * 52), 69.3px);
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 50px);
  }


  .contacts__list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(10px, calc(var(--vw) * 15), 20px);
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 50px);
  }

  .contacts__item {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .contacts__icon {
    flex-shrink: 0;
    width: clamp(16px, calc(var(--vw) * 20), 26.6px);
    height: clamp(16px, calc(var(--vw) * 20), 26.6px);
    color: #21CB5F;
    fill: currentColor;
  }

  .contacts__text {
    margin-right: -20px;
    color: #222222;
    font-weight: 400;
    line-height: 1.2;
    font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
  }

  .contacts__link {
    text-decoration: none;
    transition: color 0.3s ease;
  }

  .contacts__link:hover {
    color: #21CB5F;
  }


  .contacts__socials {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, calc(var(--vw) * 30), 40px);
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 40px);
  }

  .contacts__social-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .contacts__social-title {
    color: #3a3a3a;
    font-weight: 500;
    line-height: 1.1;
    font-size: clamp(14px, calc(var(--vw) * 18), 24px);
  }

  .contacts__social-links {
    display: flex;
    flex-direction: row;
    gap: 10px;
  }

  .contacts__social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #1A5D30;
    border-radius: 50%;
    width: clamp(35px, calc(var(--vw) * 50), 66.6px);
    height: clamp(35px, calc(var(--vw) * 50), 66.6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  .contacts__social-btn:hover {
    opacity: 0.85;
    transform: translateY(-2px);
  }

  .contacts__social-icon {
    width: clamp(14px, calc(var(--vw) * 20), 26.6px);
    height: clamp(14px, calc(var(--vw) * 20), 26.6px);
    color: #ffffff;
    fill: currentColor;
  }


  .contacts__requisites {
    color: #3a3a3a;
    font-weight: 500;
    line-height: 1.1;
    font-size: clamp(14px, calc(var(--vw) * 18), 22px);
    text-decoration: underline;
    transition: color 0.3s ease;
  }

  .contacts__requisites:hover {
    color: #21CB5F;
  }


  .contacts__map-wrapper {
    flex-grow: 1;
    width: 100%;

    height: clamp(350px, calc(var(--vw) * 522), 696px);
    border: 1px solid rgba(255, 255, 255, 0.4);
  }
}

@media (max-width: 768px) {
  .contacts {
    padding-top: clamp(60px, calc(var(--vw) * 100), 140px);
    padding-bottom: clamp(60px, calc(var(--vw) * 100), 140px);
  }

  .contacts__container {
    width: 100%;
    padding: 0 clamp(20px, calc(var(--vw) * 47), 60px);
    display: flex;
    flex-direction: column;
  }

  .contacts__info {
    width: 100%;
    display: flex;
    flex-direction: column;
  }

  .contacts__title {
    color: #222222;
    font-weight: 700;
    line-height: 1.1;
    font-size: clamp(26px, calc(var(--vw) * 35), 46px);
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 45px);
  }

  .contacts__list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(10px, calc(var(--vw) * 15), 22px);
    margin-bottom: clamp(25px, calc(var(--vw) * 40), 60px);
  }

  .contacts__item {
    display: flex;
    align-items: center;
    gap: clamp(6px, calc(var(--vw) * 10), 16px);
  }

  .contacts__icon {
    flex-shrink: 0;
    width: clamp(14px, calc(var(--vw) * 20), 28px);
    height: clamp(14px, calc(var(--vw) * 20), 28px);
    color: #21CB5F;
    fill: currentColor;
  }

  .contacts__text {
    color: #222222;
    font-weight: 400;
    line-height: 1.2;
    font-size: clamp(12px, calc(var(--vw) * 16), 22px);
  }

  .contacts__link {
    text-decoration: none;
  }

  .contacts__socials {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: clamp(30px, calc(var(--vw) * 50), 75px);
  }

  .contacts__social-block {
    display: flex;
    flex-direction: column;
    gap: clamp(6px, calc(var(--vw) * 10), 16px);
  }

  .contacts__social-title {
    color: #3a3a3a;
    font-weight: 500;
    line-height: 1.1;
    font-size: clamp(12px, calc(var(--vw) * 16), 22px);
  }

  .contacts__social-links {
    display: flex;
    flex-direction: row;
    gap: clamp(6px, calc(var(--vw) * 10), 16px);
  }

  .contacts__social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #1A5D30;
    border-radius: 50%;
    width: clamp(35px, calc(var(--vw) * 50), 75px);
    height: clamp(35px, calc(var(--vw) * 50), 75px);
  }

  .contacts__social-icon {
    width: clamp(14px, calc(var(--vw) * 20), 28px);
    height: clamp(14px, calc(var(--vw) * 20), 28px);
    color: #ffffff;
    fill: currentColor;
  }

  .contacts__requisites {
    color: #3a3a3a;
    font-weight: 500;
    line-height: 1.1;
    font-size: clamp(12px, calc(var(--vw) * 16), 22px);
    text-decoration: underline;
    text-align: center;
    display: block;
    margin: 0 auto clamp(30px, calc(var(--vw) * 50), 75px) auto;
  }

  .contacts__map-wrapper {
    width: 100vw;
    margin-left: clamp(-60px, calc(var(--vw) * -47), -20px);
    margin-right: clamp(-60px, calc(var(--vw) * -47), -20px);
    height: clamp(260px, calc(var(--vw) * 360), 500px);
  }

  .contacts__map-wrapper .about__google-card {
    left: clamp(4px, calc(var(--vw) * 7), 12px);
    top: clamp(4px, calc(var(--vw) * 7), 12px);
  }
}

.quiz {
  background-color: #f6f6f6;
  width: 100%;
  overflow: hidden;
}

@media (min-width: 769px) {
  .quiz {
    padding-top: clamp(80px, calc(var(--vw) * 120), 160px);
  }

  .quiz__container {
    width: 100%;
    max-width: clamp(960px, calc(var(--vw) * 1440), 1920px);
    margin: 0 auto;
    padding: 0 clamp(40px, calc(var(--vw) * 140), 186.6px);
  }

  .quiz__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: clamp(30px, calc(var(--vw) * 50), 66.6px);
  }

  .quiz__title {
    color: #222222;
    font-weight: 700;
    line-height: 1.1;
    font-size: clamp(32px, calc(var(--vw) * 52), 69.3px);
    max-width: clamp(500px, calc(var(--vw) * 911), 1214.6px);
  }

  .quiz__timer {
    display: flex;
    align-items: center;
    gap: clamp(10px, calc(var(--vw) * 15), 20px);
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    padding: clamp(10px, calc(var(--vw) * 15), 20px) clamp(15px, calc(var(--vw) * 25), 33.3px);
  }

  .quiz__timer-icon {
    width: clamp(32px, calc(var(--vw) * 48), 64px);
    height: clamp(32px, calc(var(--vw) * 48), 64px);
  }

  .quiz__timer-text {
    color: #222222;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 0.05em;
    font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
  }

  .quiz__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    background: #ffffff;
    padding: clamp(20px, calc(var(--vw) * 30), 45px);
    gap: clamp(20px, calc(var(--vw) * 30), 45px);
  }

  .quiz__main {
    display: flex;
    flex-direction: column;
    max-width: calc(100% - clamp(280px, calc(var(--vw) * 374), 498.6px) - clamp(20px, calc(var(--vw) * 30), 45px));
  }

  .quiz__progress {
    position: relative;
    width: 100%;
    height: clamp(15px, calc(var(--vw) * 21), 28px);
    margin-bottom: clamp(30px, calc(var(--vw) * 50), 66.6px);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .quiz__progress-track {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 129, 47, 0.06);
  }

  .quiz__progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;

    background: #00812f url(../img/calc__progress-fill.png) 0 0 repeat-x;
    background-size: auto 100%;
    transition: width 0.4s ease;
  }

  .quiz__progress-text {
    position: relative;
    z-index: 2;
    color: #666666;
    font-weight: 400;
    font-size: clamp(10px, calc(var(--vw) * 10), 13.3px);
  }

  .quiz__slider {
    width: 100%;
    flex-grow: 1;
    overflow: hidden;

    padding-bottom: clamp(40px, calc(var(--vw) * 80), 106.6px) !important;
  }

  .quiz__step-title {
    color: #222222;
    font-weight: 500;
    line-height: 1.2;
    font-size: clamp(24px, calc(var(--vw) * 36), 48px);
    margin-bottom: clamp(25px, calc(var(--vw) * 40), 53.3px);
  }

  .quiz__fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(15px, calc(var(--vw) * 20), 26.6px);

  }

  .quiz__field {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: clamp(180px, calc(var(--vw) * 332), 442.6px);
  }

  .quiz__label {
    color: #222222;
    font-weight: 400;
    font-size: clamp(14px, calc(var(--vw) * 20), 26.6px);
  }

  .quiz__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: clamp(20px, calc(var(--vw) * 30), 40px);
    border-top: 1px solid rgba(0, 0, 0, 0.05);
  }

  .quiz__hint {
    display: flex;
    align-items: center;
    gap: clamp(7px, calc(var(--vw) * 10), 15px);
  }

  .quiz__hint-icon {
    width: clamp(17px, calc(var(--vw) * 21), 28px);
    height: auto;
  }

  .quiz__hint-text {
    color: #020408;
    font-weight: 400;
    line-height: 1.4;
    font-size: clamp(12px, calc(var(--vw) * 14), 18.6px);
  }

  .quiz__hint-bold {
    font-weight: 700;
  }

  .quiz__nav {
    display: flex;
    flex-direction: row;
    gap: clamp(8px, calc(var(--vw) * 10), 13.3px);
    margin-left: auto;
  }

  .quiz__btn-prev {
    width: clamp(40px, calc(var(--vw) * 50), 66.6px);
    height: clamp(40px, calc(var(--vw) * 50), 66.6px);
    background: transparent;
    border: 1px solid rgba(33, 203, 95, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease;
  }

  .quiz__btn-prev:hover {
    background: rgba(33, 203, 95, 0.1);
  }

  .quiz__btn-prev svg {
    width: clamp(16px, calc(var(--vw) * 20), 26.6px);
    height: clamp(16px, calc(var(--vw) * 20), 26.6px);
  }

  .quiz__btn-next {
    width: clamp(120px, calc(var(--vw) * 165), 220px);
    height: clamp(40px, calc(var(--vw) * 50), 66.6px);
    font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
  }

  .quiz__sidebar {
    position: relative;
    width: clamp(220px, calc(var(--vw) * 374), 498.6px);
    flex-shrink: 0;
    background: #193c29;
    overflow: hidden;
  }

  .quiz__sidebar-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
  }

  .quiz__sidebar-content {
    position: relative;
    z-index: 1;
    padding: clamp(20px, calc(var(--vw) * 40), 53.3px);
  }

  .quiz__sidebar-title {
    color: #ffffff;
    font-weight: 600;
    line-height: 1.2;
    font-size: clamp(20px, calc(var(--vw) * 28), 37.3px);
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 40px);
  }

  .quiz__sidebar-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(15px, calc(var(--vw) * 25), 33.3px);
  }

  .quiz__sidebar-item {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: clamp(7px, calc(var(--vw) * 10), 15px);
  }

  .quiz__sidebar-icon-wrap {
    width: clamp(35px, calc(var(--vw) * 45), 60px);
    height: clamp(35px, calc(var(--vw) * 45), 60px);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }


  .quiz__sidebar-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }


  .quiz__sidebar-text {
    color: #ffffff;
    font-weight: 500;
    line-height: 1.2;
    font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
  }

}

@media (max-width: 768px) {
  .quiz {
    padding-top: clamp(40px, calc(var(--vw) * 60), 90px);
  }

  .quiz__container {
    padding: 0 clamp(15px, calc(var(--vw) * 27), 40px);
  }

  .quiz__header {
    display: flex;
    flex-direction: column;
    gap: clamp(15px, calc(var(--vw) * 20), 30px);
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 45px);
    padding-left: clamp(15px, calc(var(--vw) * 20), 33px);
    padding-right: clamp(15px, calc(var(--vw) * 20), 33px);
  }

  .quiz__title {
    color: #222222;
    font-weight: 700;
    line-height: 1.1;
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
  }

  .quiz__timer {
    display: flex;
    align-items: center;
    gap: clamp(10px, calc(var(--vw) * 15), 22px);
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    padding: clamp(8px, calc(var(--vw) * 10), 16px) clamp(15px, calc(var(--vw) * 20), 30px);
    width: 100%;
  }

  .quiz__timer-icon {
    width: clamp(20px, calc(var(--vw) * 30), 45px);
    height: clamp(20px, calc(var(--vw) * 30), 45px);
  }

  .quiz__timer-text {
    color: #222222;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 0.05em;
    font-size: clamp(12px, calc(var(--vw) * 16), 22px);
  }

  .quiz__wrapper {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    padding: clamp(15px, calc(var(--vw) * 20), 30px) clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .quiz__sidebar {
    order: -1;
    width: 100%;
    background: #193c29;
    position: relative;
    overflow: hidden;
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 45px);
    margin-left: clamp(-30px, calc(var(--vw) * -20), -15px);
    margin-right: clamp(-30px, calc(var(--vw) * -20), -15px);
    margin-top: clamp(-30px, calc(var(--vw) * -20), -15px);
    width: calc(100% + clamp(30px, calc(var(--vw) * 40), 60px));
  }

  .quiz__sidebar-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
  }

  .quiz__sidebar-content {
    position: relative;
    z-index: 1;
    padding: clamp(20px, calc(var(--vw) * 30), 45px);
    display: grid;
    grid-template-columns: clamp(110px, calc(var(--vw) * 150), 280px) clamp(95px, calc(var(--vw) * 130), 240px);
    gap: clamp(20px, calc(var(--vw) * 25), 40px);
  }

  .quiz__sidebar-title {
    color: #ffffff;
    font-weight: 600;
    line-height: 1.2;
    font-size: clamp(16px, calc(var(--vw) * 21), 30px);
    margin-bottom: 0;
  }

  .quiz__sidebar-list {
    list-style: none;
    padding: 0;
    /* display: flex;
    flex-direction: column; */
    gap: clamp(15px, calc(var(--vw) * 20), 30px);
    display: contents;
  }

  .quiz__sidebar-item {
    display: flex;
    align-items: flex-start;
    gap: 0;
    flex-direction: column;
  }

  .quiz__sidebar-icon-wrap {
    width: clamp(20px, calc(var(--vw) * 30), 45px);
    height: clamp(20px, calc(var(--vw) * 30), 45px);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .quiz__sidebar-icon-wrap--white {
    background: #ffffff;
    border-radius: 2px;
  }

  .quiz__sidebar-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .quiz__sidebar-icon-wrap--white .quiz__sidebar-icon {
    width: 60%;
    height: 60%;
  }

  .quiz__sidebar-text {
    color: #ffffff;
    font-weight: 500;
    line-height: 1.2;
    font-size: clamp(10px, calc(var(--vw) * 14), 20px);
    margin-top: clamp(6px, calc(var(--vw) * 10), 16px);
  }

  .quiz__main {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .quiz__progress {
    position: relative;
    width: 100%;
    height: clamp(16px, calc(var(--vw) * 21), 32px);
    margin-bottom: clamp(20px, calc(var(--vw) * 30), 45px);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .quiz__progress-track {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 129, 47, 0.06);
  }

  .quiz__progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: #00812f url(../img/calc__progress-fill.png) 0 0 repeat-x;
    background-size: auto 100%;
    transition: width 0.4s ease;
  }

  .quiz__progress-text {
    position: relative;
    z-index: 2;
    color: #666666;
    font-weight: 400;
    font-size: clamp(8px, calc(var(--vw) * 10), 14px);
  }

  .quiz__slider {
    width: 100%;
    overflow: hidden;
    padding-bottom: clamp(20px, calc(var(--vw) * 30), 45px) !important;
  }

  .quiz__step-title {
    color: #222222;
    font-weight: 500;
    line-height: 1.2;
    font-size: clamp(18px, calc(var(--vw) * 24), 36px);
    margin-bottom: clamp(18px, calc(var(--vw) * 25), 38px);
    text-align: center;
  }

  .quiz__fields {
    display: flex;
    flex-direction: column;
    gap: clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .quiz__field {
    display: flex;
    flex-direction: column;
    gap: clamp(5px, calc(var(--vw) * 7), 12px);
    width: 100%;
  }

  .quiz__label {
    color: #222222;
    font-weight: 400;
    font-size: clamp(12px, calc(var(--vw) * 15), 22px);
  }

  .quiz__footer {
    display: flex;
    flex-direction: column;
    gap: clamp(18px, calc(var(--vw) * 25), 38px);
    padding-top: clamp(18px, calc(var(--vw) * 25), 38px);
    border-top: 1px solid rgba(0, 0, 0, 0.05);
  }

  .quiz__hint {
    display: flex;
    align-items: center;
    gap: clamp(10px, calc(var(--vw) * 15), 22px);
  }

  .quiz__hint-icon {
    width: clamp(14px, calc(var(--vw) * 18), 26px);
    height: auto;
  }

  .quiz__hint-text {
    color: #020408;
    font-weight: 400;
    line-height: 1.4;
    font-size: clamp(10px, calc(var(--vw) * 12), 18px);
  }

  .quiz__hint-bold {
    font-weight: 700;
  }

  .quiz__nav {
    display: flex;
    flex-direction: row;
    gap: clamp(8px, calc(var(--vw) * 10), 16px);
    margin-left: auto;
    width: 100%;
  }

  .quiz__btn-prev {
    width: clamp(40px, calc(var(--vw) * 50), 75px);
    height: clamp(40px, calc(var(--vw) * 50), 75px);
    background: transparent;
    border: 1px solid rgba(33, 203, 95, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .quiz__btn-prev svg {
    width: clamp(16px, calc(var(--vw) * 20), 30px);
    height: clamp(16px, calc(var(--vw) * 20), 30px);
  }

  .quiz__btn-next {
    flex-grow: 1;
    height: clamp(40px, calc(var(--vw) * 50), 75px);
    font-size: clamp(12px, calc(var(--vw) * 16), 22px);
  }
}

.footer {
  background-color: #343E38;
  width: 100%;
  overflow: hidden;
}

@media (min-width: 769px) {
  .footer {
    padding-top: clamp(40px, calc(var(--vw) * 60), 80px);
    padding-bottom: clamp(30px, calc(var(--vw) * 50), 66.6px);
  }

  .footer__container {
    width: 100%;
    max-width: clamp(960px, calc(var(--vw) * 1440), 1920px);
    margin: 0 auto;
    padding: 0 clamp(40px, calc(var(--vw) * 140), 186.6px);
  }

  .footer__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(20px, calc(var(--vw) * 30), 40px);
    margin-bottom: clamp(40px, calc(var(--vw) * 60), 80px);
  }

  .footer__brand {
    display: flex;
    align-items: center;
    gap: clamp(20px, calc(var(--vw) * 40), 53.3px);
  }

  .footer__logo {
    width: clamp(80px, calc(var(--vw) * 120), 148px);
    height: auto;
    object-fit: contain;
  }

  .footer__desc {
    color: #ffffff;
    font-weight: 400;
    line-height: 1.4;
    font-size: clamp(10px, calc(var(--vw) * 14), 18.6px);
    opacity: 0.9;
  }

  .footer__reqs {
    color: #ffffff;
    font-weight: 400;
    line-height: 1.3;
    font-size: clamp(10px, calc(var(--vw) * 14), 18.6px);
    opacity: 0.6;
  }

  .footer__contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: clamp(4px, calc(var(--vw) * 6), 8px);
  }

  .footer__phone {
    display: flex;
    align-items: center;
    gap: clamp(6px, calc(var(--vw) * 10), 13.3px);
    color: #ffffff;
    font-weight: 600;
    font-size: clamp(16px, calc(var(--vw) * 24), 32px);
    text-decoration: none;
    transition: color 0.3s ease;
  }

  .footer__phone:hover {
    color: #21CB5F;
  }

  .footer__phone-icon {
    width: clamp(14px, calc(var(--vw) * 20), 26.6px);
    height: clamp(14px, calc(var(--vw) * 20), 26.6px);
    color: #21CB5F;
    fill: currentColor;
  }

  .footer__schedule {
    color: #ffffff;
    font-weight: 400;
    font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
    opacity: 0.4;
  }

  .footer__callback {
    color: #21CB5F;
    font-weight: 400;
    font-size: clamp(10px, calc(var(--vw) * 14), 18.6px);
    text-decoration: underline;
    transition: text-decoration 0.3s ease;
  }

  .footer__callback:hover {
    text-decoration: none;
  }

  .footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: clamp(20px, calc(var(--vw) * 40), 53.3px);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }

  .footer__copy,
  .footer__dev {
    color: #ffffff;
    font-weight: 400;
    font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
    opacity: 0.6;
  }

  .footer__policy {
    color: #ffffff;
    font-weight: 400;
    font-size: clamp(12px, calc(var(--vw) * 16), 21.3px);
    text-decoration: underline;
    transition: color 0.3s ease;
  }

  .footer__policy:hover {
    color: #21CB5F;
  }
}

@media (max-width: 768px) {
  .footer {
    padding-top: clamp(20px, calc(var(--vw) * 30), 50px);
    padding-bottom: clamp(25px, calc(var(--vw) * 40), 65px);
  }

  .footer__container {
    padding: 0 clamp(20px, calc(var(--vw) * 47), 60px);
  }

  .footer__top {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-areas:
      "logo contacts"
      "desc desc"
      "reqs reqs";
    align-items: flex-start;
    row-gap: clamp(15px, calc(var(--vw) * 25), 38px);
    margin-bottom: clamp(22px, calc(var(--vw) * 35), 55px);
  }

  .footer__brand {
    display: contents;
  }

  .footer__logo {
    grid-area: logo;
    width: clamp(80px, calc(var(--vw) * 120), 180px);
    height: auto;
  }

  .footer__contacts {
    grid-area: contacts;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: clamp(3px, calc(var(--vw) * 5), 10px);
  }

  .footer__phone {
    display: flex;
    align-items: center;
    gap: clamp(5px, calc(var(--vw) * 8), 14px);
    color: #ffffff;
    font-weight: 600;
    font-size: clamp(14px, calc(var(--vw) * 20), 28px);
    text-decoration: none;
  }

  .footer__phone-icon {
    width: clamp(12px, calc(var(--vw) * 16), 24px);
    height: clamp(12px, calc(var(--vw) * 16), 24px);
    color: #21CB5F;
    fill: currentColor;
  }

  .footer__schedule {
    color: #ffffff;
    font-weight: 400;
    font-size: clamp(11px, calc(var(--vw) * 14), 20px);
    opacity: 0.4;
  }

  .footer__callback {
    color: #21CB5F;
    font-weight: 400;
    font-size: clamp(11px, calc(var(--vw) * 14), 20px);
    text-decoration: underline;
  }

  .footer__desc {
    grid-area: desc;
    color: #ffffff;
    font-weight: 400;
    line-height: 1.4;
    font-size: clamp(10px, calc(var(--vw) * 12), 18px);
  }

  .footer__reqs {
    grid-area: reqs;
    color: #ffffff;
    font-weight: 400;
    line-height: 1.2;
    font-size: clamp(12px, calc(var(--vw) * 15), 22px);
    opacity: 0.6;
    margin-top: clamp(-15px, calc(var(--vw) * -10), -5px);
  }

  .footer__bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(12px, calc(var(--vw) * 20), 32px);
    padding-top: clamp(22px, calc(var(--vw) * 35), 55px);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }

  .footer__policy {
    order: -1;
    color: #ffffff;
    font-weight: 400;
    font-size: clamp(12px, calc(var(--vw) * 16), 24px);
    text-decoration: underline;
  }

  .footer__copy,
  .footer__dev {
    color: #ffffff;
    font-weight: 400;
    font-size: clamp(12px, calc(var(--vw) * 16), 24px);
    opacity: 0.6;
  }
}

.whiteColor .quiz__progress-text,
.whiteColor .calc__progress-text {
  color: #fff !important;
}

.quiz .calc__final-right {
  margin-bottom: 25px;
  max-width: 100%;
}

.quiz .calc__final-btn {
  padding-left: 0;
  padding-right: 0;
}

.quiz .calc__summary-item {
  background: #F6F6F6;
}

.quiz__main:has(.swiper-slide.swiper-slide-active:first-child) .quiz__btn-prev {
  display: none !important;
}
.quiz__main:has(.swiper-slide.swiper-slide-active:last-child) .quiz__btn-next,
.quiz__main:has(.swiper-slide.swiper-slide-active:last-child) .quiz__hint {
  display: none !important;
}


@media (min-width: 768px) AND (max-width: 1100px) {
  .technology__grid {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }

  .projects__container {
    padding-left: 47px;
    padding-right: 47px;
  }

  .projects__gallery {
    width: 100%;
  }

  .projects__gallery-main,
  .projects__thumb {
    height: auto;
  }

  .projects__card {
    flex-direction: column !important;
  }

  .projects__banner-img {
    margin-right: -20px !important;
  }

  .projects__banner-btn {
    width: fit-content !important;
    padding-left: clamp(10px, calc(var(--vw) * 30), 40px);
    padding-right: clamp(10px, calc(var(--vw) * 30), 40px);
  }

  .quiz__container {
    padding-left: 47px !important;
    padding-right: 47px !important;
  }

  .formBlock__btn {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .quiz__main {
    max-width: calc(100% - 250px);
  }

  .quiz__field {
    width: clamp(180px, calc(var(--vw) * 339px), 442.6px)
  }
  .btn-calc:not(.technology__slider-btn) {
    white-space: normal;
  }
}


/* ==========================================================================
   ПОПАП (Модальное окно)
   ========================================================================== */
.popup-wrapper {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  padding: 20px;
}


.popup-wrapper.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.popup {
  background: #ffffff;
  padding: clamp(20px, calc(var(--vw) * 50), 60px) clamp(20px, calc(var(--vw) * 50), 60px);
  width: 100%;
  max-width: clamp(320px, calc(var(--vw) * 500), 600px);
  max-height: 90vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(20px, calc(var(--vw) * 30), 40px);
  transform: translateY(20px);
  transition: transform 0.3s ease;
}

.popup-wrapper.is-open .popup {
  transform: translateY(0);
}

.popup__header {
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: center;
}

.popup__title {
  color: #222222;
  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(24px, calc(var(--vw) * 32), 40px);
}

.popup__desc {
  color: #222222;
  font-weight: 400;
  line-height: 1.3;
  font-size: clamp(10px, calc(var(--vw) * 18), 22px);
}

.popup__form {
  gap: 20px;
}

.popup__fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
}


.popup__input,
.popup__textarea {
  background: #f6f6f6 !important;
  border: 1px solid transparent !important;
  width: 100% !important;
  height: clamp(50px, calc(var(--vw) * 60), 70px) !important;
  padding: 0 clamp(15px, calc(var(--vw) * 20), 25px) !important;
  transition: border-color 0.3s ease;
}

.popup__input:focus,
.popup__textarea:focus {
  border-color: #21CB5F !important;
}

.popup__textarea {
  height: clamp(80px, calc(var(--vw) * 100), 120px) !important;
  padding-top: clamp(15px, calc(var(--vw) * 20), 25px) !important;
  resize: none;
  font-family: inherit;
}

.popup__btn {
  width: 100% !important;
  height: clamp(50px, calc(var(--vw) * 70), 80px) !important;
}


.popup__policy-text {
  color: #222222 !important;
  line-height: 1.3 !important;
}

@media (max-width: 768px) {

  .popup {
    padding: clamp(20px, calc(var(--vw) * 27), 40px) clamp(20px, calc(var(--vw) * 27), 40px);
  }
  .popup__desc {
    font-size: clamp(8px, calc(var(--vw) * 16), 22px);
  }
}

.hero__desc {
  color: #ffffff;
  text-align: left;
  font-weight: 600;
  position: relative;
  line-height: 1.4;
  font-size: clamp(20px, calc(var(--vw) * 27), 36px);
  margin-bottom: clamp(10px, calc(var(--vw) * 20), 26.6px);
}

@media (max-width: 768px) {
  .hero__desc {
    line-height: 1.3;
    font-size: clamp(16px, calc(var(--vw) * 20), 26px);
    margin-bottom: clamp(8px, calc(var(--vw) * 10), 16px);
  }
}

.hero--thank {
  min-height: 100svh;
}

.hero--thank .hero__subtitle {
  padding-left: 0 !important;
  margin-bottom: clamp(40px, calc(var(--vw) * 80), 120px);
}

.hero--thank .hero__subtitle::before {
  display: none !important;
}


.hero--thank {
  min-height: 70svh;
}


.policy {
  padding-top: clamp(70px, calc(var(--vw) * 170), 222px);
  padding-bottom: clamp(40px, calc(var(--vw) * 80), 106.6px);
}

.policy__container {
  width: 100%;
  max-width: clamp(960px, calc(var(--vw) * 1440), 1920px);
  margin: 0 auto;
  padding: 0 clamp(40px, calc(var(--vw) * 140), 186.6px);
}

.policy__title {
  color: #222222;
  font-family: "Gilroy-Bold", sans-serif;
  font-size: clamp(32px, calc(var(--vw) * 52), 69.3px);
  line-height: 1.1;
  font-weight: 700;
  margin-bottom: clamp(20px, calc(var(--vw) * 40), 53.3px);
}

.policy__content {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, calc(var(--vw) * 20), 26.6px);
}

.policy__subtitle {
  color: #222222;
  font-family: "Gilroy-SemiBold", sans-serif;
  font-size: clamp(18px, calc(var(--vw) * 28), 37.3px);
  line-height: 1.2;
  font-weight: 600;
}

.policy__text {
  color: #222222;
  font-family: "Gilroy-Regular", sans-serif;
  font-size: clamp(14px, calc(var(--vw) * 20), 26.6px);
  line-height: 1.2;
  font-weight: 400;
}

.policy__list {
  list-style-type: disc;
  padding-left: 1.2em;
  margin-top: clamp(5px, calc(var(--vw) * 10), 13.3px);
}

.policy__list li {
  margin-bottom: clamp(2px, calc(var(--vw) * 5), 6.6px);
}

@media (max-width: 768px) {
  .policy {
    padding-top: clamp(80px, calc(var(--vw) * 120), 180px);
    padding-bottom: clamp(50px, calc(var(--vw) * 80), 110px);
  }

  .policy__container {
    padding: 0 clamp(15px, calc(var(--vw) * 47), 60px);
  }

  .policy__title {
    font-size: clamp(24px, calc(var(--vw) * 32), 48px);
    margin-bottom: clamp(20px, calc(var(--vw) * 40), 60px);
  }

  .policy__content {
    gap: clamp(15px, calc(var(--vw) * 20), 30px);
  }

  .policy__subtitle {
    font-size: clamp(18px, calc(var(--vw) * 22), 32px);
  }

  .policy__text {
    font-size: clamp(14px, calc(var(--vw) * 16), 22px);
  }

  .policy__list {
    margin-top: clamp(5px, calc(var(--vw) * 10), 15px);
  }

  .policy__list li {
    margin-bottom: clamp(4px, calc(var(--vw) * 6), 10px);
  }
}

.formBlock__input.is-invalid {
  border-color: #ff3b3b !important;
  color: red !important;
}

.formBlock__input.is-invalid::placeholder {
  color: red !important;
}

.formBlock__checkbox-custom.is-invalid {
  border-color: red !important;
}

.cookie-banner {
    position: fixed;
    left: calc(var(--vw) * 10);
    bottom: calc(var(--vw) * 10);
    z-index: 9999;
    background-color: #343E38;
    padding: calc(var(--vw) * 20);
    color: #fff;
    max-width: calc(var(--vw) * 570);
}

.cookie-banner__content {
    display: flex;
    column-gap: calc(var(--vw) * 20);
    font-size: calc(var(--vw) * 14);
}

.cookie-banner__actions .button_cookie{
  display: block;
  width: calc(var(--vw) * 110);
  padding: calc(var(--vw) * 6);
  color: #ffffff;
  letter-spacing: 0.02em;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  background-color: #21cb5f;
  font-size: calc(var(--vw) * 14);
}
.cookie-banner__actions .button_cookie:hover{
  background-color: #1a9f4a;
}
.cookie-banner__actions .button_cookie:first-child{
  margin-bottom: calc(var(--vw) * 10);
}
.cookie-banner__actions .button_cookie.button_glass{
  background: rgba(0, 0, 0, 0.01);
  border: calc(var(--vw) * 1) solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(calc(var(--vw) * 15));
  color: #ffffff;
}

.cookie-banner__actions .button_cookie.button_glass:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.6);
}

@media only screen and (max-width:767px) {
  .cookie-banner {
    position: fixed;
    z-index: 9999;
    background-color: #343E38;
    padding: calc(var(--vw) * 20);
    color: #fff;
    left: 0;
    bottom: 0dvh;
    max-width: 100vw;
    width: 100vw;
}
.cookie-banner__actions{
  display: flex;
  flex-direction: row;
  column-gap: calc(var(--vw) * 10);
  margin-top: calc(var(--vw) * 20);
}
.cookie-banner__actions .button_cookie:first-child{
  margin-bottom: 0;
}
.cookie-banner__content {
  display: block;
}
.cookie-banner__actions .button_cookie{
  width: auto;
  flex-grow: 1;
}
}

.swiper,
#quiz,
#wycenaonline{
  overflow: visible !important;
}

.calc__left{
  z-index: 1;
}

/* === EcoGardens mobile layout corrections v4 === */
@media (max-width: 768px) {
  /* Correct anchor positioning below the fixed mobile header. */
  #quiz,
  #wycenaonline {
    scroll-margin-top: 110px;
  }

  /* Hero: prevent the manually inserted desktop line break from creating
     an excessively tall text block on narrow screens. */
  .hero__subtitle {
    width: 100%;
    max-width: 340px;
    padding-left: 12px;
    margin-bottom: 26px;
    font-size: clamp(15px, 4.1vw, 18px);
    line-height: 1.28;
    letter-spacing: 0;
  }

  .hero__subtitle br {
    display: none;
  }

  /* Main calculator: the explanatory sentence is redundant on mobile and
     takes too much space before the first actionable control. */
  .calc__subtitle {
    display: none;
  }

  .calc__header {
    margin-bottom: 24px;
  }

  .calc__title {
    max-width: 340px;
    margin-bottom: 0;
    font-size: clamp(30px, 8.2vw, 38px);
    line-height: 1.08;
  }

  .calc__progress {
    margin-bottom: 28px;
  }

  .calc__step-title {
    margin-bottom: 18px;
    font-size: clamp(24px, 6.3vw, 30px);
    line-height: 1.15;
  }

  .calc__step {
    gap: 22px;
  }

  .calc__left {
    max-height: none;
    overflow: visible;
    aspect-ratio: 4 / 3;
  }

  .calc__left-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    object-position: center;
  }

  /* Company statistics: consistent 2x2 cards without oversized inline CE. */
  .about__stats {
    padding: 0;
    background: #fff;
    align-items: stretch;
  }

  .about__stat,
  .about__stat:nth-child(1),
  .about__stat:nth-child(2),
  .about__stat:nth-child(3),
  .about__stat:nth-child(4) {
    min-width: 0;
    min-height: 155px;
    padding: 22px 18px;
    justify-content: flex-start;
    gap: 12px;
  }

  .about__stat:nth-child(1),
  .about__stat:nth-child(3) {
    border-right: 1px dashed #6caa92;
  }

  .about__stat-val {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px;
    max-width: 100%;
    white-space: normal;
    font-size: clamp(38px, 10vw, 48px);
    line-height: 1;
  }

  .about__stat:nth-child(3) .about__stat-val {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .about__stat-val--small {
    display: block;
    font-size: clamp(14px, 3.8vw, 17px);
    line-height: 1.15;
  }

  .about__stat-val--dark {
    font-size: inherit;
    line-height: inherit;
  }

  .about__stat-desc {
    max-width: 150px;
    font-size: clamp(14px, 3.9vw, 17px);
    line-height: 1.22;
    white-space: normal;
  }

  /* Preliminary configurator: keep the user close to the actual controls.
     The decorative benefits sidebar is hidden on mobile. */
  .quiz {
    padding-top: 72px;
  }

  .quiz__container {
    padding-left: 22px;
    padding-right: 22px;
  }

  .quiz__header {
    gap: 18px;
    margin-bottom: 24px;
    padding-left: 0;
    padding-right: 0;
  }

  .quiz__title {
    max-width: 350px;
    font-size: clamp(30px, 8vw, 38px);
    line-height: 1.08;
  }

  .quiz__title br {
    display: none;
  }

  .quiz__timer {
    padding: 13px 18px;
  }

  .quiz__timer-text {
    font-size: 15px;
  }

  .quiz__wrapper {
    padding: 20px;
  }

  .quiz__sidebar {
    display: none;
  }

  .quiz__progress {
    margin-bottom: 28px;
  }

  .quiz__step-title {
    margin-bottom: 20px;
    font-size: clamp(24px, 6.4vw, 30px);
    line-height: 1.15;
  }

  .quiz__fields {
    gap: 18px;
  }

  .quiz__field {
    width: 100%;
    gap: 8px;
  }

  .quiz__label {
    font-size: 16px;
    line-height: 1.25;
  }
}

/* === EcoGardens desktop layout refinements v5 === */
@media (min-width: 769px) {

  /* Section heading: reduce excessive scale and line length. */
  .comfort-space {
    padding-top: clamp(70px, 6vw, 105px);
  }

  .comfort-space__header {
    margin-bottom: 42px;
  }

  .comfort-space__title {
    max-width: 920px;
    font-size: clamp(40px, 3.45vw, 56px);
    line-height: 1.08;
    margin-bottom: 18px;
  }

  .comfort-space__subtitle {
    max-width: 780px;
    font-size: clamp(19px, 1.55vw, 25px);
    line-height: 1.38;
  }

  /* Main calculator: stable proportions and correctly hidden dependencies. */
  .calc__step {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.8fr);
    gap: clamp(38px, 4vw, 72px);
    align-items: start;
  }

  .calc__left,
  .calc__right {
    width: auto;
    min-width: 0;
  }

  .calc__step-title {
    margin-bottom: 24px;
    font-size: clamp(28px, 2.2vw, 36px);
  }

  .calc__fields {
    gap: 18px;
  }

  .calc__field {
    gap: 9px;
  }

  .calc__label {
    font-size: 16px;
    line-height: 1.25;
  }

  .calc__left {
    aspect-ratio: 4 / 3;
  }

  .calc__left-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
  }

  /* Cooperation cards: less cramped text and consistent visual rhythm. */
  .conditions__container {
    max-width: 1440px;
    padding-left: clamp(36px, 5vw, 80px);
    padding-right: clamp(36px, 5vw, 80px);
  }

  .conditions__title {
    margin-bottom: 44px;
    font-size: clamp(40px, 3.4vw, 54px);
  }

  .conditions__grid {
    gap: 24px;
  }

  .conditions__card {
    min-height: 260px;
  }

  .conditions__card-content {
    padding: 28px;
    max-width: 68%;
  }

  .conditions__card-title {
    font-size: clamp(20px, 1.45vw, 24px);
    line-height: 1.14;
    margin-bottom: 12px;
  }

  .conditions__card-desc {
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.35;
  }

  .conditions__card-title br,
  .conditions__card-desc br {
    display: none;
  }

  .conditions__card-img--doc { width: 40%; }
  .conditions__card-img--profiles { width: 58%; }
  .conditions__card-img--calc { width: 42%; }
  .conditions__card-img--install { width: 48%; }
  .conditions__card-img--terrace { width: 45%; }
  .conditions__card-img--mockup { width: 48%; }

  .conditions__card--dark .conditions__card-content {
    max-width: 62%;
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  /* .projects__banner-content {
    grid-template-columns: minmax(210px, 1fr) 250px minmax(230px, 0.9fr);
    column-gap: 24px;
  } */

  .conditions__card-content {
    max-width: 72%;
    padding: 22px;
  }

  .conditions__card-title {
    font-size: 19px;
  }

  .conditions__card-desc {
    font-size: 13px;
  }
}

/* ==========================================================================
   ECOGARDENS — final layout refinements v6
   ========================================================================== */

/* Telephone hint is intentionally minimal and remains visible until typing. */
input[type="tel"]::placeholder {
  color: #777777;
  opacity: 1;
}

@media (min-width: 769px) {
  /* First screen: every benefit is exactly two lines. */
  .hero__features {
    flex-wrap: nowrap;
    gap: clamp(28px, 3vw, 52px);
  }

  .hero__feature {
    min-width: 0;
  }

  .hero__feature-text {
    white-space: nowrap;
    line-height: 1.25;
  }

  /* Main introductory heading and supporting line: maximum two lines each. */
  .comfort-space__header {
    margin-bottom: 48px;
  }

  .comfort-space__title {
    width: 100%;
    max-width: 1180px;
    font-size: clamp(38px, 3.15vw, 52px);
    line-height: 1.08;
    margin-bottom: 18px;
  }

  .comfort-space__title br,
  .comfort-space__subtitle br {
    display: block;
  }

  .comfort-space__subtitle {
    width: 100%;
    max-width: 1120px;
    font-size: clamp(18px, 1.42vw, 23px);
    line-height: 1.34;
  }

  /* Balanced vertical rhythm requested for the technology and quiz headings. */
  .technology {
    padding-top: clamp(82px, 7vw, 112px);
  }

  .technology__title {
    margin-bottom: clamp(82px, 7vw, 112px);
  }

  .technology__feature-group {
    gap: clamp(34px, 3vw, 48px);
  }

  .quiz {
    padding-top: clamp(82px, 7vw, 112px);
  }

  .quiz__header {
    margin-bottom: clamp(82px, 7vw, 112px);
  }

  /* The catalogue headline is authored as exactly three desktop lines. */
  .formBlock__title:not(.formBlock__title--bigger) {
    max-width: 820px;
    line-height: 1.22;
  }


  /* Cooperation cards: wider tiles, more room for copy, max two title lines. */
  .conditions__container {
    max-width: 1600px;
    padding-left: 28px;
    padding-right: 28px;
  }

  .conditions__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  .conditions__card {
    min-height: 280px;
  }

  .conditions__card-content,
  .conditions__card--dark .conditions__card-content {
    max-width: 73%;
    padding: 30px 26px;
  }

  .conditions__card-title {
    min-height: 2.28em;
    margin-bottom: 14px;
    font-size: clamp(20px, 1.38vw, 23px);
    line-height: 1.14;
  }

  .conditions__card-title br {
    display: block;
  }

  .conditions__card-desc {
    max-width: 330px;
    font-size: clamp(14px, 0.98vw, 16px);
    line-height: 1.38;
  }

  .conditions__card-desc br {
    display: none;
  }

  .conditions__card-img--doc { width: 34%; }
  .conditions__card-img--profiles { width: 50%; }
  .conditions__card-img--calc { width: 35%; }
  .conditions__card-img--install { width: 42%; }
  .conditions__card-img--terrace { width: 39%; }
  .conditions__card-img--mockup { width: 42%; }
}

@media (min-width: 769px) and (max-width: 1120px) {
  .hero__features {
    gap: 22px;
  }

  .hero__feature-text {
    font-size: 12px;
  }

  .projects__banner-content {
    /* grid-template-columns: minmax(280px, 1fr) minmax(300px, 0.9fr);
    column-gap: 32px; */
  }

  .projects__banner-img {
    width: min(100%, 350px);
  }

  .conditions__card-content,
  .conditions__card--dark .conditions__card-content {
    max-width: 76%;
    padding: 24px 20px;
  }

  .conditions__card-title {
    font-size: 19px;
  }

  .conditions__card-desc {
    font-size: 13px;
  }
}

@media (max-width: 768px) {
  /* Restore the original overlay composition in the result slider:
     text on top, dots bottom-left, CTA bottom-right. */
  .technology__slider-col {
    position: relative;
    width: 100%;
    height: clamp(440px, 132vw, 620px);
    overflow: hidden;
    background: #193c29;
  }

  .technology__slider,
  .technology__slider-content {
    width: 100%;
    height: 100%;
  }

  .technology__slider-content {
    padding: clamp(22px, 6vw, 32px);
    border: 0;
    background:
      linear-gradient(180deg, rgba(20, 35, 30, 0.88) 0%, rgba(20, 35, 30, 0) 38%),
      linear-gradient(0deg, rgba(20, 35, 30, 0.72) 0%, rgba(20, 35, 30, 0) 34%);
  }

  .technology__slider-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: clamp(20px, 5.5vw, 30px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 clamp(22px, 6vw, 32px);
  }

  .technology__pagination {
    position: static;
    display: flex;
    margin: 0;
    gap: 8px;
  }

  .technology__pagination .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
  }

  .technology__slider-btn {
    position: static;
    width: min(56%, 294px) !important;
    height: 72px;
    margin: 0;
  }
}

/* Refined consultation popup. */
.popup-wrapper {
  padding: 16px;
  background: rgba(6, 18, 13, 0.72);
  backdrop-filter: blur(5px);
}

.popup {
  position: relative;
  max-width: 520px;
  max-height: min(92vh, 760px);
  padding: 38px 40px 34px;
  gap: 24px;
  border-radius: 12px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}

.popup__close {
  position: absolute;
  top: 14px;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #f3f5f3;
  color: #222222;
  font: 400 28px/1 Arial, sans-serif;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.popup__close:hover {
  background: #21cb5f;
  color: #ffffff;
  transform: rotate(90deg);
}

.popup__header {
  gap: 12px;
  padding: 0 22px;
}

.popup__title {
  font-size: clamp(28px, 2.2vw, 34px);
  line-height: 1.06;
}

.popup__desc {
  max-width: 410px;
  margin: 0 auto;
  color: #555555;
  font-size: 17px;
  line-height: 1.38;
}

.popup__desc br {
  display: none;
}

.popup__form {
  gap: 16px;
}

.popup__fields {
  gap: 12px;
}

.popup__input,
.popup__textarea {
  border: 1px solid #e3e7e4 !important;
  border-radius: 6px;
  background: #f8f9f8 !important;
  font-size: 16px !important;
}

.popup__input {
  height: 58px !important;
}

.popup__textarea {
  height: 112px !important;
  padding-top: 17px !important;
  line-height: 1.35;
}

.popup__btn {
  height: 62px !important;
  border-radius: 6px;
  font-size: 17px !important;
}

.popup__policy {
  align-items: flex-start;
  gap: 10px;
}

.popup__policy .formBlock__checkbox-custom {
  width: 22px;
  height: 22px;
  margin-top: 1px;
}

.popup__policy-text {
  font-size: 14px !important;
  line-height: 1.38 !important;
}

@media (max-width: 576px) {
  .popup-wrapper {
    align-items: flex-start;
    padding: 12px;
    overflow-y: auto;
  }

  .popup {
    width: 100%;
    max-width: none;
    max-height: none;
    margin: 12px 0;
    padding: 30px 20px 24px;
    gap: 19px;
    border-radius: 10px;
  }

  .popup__close {
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    font-size: 25px;
  }

  .popup__header {
    padding: 0 16px;
    gap: 10px;
  }

  .popup__title {
    font-size: 29px;
  }

  .popup__desc {
    font-size: 15px;
    line-height: 1.34;
  }

  .popup__fields {
    gap: 10px;
  }

  .popup__input {
    height: 56px !important;
  }

  .popup__textarea {
    height: 104px !important;
  }

  .popup__btn {
    height: 58px !important;
  }

  .popup__policy-text {
    font-size: 13px !important;
  }
}

@media (min-width: 769px) {
  .technology__features {
    gap: clamp(34px, 3vw, 48px);
  }
}

@media (min-width: 769px) and (max-width: 1120px) {
  .conditions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ECOGARDENS calculator: keep the base render and every transparent layer
   on one exact 4:3 coordinate canvas. Do not use contain independently on
   each image, because even a few pixels of line-box/rounding difference
   shift transparent overlays against the base render. */
.calc__left {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  line-height: 0;
}

.calc__left > .calc__left-img,
.calc__left > .calc__left-img-added {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  aspect-ratio: auto !important;
  object-fit: fill !important;
  object-position: 0 0 !important;
}

.calc__left > .calc__left-img {
  z-index: 0 !important;
}

/* Unified desktop section heading scale. */
@media (min-width: 769px) {
  .projects__title,
  .about__title,
  .useful-options__title,
  .technology__title,
  .comfort-space__title,
  .conditions__title,
  .calc__title,
  .contacts__title,
  .quiz__title,
  .formBlock__title--bigger {
    font-size: clamp(38px, 3.15vw, 52px) !important;
    line-height: 1.08 !important;
  }
}

/* ECOGARDENS: stable typography after phone orientation changes */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
input,
select,
textarea,
button {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* A phone in landscape can be wider than the desktop breakpoint.
   Keep calculator typography at mobile scale on coarse-pointer devices. */
@media (orientation: landscape) and (hover: none) and (pointer: coarse) and (max-height: 520px) {
  .calc__title,
  .quiz__title,
  .comfort-space__title,
  .technology__title,
  .conditions__title,
  .projects__title,
  .about__title,
  .options__title,
  .contacts__title,
  .formBlock__title {
    font-size: 28px !important;
    line-height: 1.08 !important;
  }

  .calc__step-title,
  .quiz__step-title,
  .calc__section-title {
    font-size: 22px !important;
    line-height: 1.15 !important;
  }

  .calc__label,
  .quiz__label,
  .choices__inner,
  .choices__item,
  .calc__price-label,
  .calc__price-note,
  .calc__price-vat,
  .calc__btn,
  .quiz__timer-text {
    font-size: 16px !important;
  }
}

/* ECOGARDENS — uporządkowany formularz końcowy kalkulatora */
@media (min-width: 768px) {
  .calc .calc__final-right {
    flex: 0 1 560px;
    max-width: 560px;
    align-self: flex-start;
    padding: clamp(28px, 2.25vw, 38px);
    background: #ffffff;
    border: 1px solid #e5e8e6;
    box-shadow: 0 18px 50px rgba(18, 43, 28, 0.07);
  }

  .calc .calc__final-right .calc__final-title {
    margin: 0 0 12px;
    font-size: clamp(32px, 2.35vw, 42px);
    line-height: 1.06;
  }

  .calc .calc__final-desc {
    max-width: 470px;
    margin: 0 0 26px;
    font-size: clamp(16px, 1.1vw, 19px);
    line-height: 1.4;
  }

  .calc .calc__final-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "name phone"
      "comment comment"
      "upload upload"
      "policy policy"
      "submit submit"
      "prev prev";
    gap: 14px 16px;
  }

  .calc .calc__form-grid {
    display: contents;
  }

  .calc .calc__final-input[name="name"] {
    grid-area: name;
  }

  .calc .calc__final-input[name="phone"] {
    grid-area: phone;
  }

  .calc .calc__final-input[name="comment"] {
    grid-area: comment;
  }

  .calc .calc__file-upload {
    grid-area: upload;
  }

  .calc .calc__final-policy {
    grid-area: policy;
  }

  .calc .calc__final-btn {
    grid-area: submit;
  }

  .calc .calc__btn-prev--text {
    grid-area: prev;
  }

  .calc .calc__final-input,
  .calc .calc__file-upload {
    min-height: 62px;
    padding: 0 20px;
    border: 1px solid #dfe3e0;
    background: #ffffff;
  }

  .calc .calc__file-upload {
    min-height: 58px;
    border-style: dashed;
    background: #fafcfb;
  }

  .calc .calc__file-upload:hover {
    border-color: #20c767;
    background: #f5fbf7;
  }

  .calc .calc__final-policy {
    margin: 2px 0 0;
    align-items: flex-start;
  }

  .calc .calc__final-policy .formBlock__policy-text {
    font-size: 14px;
    line-height: 1.35;
  }

  .calc .calc__final-btn {
    min-height: 64px;
    margin: 2px 0 0;
  }

  .calc .calc__btn-prev--text {
    justify-self: center;
    width: auto;
    min-height: 34px;
    margin: 0;
    padding: 0 8px;
    border: 0;
    font-size: 14px;
    color: #617068;
    background: transparent;
  }

  .calc .calc__btn-prev--text:hover {
    color: #13843e;
    background: transparent;
  }
}

@media (max-width: 767px) {
  .calc .calc__final-right {
    padding: 24px 18px;
    background: #ffffff;
    border: 1px solid #e5e8e6;
  }

  .calc .calc__final-right .calc__final-title {
    margin-bottom: 10px;
  }

  .calc .calc__final-desc {
    margin-bottom: 22px;
  }

  .calc .calc__final-form {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "name"
      "phone"
      "comment"
      "upload"
      "policy"
      "submit"
      "prev";
    gap: 12px;
  }

  .calc .calc__form-grid {
    display: contents;
  }

  .calc .calc__final-input[name="name"] { grid-area: name; }
  .calc .calc__final-input[name="phone"] { grid-area: phone; }
  .calc .calc__final-input[name="comment"] { grid-area: comment; }
  .calc .calc__file-upload { grid-area: upload; }
  .calc .calc__final-policy { grid-area: policy; }
  .calc .calc__final-btn { grid-area: submit; }
  .calc .calc__btn-prev--text { grid-area: prev; }

  .calc .calc__final-input,
  .calc .calc__file-upload {
    min-height: 58px;
  }

  .calc .calc__file-upload {
    border-style: dashed;
    background: #fafcfb;
  }

  .calc .calc__final-btn {
    min-height: 60px;
  }

  .calc .calc__btn-prev--text {
    justify-self: center;
    width: auto;
    border: 0;
    background: transparent;
  }
}

/* ECOGARDENS — szerszy formularz na ostatnim kroku kalkulatora */
@media (min-width: 768px) {
  .calc .calc__final {
    display: grid;
    grid-template-columns: minmax(420px, 0.92fr) minmax(540px, 1.08fr);
    column-gap: clamp(36px, 3.2vw, 58px);
    align-items: start;
  }

  .calc .calc__final-left {
    width: auto;
    min-width: 0;
  }

  .calc .calc__final-right {
    width: 100%;
    max-width: none;
    flex: none;
    padding: clamp(32px, 2.5vw, 42px);
  }

  .calc .calc__final-desc {
    max-width: 620px;
  }

  .calc .calc__final-form {
    gap: 16px 18px;
  }

  .calc .calc__final-input,
  .calc .calc__file-upload {
    min-height: 66px;
  }

  .calc .calc__final-btn {
    min-height: 66px;
  }
}

@media (min-width: 768px) and (max-width: 1120px) {
  .calc .calc__final {
    grid-template-columns: minmax(360px, 0.9fr) minmax(480px, 1.1fr);
    column-gap: 32px;
  }
}

/* ECOGARDENS — TEST: większa wizualizacja w kalkulatorze na szerokich ekranach.
   Zmiana dotyczy wyłącznie zwykłych kroków kalkulatora; formularz końcowy,
   tablety i urządzenia mobilne zachowują dotychczasowy układ. */
@media (min-width: 1121px) {
  .calc .calc__step:not(.calc__final) {
    grid-template-columns: minmax(0, 1.8fr) minmax(310px, 0.7fr);
    gap: clamp(32px, 3vw, 52px);
  }
}

/* ECOGARDENS — TEST: ukrycie etykiety "Cena orientacyjna:" przed ceną.
   Pozostaje sama wartość ceny, waluta oraz informacja o VAT. */
.calc .calc__price-label {
  display: none;
}

/* ECOGARDENS — TEST: ukrycie nagłówka "Orientacyjna cena konfiguracji:"
   na ostatnim kroku kalkulatora. Nagłówek formularza po prawej pozostaje bez zmian. */
.calc .calc__final-left > .calc__final-title {
  display: none;
}

/* ECOGARDENS — harmonijne odstępy pionowe w podsumowaniu ostatniego kroku.
   Zmiana dotyczy wyłącznie odstępów między nagłówkiem, listą opcji i ceną. */
.calc .calc__final-left .calc__final-subtitle {
  margin-bottom: clamp(14px, 1.1vw, 18px);
}

.calc .calc__final-left .calc__summary-list {
  margin-bottom: clamp(22px, 1.7vw, 28px);
}

@media (max-width: 767px) {
  .calc .calc__final-left .calc__final-subtitle {
    margin-bottom: 14px;
  }

  .calc .calc__final-left .calc__summary-list {
    margin-bottom: 20px;
  }
}

/* ECOGARDENS — typografia ceny na ostatnim kroku kalkulatora.
   Kwota ma skalę nagłówka, informacja o VAT zaczyna się od nowego wiersza,
   a tekst VAT i przypis mają rozmiar etykiet pól wyboru. */
.calc .calc__final-left .calc__final-val {
  font-size: clamp(38px, 3.15vw, 52px);
  line-height: 1.08;
}

.calc .calc__final-left .calc__final-vat {
  display: block;
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.25;
}

.calc .calc__final-left .calc__final-note {
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.25;
}

@media (max-width: 767px) {
  .calc .calc__final-left .calc__final-val {
    font-size: 38px;
  }

  .calc .calc__final-left .calc__final-vat,
  .calc .calc__final-left .calc__final-note {
    font-size: 12px;
  }
}

/* ECOGARDENS — typografia ceny na wszystkich zwykłych krokach kalkulatora.
   Kwota ma skalę zastosowaną na ekranie końcowym, informacja o VAT zaczyna się
   od nowego wiersza, a tekst VAT i przypis mają rozmiar etykiet pól wyboru. */
.calc .calc__step:not(.calc__final) .calc__price-value {
  font-size: clamp(38px, 3.15vw, 52px);
  line-height: 1.08;
}

.calc .calc__step:not(.calc__final) .calc__price-vat {
  display: block;
  flex-basis: 100%;
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.25;
}

.calc .calc__step:not(.calc__final) .calc__price-note {
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.25;
}

@media (max-width: 767px) {
  .calc .calc__step:not(.calc__final) .calc__price-value {
    font-size: 38px;
  }

  .calc .calc__step:not(.calc__final) .calc__price-vat,
  .calc .calc__step:not(.calc__final) .calc__price-note {
    font-size: 12px;
  }
}
