@charset "UTF-8";

@font-face {
  font-family: "Roboto Condensed";
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/RobotoCondensed-Light.woff2") format("woff2");
}

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

@font-face {
  font-family: "ABC Diatype Compressed";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/ABCDiatypeCompressed-Regular.woff2") format("woff2"), url("../fonts/ABCDiatypeCompressed-Regular.otf") format("opentype");
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
video {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:root {
  --container-width: 1260px;
  --transition: .3s ease;
  --default-font-family: 'Roboto Condensed';
  --heading-font-family: 'ABC Diatype Compressed';
  --sp: 64px;
  --primary: #D39C55;
  --secondary: #3B3B3D;
  --white: #FFFFFF;
  --black: #212425;
  --blue-grey: #E6EFF4;
  --grey-100: #F1F1F1;
  --grey-300: #E8E8E8;
  --grey-400: #AAADAD;
  --grey-700: #626667;
  --red: #FF3F3F;
  --green: #00E067;
  --fz-default: 16px;
  --h1: 92px;
  --h2: 66px;
  --h3: 38px;
  --h4: 24px;
  --h5: 16px;
  --h6: 14px;
  --m: 20px;
  --s: 18px;
  --btn: 14px;
  --xs: 12px;
  --xxs: 10px;
}

body {
  font: 400 var(--fz-default) var(--default-font-family), Helvetica, Arial, sans-serif;
  background: var(--white);
  min-width: 360px;
  color: var(--secondary);
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.overflow-hidden {
  overflow: hidden;
  height: 100vh;
  padding-right: var(--scrollbar-width, 0px);
}

body.overflow-hidden #bingc-phone-button.bingc-show {
  opacity: 0 !important;
}

body.overflow-hidden header {
  padding-right: var(--scrollbar-width, 0px) !important;
}

*,
*:before,
*:after {
  box-sizing: border-box;
  outline: none;
}

.hidden {
  display: none;
  overflow: hidden;
}

.wrapper {
  background: var(--blue-grey);
  margin: 0 auto;
  position: relative;
  overflow: clip;
  min-height: 100vh;
  display: flex;
  flex-flow: column;
}

[class*=__container] {
  margin: 0 auto;
  max-width: var(--container-width);
  padding: 0 10px;
  width: 100%;
}

[class*=__container] [class*=__container] {
  padding: 0;
}

[class*=__label] {
  text-transform: uppercase;
  letter-spacing: 0.4em;
  font-weight: 300;
  line-height: 120%;
  font-size: var(--m);
}

.main {
  background: var(--blue-grey);
  padding-top: 82px;
  position: relative;
  z-index: 2;
}

.main .breadcrumbs {
  padding: 24px 0;
  font-size: 14px;
  line-height: 140%;
  letter-spacing: 0.14px;
  overflow: hidden;
}

.main .breadcrumbs p > span {
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
  overflow-x: auto;
}

.main .breadcrumbs p > span::-webkit-scrollbar {
  height: 2px;
  width: calc(100% - 32px);
}

.main .breadcrumbs p > span::-webkit-scrollbar-thumb {
  background: #D39C55;
  border-radius: 8px;
}

.main .breadcrumbs p > span::-webkit-scrollbar-track {
  background: transparent;
  border-left: none;
}

.main .breadcrumbs p > span > span {
  padding: 4px 0;
}

.main .breadcrumbs p > span > span:has(a) {
  position: relative;
}

.main .breadcrumbs p > span > span:has(a)::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  background: var(--primary);
  width: 0;
  transition: width 0.3s;
}

.main .breadcrumbs p > span > span:has(a) a {
  transition: color 0.3s;
}

.main .breadcrumbs p > span > span:has(a):hover:before {
  width: 100%;
}

.main .breadcrumbs p > span > span:has(a):hover a {
  color: var(--primary);
}

.main .breadcrumbs p > span .breadcrumb_last {
  color: var(--primary);
}

.lb-nav a.lb-next,
.lb-nav a.lb-prev {
  opacity: 1;
}

body #bingc-phone-button svg.bingc-phone-button-circle circle.bingc-phone-button-circle-inside,
body #bingc-phone-button div.bingc-phone-button-tooltip svg.bingc-phone-button-arrow polyline {
  fill: var(--primary) !important;
  transition: fill 0.3s;
}

body #bingc-phone-button div.bingc-phone-button-tooltip,
body #bingc-passive div.bingc-passive-overlay,
body #bingc-active {
  background: var(--primary) !important;
}

body #bingc-phone-button:hover svg.bingc-phone-button-circle circle.bingc-phone-button-circle-inside {
  fill: var(--secondary) !important;
}

body #bingc-passive div.bingc-passive-overlay div.bingc-passive-content div.bingc-passive-get-phone-form form.bingc-passive-get-phone-form a.bingc-passive-phone-form-button,
body #bingc-active div.bingc-active-overlay div.bingc-active-content div.bingc-active-get-phone-form form.bingc-active-get-phone-form a.bingc-active-phone-form-button {
  background: var(--secondary) !important;
  transition: background-color 0.3s;
}

body #bingc-phone-button {
  transition: opacity 0.3s ease;
}

.hide-binotel #bwc-wrap {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

h1,
._h1 {
  font: 300 var(--h1)/95% var(--default-font-family);
  text-transform: uppercase;
  letter-spacing: -4.6px;
}

h2,
._h2 {
  font: 300 var(--h2)/100% var(--default-font-family);
  letter-spacing: -3.3px;
  text-transform: uppercase;
}

h2 span,
._h2 span {
  color: var(--primary);
}

h3,
._h3 {
  font: 700 var(--h3)/120% var(--default-font-family);
}

h4,
._h4 {
  font: 700 var(--h4)/125% var(--default-font-family);
}

h5,
._h5 {
  font: 700 var(--h5)/140% var(--default-font-family);
}

h6,
._h6 {
  font: 700 var(--h6)/140% var(--default-font-family);
}

a {
  color: var(--secondary);
  text-decoration: none;
}

._semibold {
  font-weight: 600;
}

._bold {
  font-weight: 700;
}

._primary {
  color: var(--primary);
}

._secondary {
  color: var(--secondary);
}

._s {
  font-size: var(--s);
  line-height: 140%;
}

._m {
  font-size: var(--m);
  line-height: 140%;
}

._l {
  font-size: var(--l);
  line-height: 140%;
}

._e {
  display: flex;
  flex-flow: column;
  gap: 8px;
}

._e ul {
  list-style: disc;
  padding-left: 20px;
}

._e strong {
  font-weight: 600;
}

._font {
  font-family: var(--heading-font-family), var(--default-font-family);
  text-transform: uppercase;
}

.wys > * {
  margin: 16px 0;
}

.wys > *:first-child {
  margin-top: 0;
}

.wys > *:last-child {
  margin-bottom: 0;
}

.wys h1,
.wys h2,
.wys h3,
.wys h4,
.wys h5,
.wys h6 {
  font-weight: 700;
  line-height: 1;
}

.wys h1,
.wys h2,
.wys h3,
.wys h4 {
  margin: 32px 0 16px;
}

.wys h1:first-child,
.wys h2:first-child,
.wys h3:first-child,
.wys h4:first-child {
  margin-top: 0;
}

.wys h1:last-child,
.wys h2:last-child,
.wys h3:last-child,
.wys h4:last-child {
  margin-bottom: 0;
}

.wys .wp-block-image {
  margin: 32px 0;
}

.wys ul li {
  display: flex;
  gap: 10px;
  padding-left: 12px;
}

.wys ul li::before {
  background: var(--secondary);
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 50%;
  margin-top: 13px;
  display: inline-block;
}

.wys ol {
  counter-reset: listCounter;
}

.wys ol li {
  display: flex;
  gap: 10px;
  counter-increment: listCounter;
}

.wys ol li::before {
  content: counter(listCounter) ".";
  display: inline-block;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: var(--primary);
  text-align: center;
  line-height: 24px;
}

.wys p,
.wys a,
.wys li {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.55;
}

.wys p strong,
.wys a strong,
.wys li strong {
  font-weight: 700;
}

.wys a {
  font-weight: 300;
  text-decoration: underline;
  text-underline-offset: 5px;
  transition: var(--transition);
}

.wys a:hover {
  text-shadow: 0 0 var(--secondary);
  text-decoration: none;
}

.btn {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  padding: 18px 24px;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  background: var(--primary, #D39C55);
  position: relative;
  overflow: hidden;
  gap: 8px;
  cursor: pointer;
}

.btn svg {
  margin-bottom: 2px;
}

.btn span {
  font: normal 400 var(--btn)/1 var(--default-font-family);
  color: var(--white, #FFF);
  letter-spacing: 0.28px;
  text-transform: uppercase;
  z-index: 2;
  transition: 0.3s ease all;
  will-change: transform;
}

.btn:before {
  background: var(--secondary);
  content: "";
  width: 105%;
  height: 102%;
  display: block;
  position: absolute;
  left: -1%;
  right: 0;
  transform: translateY(102%);
  transition: transform 0.3s ease;
  will-change: transform;
}

.btn:hover:before {
  transform: translateY(0);
}

.btn.btn-black {
  background: var(--secondary, #3B3B3D);
}

.btn.btn-black:before {
  background: var(--primary, #D39C55);
}

.btn.btn-gray {
  background: rgba(59, 59, 61, 0.04);
  border: none;
  color: var(--secondary);
}

.btn.btn-gray .btn-text {
  color: currentColor;
}

.btn.btn-gray:before {
  background: var(--secondary, #3B3B3D);
}

.btn.btn-gray:hover {
  color: #fff;
}

.btn.btn-gray:hover:before {
  background: var(--secondary, #3B3B3D);
}

.btn.transparent {
  background: transparent;
  border: 1px solid var(--secondary);
}

.btn.transparent span {
  color: var(--secondary);
}

.btn.transparent:hover span {
  color: var(--white);
}

.btn.transparent:hover svg path {
  stroke: var(--white);
}

.subm {
  cursor: pointer;
  border: none;
  display: block;
  margin: 0 auto;
}

svg {
  z-index: 2;
}

svg path {
  transition: var(--transition);
}

.form {
  max-width: 400px;
  position: relative;
}

.form__inputs {
  display: flex;
  flex-flow: column;
  gap: 15px;
}

.form .input {
  background: #fff;
  width: 100%;
  height: 60px;
  border: 2px solid #dcdcdc;
  border-radius: 3px;
  padding-left: 15px;
  font-weight: 400;
  font-size: 16px;
  line-height: 60px;
  display: block;
}

.form .input__wrap {
  display: block;
  text-align: left;
}

.form .input__label {
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;
  display: block;
}

.form:before {
  content: "";
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(255, 255, 255, 0.7) url(../img/loading.svg) 50% no-repeat;
  z-index: 10;
}

.form.loading:before {
  display: block;
}

.form .intl-tel-input {
  width: 100%;
}

.form .country-list .country-name {
  color: #333;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
  box-shadow: 0 0 0px 1000px transparent inset;
  -webkit-text-fill-color: #3B3B3D;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  pointer-events: none;
}

.preloader__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(16px);
  transition: all 0.8s ease;
  transform: translateZ(0);
}

.preloader.is-fading .preloader__bg {
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(0px);
}

.preloader.is-done {
  z-index: -1;
}

@keyframes drawB {
  to {
    stroke-dashoffset: 0;
  }
}

.header {
  background: var(--blue-grey);
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  display: flex;
  padding-top: 16px;
  z-index: 100;
  min-height: 82px;
  transition: background-color 0.6s ease, height 0.6s ease, transform 0.6s ease;
}

.header.hidden {
  transform: translateY(-110%);
}

.header.is-preloader-active {
  z-index: 1001;
}

.header__container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  -moz-column-gap: 53px;
  column-gap: 53px;
}

.header__burger {
  background: rgba(255, 255, 255, 0.32);
  cursor: pointer;
  display: none;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: 4px;
  border-radius: 50%;
  border: 1px solid var(--white);
  transition: all 0.3s ease;
}

.header__burger span {
  background: var(--white);
  width: 18px;
  height: 1px;
  will-change: transform;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.header__logo-spacer {
  width: 62px;
  flex: 1;
  height: 48px;
}

.header__logo {
  width: 62px;
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: calc((100vw - var(--container-width)) / 2);
  top: 16px;
  will-change: transform;
}

.header__logo.is-preloader .header__logo-b {
  width: 81%;
  height: auto;
  aspect-ratio: 337/318;
}

.header__logo.is-preloader .header__logo-b path[mask] {
  fill: var(--primary);
}

.header__logo.is-preloader .header__logo-b .header__logo-b-mask {
  fill: none;
  stroke: white;
  stroke-width: 8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header__logo.is-preloader .header__logo-text {
  width: 100%;
  aspect-ratio: 408/49;
  height: auto;
  position: absolute;
  top: 47%;
  left: 0;
}

.header__logo.is-preloader .header__logo-text path {
  opacity: 0;
}

.header__logo.is-drawing .header__logo-b-mask {
  stroke-dasharray: 4000;
  stroke-dashoffset: 4000;
  animation: drawB 4s cubic-bezier(0.5, 0, 0.3, 1) forwards;
}

.header__logo.is-moving {
  position: fixed;
  opacity: 1;
  transform: none;
  width: 61px;
  transition: top 1s cubic-bezier(0.4, 0, 0.2, 1), left 1s cubic-bezier(0.4, 0, 0.2, 1), width 1s cubic-bezier(0.4, 0, 0.2, 1), transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.header__logo.is-moving .header__logo-b {
  width: 81%;
  height: auto;
  margin-right: 8%;
  transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.header__logo.is-moving .header__logo-b path {
  transition: all 2s ease;
}

.header__logo.is-moving .header__logo-text {
  position: absolute;
  top: 47%;
  left: 0%;
  width: 100%;
  transition: all 0.6s ease;
}

.header__logo.is-moving .header__logo-text path {
  fill: #ffffff;
}

.header__logo.is-ready {
  position: absolute;
  opacity: 1;
}

.header__logo.is-ready .header__logo-b {
  width: 81%;
  height: auto;
  margin-right: 8%;
}

.header__logo.is-ready .header__logo-b path[mask] {
  fill: var(--primary);
}

.header__logo.is-ready .header__logo-b .header__logo-b-mask {
  stroke-dasharray: none !important;
  stroke-dashoffset: 0 !important;
}

.header__logo.is-ready .header__logo-text {
  position: absolute;
  top: 47%;
  left: 0%;
  width: 100%;
  height: auto;
  z-index: 10;
}

.header__logo-b {
  width: 81%;
  height: auto;
  margin-right: 8%;
}

.header__logo-b path[mask] {
  transition: all 1s ease;
  fill: var(--primary);
}

.header__logo-text {
  width: 100%;
  height: auto;
  position: absolute;
  top: 47%;
  left: 0;
}

.header__logo-text path {
  opacity: 1;
}

.header__right-content {
  display: flex;
  align-items: center;
  -moz-column-gap: 26px;
  column-gap: 26px;
  transition: opacity 0.3s ease-in;
  opacity: 1;
}

.header__phone {
  color: var(--white, #FFF);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: var(--transition);
}

.header__phone:hover {
  color: var(--primary);
}

.header__menu {
  display: flex;
  -moz-column-gap: 48px;
  column-gap: 48px;
  height: 100%;
  transition: opacity 0.3s ease;
  margin-top: -16px;
  will-change: transform;
}

.header__menu .menu-item {
  height: 100%;
}

.header__menu .menu-item a {
  color: var(--white, #FFF);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 125%;
  letter-spacing: 0.28px;
  text-transform: uppercase;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding-top: 17px;
  transition: var(--transition);
}

.header__menu .menu-item a:before {
  background: var(--white);
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 4px;
  transition: all 0.2s ease;
  will-change: transform;
}

.header__menu .menu-item a:hover:before {
  left: 0;
  width: 100%;
}

.header:hover,
.header.change-style {
  background: var(--blue-grey);
}

.header:hover .header__phone,
.header.change-style .header__phone {
  color: var(--secondary);
}

.header:hover .header__phone:hover,
.header.change-style .header__phone:hover {
  color: var(--primary);
}

.header:hover .header__logo-text path,
.header.change-style .header__logo-text path {
  fill: var(--secondary);
}

.header:hover .header__logo-b path,
.header.change-style .header__logo-b path {
  fill: var(--primary) !important;
}

.header:hover .header__menu .menu-item a,
.header.change-style .header__menu .menu-item a {
  color: var(--secondary);
}

.header:hover .header__menu .menu-item a:before,
.header.change-style .header__menu .menu-item a:before {
  background: var(--secondary);
}

.header:hover .header__burger,
.header.change-style .header__burger {
  background: transparent;
  border: 1px solid var(--secondary);
}

.header:hover .header__burger span,
.header.change-style .header__burger span {
  background: var(--secondary);
}

.header:not(.change-style) {
  min-height: 128px;
  padding: 0;
}

.header:not(.change-style) .header__container {
  align-items: center;
}

.header:not(.change-style) .header__menu {
  -moz-column-gap: 32px;
  column-gap: 32px;
  margin-top: 0;
}

.header:not(.change-style) .header__menu .menu-item a {
  font-size: 22px;
  padding-top: 0;
  transition: var(--transition);
  font-weight: 300;
  padding-right: 1px;
}

.header:not(.change-style) .header__phone {
  font-size: 24px;
  font-weight: 300;
  line-height: 135%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.header:not(.change-style) .header__logo-spacer {
  height: 86px;
  margin-top: -11px;
}

.header:not(.change-style) .header__logo {
  width: 111px;
  top: 16px;
}

.header:not(.change-style) .header__logo.is-moving {
  width: 111px;
}

.home.overflow-hidden .header__right-content,
.home.overflow-hidden .header__menu,
.home.overflow-hidden .header__logo-text path,
.home.overflow-hidden .header__burger {
  opacity: 0;
}

.home.overflow-hidden .header {
  pointer-events: none;
}

.home .header {
  background: transparent;
}

.home .header:hover,
.home .header.change-style {
  background: var(--blue-grey);
}

.home .header .header__logo {
  opacity: 1;
}

.home .header .header__logo.is-preloader {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 408px;
  max-width: 96%;
  opacity: 1;
}

.mob-menu {
  background: var(--blue-grey);
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  padding-top: 140px;
  z-index: -1;
  transform: translateX(100%);
  transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mob-menu-open .mob-menu {
  transform: translateX(0);
}

.mob-menu__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 48px;
  min-height: 100%;
  padding: 0 16px 40px;
}

.mob-menu__nav {
  width: 100%;
}

.mob-menu__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  row-gap: 12px;
}

.mob-menu__list .menu-item a {
  display: block;
  color: var(--secondary);
  font-size: var(--h2);
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
  transition: color var(--transition);
  letter-spacing: -0.05em;
}

.mob-menu__list .menu-item a:hover {
  color: var(--primary);
}

.mob-menu__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  width: 100%;
}

.mob-menu__phone {
  display: block;
  color: var(--secondary);
  font-size: var(--h2);
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
  transition: color var(--transition);
  letter-spacing: -0.05em;
}

.mob-menu__phone:hover {
  color: var(--primary);
}

.mob-menu__button {
  width: 100%;
  max-width: 358px;
}

.mob-menu-open {
  overflow: hidden;
  height: 100vh;
}

.mob-menu-open .header {
  background: transparent;
}

.mob-menu-open .header__logo-text path {
  fill: var(--primary);
}

.mob-menu-open .header__logo-b path {
  fill: var(--secondary) !important;
}

.mob-menu-open .header__burger {
  background: var(--white);
}

.mob-menu-open .header__burger span {
  background: var(--secondary);
}

.mob-menu-open .header__burger span:nth-child(1) {
  transform: rotate(45deg) translate(3px, 3px);
}

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

.mob-menu-open .header__burger span:nth-child(3) {
  transform: rotate(-45deg) translate(3.5px, -3px);
}

.hero {
  position: relative;
  min-height: 600px;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  display: flex;
}

@supports (height: 100dvh) {
  .hero {
    min-height: 100dvh;
  }
}

.hero__video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

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

.hero__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 100%);
  z-index: 2;
}

.hero__container {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  padding-bottom: 45px;
  flex: 1;
}

.hero__content {
  max-width: 620px;
  min-height: 230px;
}

.hero__title {
  color: var(--soft-white, #EEEEEC);
  margin-bottom: 8px;
}

.hero__subtitle {
  font-weight: 300;
  color: var(--white);
  text-transform: uppercase;
  font-size: 38px;
  line-height: 100%;
  letter-spacing: -0.05em;
}

.hero__info {
  color: var(--white);
  text-align: right;
  display: flex;
  align-items: flex-end;
  flex-flow: column;
  gap: 24px;
}

.hero__info-line {
  padding-right: 20px;
  border-right: 1px solid var(--blue-grey, #E6EFF4);
}

.hero__info-line .address {
  font-style: normal;
  font-weight: 400;
  font-size: 66px;
  line-height: 100%;
  letter-spacing: -0.03em;
}

.hero__info-line .address b {
  font: normal 400 24px/135% var(--default-font-family);
  letter-spacing: 0.24px;
}

.hero__info-line .location {
  font-weight: 300;
  font-size: 24px;
  line-height: 155%;
  letter-spacing: 0.01em;
}

.about {
  background: var(--blue-grey);
  position: relative;
  padding: 160px 0;
  overflow: hidden;
  z-index: 3;
}

.about__decor {
  position: absolute;
  top: 0;
  left: calc((100vw - 1100px) / 2);
  width: 100%;
  max-width: 443px;
  z-index: 1;
  pointer-events: none;
  aspect-ratio: 443/414;
}

.about__decor img {
  width: 100%;
  height: auto;
}

.about__container {
  position: relative;
  z-index: 2;
}

.about__label {
  margin-bottom: 29px;
  text-align: center;
}

.about__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 666px;
  min-height: 528px;
  position: relative;
  margin: 0 auto;
}

.about__title-left ._h2 {
  color: var(--primary);
}

.about__title-right {
  align-self: start;
  text-align: center;
}

.about__title-right ._h2 {
  color: var(--primary);
}

.about__image {
  position: absolute;
  aspect-ratio: 457/580;
  max-width: 457px;
  width: 100%;
  left: -73px;
  top: -12px;
}

.about__image img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.about__bottom-text {
  grid-column: 1/3;
  align-content: flex-end;
  text-align: right;
}

.about__bottom-line {
  color: var(--primary);
  max-width: 415px;
  width: 100%;
  text-align: left;
  margin-left: auto;
}

.about__bottom-line:last-child {
  padding-left: 14px;
}

.about__bottom-line:first-child {
  padding-left: 31px;
}

.reveal-line {
  opacity: 0;
  transform: translateY(45px);
  transition: opacity 1.2s ease, transform 1.5s ease;
}

.reveal-line.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.about__bottom-line.reveal-line {
  transform: translateY(80px);
  transition: opacity 0.4s ease, transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about__bottom-line.reveal-line.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.numbers {
  background: var(--blue-grey);
  position: relative;
  padding: 0 0 300px;
  z-index: 6;
}

.numbers__decor {
  will-change: transform;
  transition: transform 0.7s ease-out;
  position: absolute;
  top: 17%;
  left: calc(50% + 72px);
  width: 992px;
  pointer-events: none;
  z-index: 3;
}

.numbers__decor img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.numbers__decor-2 {
  will-change: transform;
  transition: transform 0.8s ease-out;
  position: absolute;
  bottom: -149px;
  right: 50%;
  width: 1042px;
  pointer-events: none;
  z-index: 3;
  will-change: transform;
}

.numbers__decor-2 img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.numbers__container {
  position: relative;
  z-index: 2;
}

.numbers__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 200px;
}

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

.numbers__text {
  max-width: 400px;
  font-size: var(--s);
  line-height: 155%;
  letter-spacing: 0.01em;
}

.numbers__card {
  display: flex;
  align-items: center;
  gap: 32px;
  background: var(--white);
  padding: 24px;
}

.numbers__card-title {
  font-weight: 300;
  font-size: 24px;
  line-height: 135%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.numbers__card-quarter {
  color: var(--primary);
  font-weight: 400;
}

.numbers__card-quarter small {
  font: normal 400 var(--s)/155% var(--default-font-family);
  vertical-align: top;
  letter-spacing: 0.01em;
  color: var(--secondary);
}

.numbers__card-year {
  color: var(--primary);
  font-weight: 400;
}

.numbers__card-year small {
  font: normal 400 var(--s)/155% var(--default-font-family);
  vertical-align: top;
  letter-spacing: 0.01em;
  color: var(--secondary);
}

.numbers__body {
  display: flex;
  gap: 32px;
  align-items: center;
}

.numbers__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 32px;
  flex: 1;
}

.numbers__item {
  will-change: transform;
  transition: transform 0.45s ease-out;
}

.numbers__item:nth-child(1) {
  transition-duration: 0.35s;
}

.numbers__item:nth-child(2) {
  transition-duration: 0.45s;
}

.numbers__item:nth-child(3) {
  transition-duration: 0.55s;
}

.numbers__item:nth-child(4) {
  transition-duration: 0.5s;
}

.numbers__item:nth-child(5) {
  transition-duration: 0.6s;
}

.numbers__item:nth-child(6) {
  transition-duration: 0.7s;
}

.numbers__value {
  position: relative;
}

.numbers__suffix {
  font-size: 18px;
  letter-spacing: 0;
  position: absolute;
  bottom: 10px;
  line-height: 1;
  font-weight: 400;
  text-transform: lowercase;
  transform: translateX(55%);
}

.numbers__desc {
  font-size: var(--s);
  line-height: 155%;
  letter-spacing: 0.18px;
  max-width: 180px;
}

.numbers__images {
  position: relative;
  min-height: 525px;
  flex: 1;
}

.numbers__image {
  overflow: hidden;
}

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

.numbers__image video {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.numbers__image--1 {
  will-change: transform;
  transition: transform 0.7s ease-out;
  max-width: 392px;
  width: 100%;
  aspect-ratio: 392/525;
  position: relative;
  z-index: 2;
}

.numbers__image--2 {
  width: 302px;
  aspect-ratio: 302/175;
  position: absolute;
  right: 0;
  bottom: 47px;
  z-index: 2;
  will-change: transform;
  transition: transform 0.65s ease-out;
  border: 8px solid var(--blue-grey);
}

.infra {
  background: var(--blue-grey);
  position: relative;
  padding: 30px 0 160px;
  z-index: 5;
}

.infra__label {
  margin-bottom: 24px;
  text-align: center;
}

.infra__title {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 80px;
}

.infra__body {
  display: flex;
  gap: 32px;
}

.infra__tabs {
  flex: 0 0 auto;
  max-width: 392px;
  width: 45%;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.infra__tab {
  font: 300 var(--btn)/1.4 var(--default-font-family);
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--grey-400);
  text-align: left;
  letter-spacing: 0.01em;
  transition: color var(--transition);
  position: relative;
  border-bottom: 1px solid var(--black-20, rgba(59, 59, 61, 0.2));
}

.infra__tab:before {
  background: var(--secondary);
  content: "";
  display: block;
  width: 0;
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: width 0.3s ease;
}

.infra__tab svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  opacity: 0.4;
  transition: opacity var(--transition), color var(--transition);
}

.infra__tab:hover {
  color: var(--secondary);
}

.infra__tab:hover svg {
  opacity: 1;
}

.infra__tab:hover svg path {
  fill: var(--secondary);
}

.infra__tab.is-active {
  color: var(--secondary);
  font-weight: 400;
}

.infra__tab.is-active:before {
  width: 100%;
}

.infra__tab.is-active svg {
  opacity: 1;
  color: var(--secondary);
  fill: var(--secondary);
}

.infra__tab.is-active svg circle {
  fill: currentColor;
  stroke: currentColor;
}

.infra__images {
  flex: 1;
  position: relative;
  overflow: hidden;
  width: 100%;
}

.infra__panel {
  display: none;
}

.infra__panel-inner img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 341/192;
  -o-object-fit: cover;
  object-fit: cover;
}

.infra__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateY(100%);
  z-index: 1;
  will-change: transform;
}

.infra__slide.is-active {
  transform: translateY(0);
  z-index: 2;
}

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

.gallery {
  background: var(--blue-grey);
  position: relative;
  padding: 160px 0;
  z-index: 3;
  overflow: hidden;
}

.gallery__slider {
  overflow: visible;
  width: 711px;
  height: 400px;
}

.gallery__slider .swiper-wrapper {
  align-items: flex-start;
}

.gallery__slide {
  width: auto;
  flex-shrink: 0;
  overflow: hidden;
  height: 200px;
  transition: height 0.7s ease;
}

.gallery__slide.swiper-slide-active {
  height: 400px;
}

.gallery__slide img {
  display: block;
  height: 100%;
  width: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.developer {
  background: var(--blue-grey);
  position: relative;
  z-index: 3;
}

.developer__container {
  padding: 0 32px;
  width: 100%;
  max-width: 100%;
}

.developer__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.developer__sticky {
  position: sticky;
  top: 0px;
  height: 100vh;
}

.developer__sticky.mobile {
  display: none;
}

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

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

.developer__label {
  margin-bottom: 24px;
}

.developer__title {
  margin-bottom: 48px;
  color: var(--primary);
}

.developer__text {
  font-size: var(--s);
  line-height: 1.55;
  color: var(--secondary);
}

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

.developer__inner {
  max-width: 388px;
  margin: 0 auto;
  min-height: 800px;
  padding-top: 160px;
  padding-bottom: 60px;
}

.developer__slider-area {
  width: 100%;
}

.developer__slider {
  width: 100%;
  overflow: hidden;
  position: relative;
  height: 100vh;
}

.developer__slider .swiper-slide a {
  display: block;
  cursor: zoom-in;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.developer__slider .swiper-slide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}

.developer__slider-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: absolute;
  bottom: 20px;
  z-index: 2;
  padding: 0 20px;
  width: 100%;
}

.developer__slider-counter {
  font-size: var(--s);
  min-width: 50px;
  font-weight: 400;
  line-height: 125%;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--white);
}

.developer__slider-arrows {
  display: flex;
  gap: 8px;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  justify-content: space-between;
  padding: 0 24px;
  z-index: 5;
  left: 0;
}

.developer__arrow {
  background: var(--white);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--secondary);
  transition: var(--transition);
  padding: 0;
}

.developer__arrow svg {
  transition: var(--transition);
}

.developer__arrow:hover {
  background: var(--primary);
}

.developer__arrow:hover svg path {
  stroke: var(--white);
}

.developer__slider-dots {
  display: flex;
  gap: 12px;
  align-items: center;
  width: -moz-max-content !important;
  width: max-content !important;
  position: static !important;
}

.developer__slider-dots .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: transparent;
  border-radius: 50%;
  border: 1px solid var(--blue-grey);
  opacity: 1;
  transition: background var(--transition);
  margin: 0 !important;
  flex: 1;
}

.developer__slider-dots .swiper-pagination-bullet-active {
  background: var(--blue-grey);
}

.news {
  background: var(--blue-grey);
  position: relative;
  padding: 160px 0;
  z-index: 3;
}

.news__decor {
  position: absolute;
  top: 28%;
  left: 50%;
  transform: translate(-58%, -50%);
  max-width: 700px;
  aspect-ratio: 1;
  pointer-events: none;
  z-index: 0;
  width: 67vw;
}

.news__decor img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: left center;
  object-position: left center;
}

.news__container {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 32px;
}

.news__left {
  width: calc((100% - 64px) / 3);
  display: flex;
  align-items: flex-start;
  flex-flow: column;
  gap: 24px;
  flex-shrink: 0;
}

.news__title {
  color: var(--primary);
  max-width: 330px;
}

.news__btn {
  padding: 16px 24px;
  height: 50px;
  margin-top: 24px;
}

.news__cards {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.docs {
  background: var(--blue-grey);
  position: relative;
  padding: 160px 0;
  z-index: 5;
}

.docs__decor {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1042px;
  aspect-ratio: 2/1;
  pointer-events: none;
  z-index: 0;
  transform: translateY(26%);
}

.docs__decor img {
  width: 100%;
  height: auto;
}

.docs__container {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 32px;
}

.docs__left {
  width: calc((100% - 64px) / 3);
  max-width: 391px;
  display: flex;
  flex-flow: column;
  gap: 32px;
  flex-shrink: 0;
}

.docs__title {
  color: var(--primary);
}

.docs__nav {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.docs__nav-btn {
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 50%;
  cursor: pointer;
}

.docs__nav-btn.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}

.docs__slider {
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.docs__slide {
  height: auto;
}

.docs__card {
  display: flex;
  flex-direction: column;
  background: rgb(255, 255, 255);
  padding: 24px;
  height: 100%;
  min-height: 380px;
  position: relative;
  transition: var(--transition);
}

.docs__card:hover {
  background: #EEF4F8;
}

.docs__card:hover .btn {
  opacity: 1;
  transform: translate(-50%, -20px) scale(1);
}

.docs__card-ext {
  font-size: var(--btn);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.28px;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 8px;
}

.docs__card-title {
  font-size: var(--h4);
  font-weight: 300;
  line-height: 120%;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  color: var(--secondary);
}

.docs__card-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 120%) scale(0);
  opacity: 0;
  transition: opacity 0.6s ease, transform 0.6s ease;
  padding: 16px 24px;
  height: 50px;
  color: #fff;
}

.showcase-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
}

.showcase-fixed.is-visible {
  opacity: 1;
}

.showcase-fixed__inner {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.showcase-fixed__media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: block;
}

.showcase {
  position: relative;
  z-index: 2;
  height: 60vh;
  min-height: 750px;
  display: flex;
  align-items: center;
}

.showcase__inner {
  background: var(--primary);
  padding: 32px;
  max-width: 395px;
}

.showcase__title {
  color: var(--secondary);
  margin-bottom: 32px;
}

.showcase__fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 16px;
}

.showcase .input__wrap {
  display: block;
  position: relative;
}

.showcase .input__wrap .input__label {
  font: 300 24px/1.3 var(--default-font-family);
  display: block;
  color: var(--secondary, #3B3B3D);
  transform: translateY(35px);
  transition: all 0.3s ease;
  text-transform: uppercase;
  position: absolute;
  letter-spacing: 0.05em;
  top: 0;
  will-change: transform;
}

.showcase .input__wrap:focus .input__label,
.showcase .input__wrap:focus-within .input__label {
  transform: translateY(0);
  font-size: 14px;
  color: var(--white);
}

.showcase .input__wrap.has-value .input__label {
  transform: translateY(0);
  font-size: 14px;
}

.showcase .input__wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  transition: all 0.4s ease;
  will-change: transform;
}

.showcase .input__wrap:focus::after,
.showcase .input__wrap:focus-within::after {
  left: 0;
  width: 100%;
  background: var(--white, #FFFFFF) !important;
}

.showcase .input__wrap.has-error::after {
  left: 0;
  width: 100%;
  background: var(--red, #FF3F3F);
}

.showcase .input__wrap.has-success::after {
  left: 0;
  width: 100%;
  background: var(--secondary);
}

.showcase .input__wrap.has-success .input__label {
  transform: translateY(0);
  font-size: 14px;
}

.showcase .input__wrap.is-hover::after {
  left: 0;
  width: 100%;
  background: var(--secondary);
}

.showcase .input__wrap.has-success::before,
.showcase .input__wrap.has-error::before {
  position: absolute;
  right: 0;
  bottom: 18px;
  font-size: 20px;
  line-height: 1;
}

.showcase .input__wrap.has-success::before {
  content: "✓";
  color: var(--secondary, #3B3B3D);
}

.showcase .input__wrap.has-error::before {
  content: "✕";
  color: var(--red, #FF3F3F);
}

.showcase .input {
  font: 300 38px/1.3 var(--default-font-family);
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--black-20, rgba(59, 59, 61, 0.2));
  padding: 24px 30px 5px 0;
  text-transform: uppercase;
  letter-spacing: -0.05em;
  color: var(--secondary, #3B3B3D);
  outline: none;
  height: auto;
  border-radius: 0;
}

.showcase .input::-moz-placeholder {
  color: var(--secondary, #3B3B3D);
}

.showcase .input::placeholder {
  color: var(--secondary, #3B3B3D);
}

.showcase .input:focus {
  color: var(--white);
}

.showcase__checkbox {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 48px;
  cursor: pointer;
}

.showcase__checkbox input[type=checkbox] {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--secondary, #3B3B3D);
  background: transparent;
  cursor: pointer;
}

.showcase__checkbox input[type=checkbox]:checked {
  background: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28' height='28' fill='%233B3B3D'/%3E%3Cpath d='M8.18457 13.9428L12.5882 18.2519L20.7846 10.3359' stroke='%23D39C55' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") no-repeat center;
}

.showcase__checkbox span {
  font: var(--btn)/1.5 var(--default-font-family);
  color: var(--secondary, #3B3B3D);
}

.showcase__checkbox span a {
  color: var(--secondary, #3B3B3D);
  text-decoration: underline;
}

.showcase__checkbox span a:hover {
  text-decoration: none;
}

.showcase__submit {
  display: inline-flex;
  max-width: 300px;
  width: 100%;
}

.map {
  background: var(--blue-grey);
  position: relative;
  width: 100%;
  z-index: 4;
  overflow: hidden;
}

.map-wrap {
  position: relative;
  width: 100%;
}

.map-wrap__title {
  text-align: center;
  max-width: 728px;
  margin: 0 auto 80px auto;
}

.map-wrap__scroll-hint {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.map-wrap__scroll-hint.is-visible {
  opacity: 1;
}

.map-section {
  background: var(--secondary);
  position: relative;
  width: 100%;
  aspect-ratio: 1500/844;
}

.map-section__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 1;
}

.map-section__bg-active {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.map-section__bg-active.is-visible {
  opacity: 1;
}

.map-section__pattern {
  position: absolute;
  bottom: -17%;
  left: -7.5%;
  width: 78%;
  z-index: 3;
  pointer-events: none;
  transform: scaleY(-1);
}

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

.map-section__contours {
  position: absolute;
  left: 46.59%;
  top: 40.5%;
  width: 35.5%;
  z-index: 4;
  aspect-ratio: 526/396;
  pointer-events: none;
}

.map-section__building {
  pointer-events: all;
  cursor: pointer;
  fill: transparent;
  transition: fill 0.3s ease;
}

.map-section__building:hover {
  fill: rgba(206, 153, 84, 0.3);
}

.map-section__building.is-active {
  fill: rgba(206, 153, 84, 0.5);
}

.map-section__pin {
  background: var(--white);
  position: absolute;
  z-index: 5;
  width: 32px;
  height: 32px;
  transform: translate(-50%, -50%);
  cursor: pointer;
  border: none;
  padding: 0;
  transition: all 0.3s ease;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  will-change: transform;
}

.map-section__pin svg path {
  transition: stroke 0.3s ease;
}

.map-section__pin:hover {
  background: var(--primary);
}

.map-section__pin:hover svg path {
  stroke: var(--white);
}

.map-section__pin.is-hidden {
  background: var(--primary);
  pointer-events: none;
}

.map-section__pin.is-hidden svg path {
  stroke: var(--white);
}

.map-section__popup {
  position: absolute;
  z-index: 10;
  width: 324px;
  padding: 24px;
  background: var(--soft-white, #EEEEEC);
  box-shadow: 0 12px 40px rgba(59, 59, 61, 0.4);
  transform: translate(-100%, -173%);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.map-section__popup.sale {
  transform: translate(-100%, -143%);
}

.map-section__popup.is-open {
  opacity: 1;
  visibility: visible;
}

.map-section__popup.top-position {
  transform: translate(-100%, 74%);
}

.map-section__popup.top-position .map-section__popup-pointer {
  top: -60px;
  bottom: unset;
  transform: rotateX(180deg);
}

.map-section__popup-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 12px;
  border-radius: 999px;
}

.map-section__popup-close:hover svg path {
  stroke: var(--primary);
}

.map-section__popup-header {
  width: 100%;
}

.map-section__popup-status {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 0;
}

.map-section__popup-status img {
  width: 16px;
  height: 16px;
}

.map-section__popup-status span {
  font-size: var(--btn);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #56BA5C;
  padding-top: 2px;
}

.map-section__popup-status--project span {
  color: #C26161;
}

.map-section__popup-name {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--secondary);
}

.map-section__popup-name-text {
  font-size: var(--h4);
  font-weight: 300;
  line-height: 1.35;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.map-section__popup-name-num {
  font: 25px/1.3 var(--heading-font-family);
}

.map-section__popup-info {
  display: flex;
  gap: 16px;
  width: 100%;
}

.map-section__popup-detail {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 130px;
}

.map-section__popup-label {
  font-size: var(--btn);
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: var(--secondary);
}

.map-section__popup-value {
  font-size: var(--h4);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.01em;
  color: var(--secondary);
}

.map-section__popup-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 16px;
  background: var(--secondary);
  color: var(--white);
  border-radius: 999px;
  text-decoration: none;
  font-size: var(--btn);
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.25;
  overflow: hidden;
  position: relative;
  transition: background-color 0.3s ease;
}

.map-section__popup-btn:hover {
  background: var(--primary);
}

.map-section__popup-btn svg {
  width: 16px;
  height: 16px;
}

.map-section__popup-pointer {
  position: absolute;
  bottom: -60px;
  right: 0;
  width: 20px;
  height: 80px;
  pointer-events: none;
}

.map-section__popup-pointer img {
  width: 100%;
  height: 100%;
}

.contacts-map {
  background: var(--blue-grey);
  position: relative;
  width: 100%;
  height: 750px;
  z-index: 3;
}

.contacts-map__map {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.contacts-map__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.contacts-map__pin {
  position: absolute;
  top: 46%;
  left: 49%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 64px;
  height: 64px;
  pointer-events: none;
}

.contacts-map__pin img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.contacts-map__card {
  position: absolute;
  top: 50%;
  left: calc((100vw - var(--container-width)) / 2 + 10px);
  transform: translateY(-50%);
  z-index: 3;
  background: var(--white);
  padding: 48px 32px;
  width: 472px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contacts-map__label {
  text-transform: uppercase;
  letter-spacing: 0.4em;
  font-weight: 300;
  line-height: 120%;
  font-size: var(--m);
  color: var(--secondary);
  margin-bottom: 4px;
}

.contacts-map__field {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.contacts-map__field.font .contacts-map__field-value {
  font-weight: 300;
  font-size: var(--h3);
  line-height: 100%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.contacts-map__field-label {
  font-size: var(--btn);
  line-height: 1.4;
  color: var(--grey-500);
  font-weight: 300;
}

.contacts-map__field-value {
  font-size: var(--h4);
  font-weight: 700;
  line-height: 1.4;
  color: var(--secondary);
}

.contacts-map__field-value--link {
  text-decoration: none;
  transition: color var(--transition);
}

.contacts-map__field-value--link:hover {
  color: var(--primary);
}

.contacts-map__route {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border: 1px solid var(--secondary);
  border-radius: 999px;
  background: transparent;
  color: var(--secondary);
  font-size: var(--btn);
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--transition), color var(--transition), border-color var(--transition);
  align-self: flex-start;
  margin-top: 4px;
}

.contacts-map__route svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.contacts-map__route:hover {
  background: var(--secondary);
  color: var(--white);
}

.error404:not(body) {
  background: var(--blue-grey);
  min-height: calc(100vh - 80px);
  display: flex;
  align-items: center;
  position: relative;
  z-index: 3;
  padding-top: 100px;
}

.error404__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding-top: 48px;
  padding-bottom: 48px;
}

.error404__content {
  display: flex;
  flex-direction: column;
  gap: 48px;
  max-width: 392px;
  flex-shrink: 0;
}

.error404__txt {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.error404__title-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-transform: uppercase;
}

.error404__title {
  font: 300 var(--h2)/1 var(--default-font-family);
  letter-spacing: -0.05em;
  color: var(--primary);
  text-transform: uppercase;
}

.error404__text {
  font-size: var(--s);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.01em;
  color: var(--secondary);
}

.error404__button {
  width: 300px;
}

.error404__code {
  flex-shrink: 0;
  width: 527px;
  height: 430px;
}

.error404__code svg {
  width: 100%;
  height: 100%;
  display: block;
}

.single-page__wrap {
  background: var(--blue-grey);
  position: relative;
  z-index: 3;
  padding-top: 120px;
}

.single-page__wrap .wp-block-heading,
.single-page__wrap p {
  margin: 32px 0;
}

.single-page__wrap p,
.single-page__wrap ul,
.single-page__wrap ol {
  margin: 20px 0;
  font-size: 18px;
}

.footer {
  z-index: 5;
}

.footer__header {
  background: var(--blue-grey);
  margin-top: auto;
  padding: 160px 0 0;
  position: relative;
  z-index: 2;
}

.footer__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  padding-bottom: 48px;
}

.footer__left {
  max-width: 300px;
}

.footer__text {
  font-size: var(--s);
  line-height: 155%;
  margin-bottom: 24px;
  letter-spacing: 0.01em;
  color: var(--secondary);
}

.footer__btn {
  max-width: 300px;
  width: 100%;
}

.footer__right {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  width: 49.5%;
}

.footer__menu {
  display: flex;
  align-items: flex-start;
  flex-flow: column;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer__menu li a {
  font-weight: 300;
  font-size: var(--h4);
  line-height: 135%;
  text-transform: uppercase;
  color: var(--secondary);
  transition: color var(--transition);
  letter-spacing: -0.05em;
  position: relative;
}

.footer__menu li a:before {
  background: transparent;
  content: "";
  width: 0;
  height: 4px;
  bottom: -5px;
  left: 50%;
  display: block;
  position: absolute;
  transition: all 0.3s ease;
  will-change: transform;
}

.footer__menu li a:hover:before {
  background: var(--secondary);
  left: 0;
  width: 100%;
}

.footer__scroll-top {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  padding: 0;
  border: 1px solid var(--secondary);
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--secondary);
  transition: all var(--transition);
  flex-shrink: 0;
}

.footer__scroll-top:hover {
  background: var(--secondary);
  color: var(--white);
}

.footer__social {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}

.footer__social-link {
  background: var(--white);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--secondary);
  transition: all var(--transition);
  position: relative;
  overflow: hidden;
}

.footer__social-link:before {
  background: var(--secondary);
  content: "";
  width: 105%;
  height: 102%;
  display: block;
  position: absolute;
  left: -1%;
  right: 0;
  transform: translateY(102%);
  transition: transform 0.3s ease;
  will-change: transform;
}

.footer__social-link:hover {
  color: var(--white);
}

.footer__social-link:hover:before {
  transform: translateY(0);
}

.footer__social-link svg {
  width: 16px;
  height: 16px;
}

.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 32px 0;
}

.footer__copyright {
  font-size: var(--xs);
  color: var(--grey-700);
  line-height: 140%;
}

.footer__links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

.footer__link {
  font-size: var(--btn);
  color: var(--secondary);
  line-height: 140%;
  transition: color var(--transition);
  letter-spacing: 0.01em;
}

.footer__link:hover {
  color: var(--primary);
}

.footer__dev {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  font-size: var(--xs);
  color: var(--grey-700);
  line-height: 140%;
}

.footer__dev a {
  display: inline-flex;
  align-items: center;
}

.footer__dev img {
  display: block;
}

.footer__logo {
  height: 49vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer__logo-image {
  width: 248px;
  height: 192px;
}

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

.footer-fixed {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: 70vh;
  opacity: 1;
  transition: opacity 0.4s ease;
  transform: translateY(10vh);
}

.footer-fixed.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.footer-fixed__inner {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.footer-fixed__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: block;
}

.modal-overlay {
  display: none;
  padding-top: 1px;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 999;
  overflow: auto;
  align-items: center;
  justify-content: center;
  padding-top: 60px;
}

.modal-overlay .modal-content {
  margin-bottom: 0px;
  border-radius: 4px;
}

.modal-overlay .close-button {
  position: absolute;
  width: 50px;
  height: 50px;
  top: 10px;
  right: 10px;
  cursor: pointer;
  transition: 0.2s linear;
}

.modal-overlay .close-button:before {
  background: #fff;
  content: "";
  height: 50px;
  width: 2px;
  display: block;
  transform: translateX(25px) rotate(-45deg);
}

.modal-overlay .close-button:after {
  background: #fff;
  content: "";
  margin-top: -50px;
  height: 50px;
  width: 2px;
  display: block;
  transform: translateX(25px) rotate(45deg);
  transition: 0.2s linear;
}

#modal-video .modal-content {
  height: auto;
  width: 100%;
}

#modal-video .video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

#modal-video .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.popup-callback {
  position: fixed;
  top: 0;
  left: 0;
  width: 54vw;
  height: 100%;
  background: var(--primary, #D39C55);
  z-index: 1000;
  transform: translateX(-100%);
  transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  overflow-y: auto;
}

.popup-callback.active {
  transform: translateX(0);
}

.popup-callback__inner {
  padding: 48px 130px 48px calc((100vw - 1240px) / 2);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
}

.popup-callback__close {
  position: absolute;
  top: 48px;
  right: 48px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  padding: 0;
}

.popup-callback__title {
  color: var(--secondary);
  margin-bottom: 32px;
}

.popup-callback__fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 16px;
}

.popup-callback .input__wrap {
  display: block;
  position: relative;
}

.popup-callback .input__wrap .input__label {
  font: 300 38px/1.3 var(--default-font-family);
  display: block;
  color: var(--secondary, #3B3B3D);
  transform: translateY(23px);
  transition: all 0.3s ease;
  text-transform: uppercase;
  position: absolute;
  letter-spacing: 0.05em;
  top: 0;
  will-change: transform;
}

.popup-callback .input__wrap:focus .input__label,
.popup-callback .input__wrap:focus-within .input__label {
  transform: translateY(0);
  font-size: 14px;
  color: var(--white);
}

.popup-callback .input__wrap.has-value .input__label {
  transform: translateY(0);
  font-size: 14px;
}

.popup-callback .input__wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  transition: all 0.4s ease;
  will-change: transform;
}

.popup-callback .input__wrap:focus::after,
.popup-callback .input__wrap:focus-within::after {
  left: 0;
  width: 100%;
  background: var(--white, #FFFFFF) !important;
}

.popup-callback .input__wrap.has-error::after {
  left: 0;
  width: 100%;
  background: var(--red, #FF3F3F);
}

.popup-callback .input__wrap.has-success::after {
  left: 0;
  width: 100%;
  background: var(--secondary);
}

.popup-callback .input__wrap.has-success .input__label {
  transform: translateY(0);
  font-size: 14px;
}

.popup-callback .input__wrap.is-hover::after {
  left: 0;
  width: 100%;
  background: var(--secondary);
}

.popup-callback .input__wrap.has-success::before,
.popup-callback .input__wrap.has-error::before {
  position: absolute;
  right: 0;
  bottom: 18px;
  font-size: 20px;
  line-height: 1;
}

.popup-callback .input__wrap.has-success::before {
  content: "✓";
  color: var(--secondary, #3B3B3D);
}

.popup-callback .input__wrap.has-error::before {
  content: "✕";
  color: var(--red, #FF3F3F);
}

.popup-callback .input {
  font: 300 38px/1.3 var(--default-font-family);
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--black-20, rgba(59, 59, 61, 0.2));
  padding: 24px 30px 5px 0;
  text-transform: uppercase;
  letter-spacing: -0.05em;
  color: var(--secondary, #3B3B3D);
  outline: none;
  height: auto;
  border-radius: 0;
}

.popup-callback .input::-moz-placeholder {
  color: var(--secondary, #3B3B3D);
}

.popup-callback .input::placeholder {
  color: var(--secondary, #3B3B3D);
}

.popup-callback .input:focus {
  color: var(--white);
}

.popup-callback__checkbox {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 48px;
  cursor: pointer;
}

.popup-callback__checkbox input[type=checkbox] {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--secondary, #3B3B3D);
  background: transparent;
  cursor: pointer;
}

.popup-callback__checkbox input[type=checkbox]:checked {
  background: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28' height='28' fill='%233B3B3D'/%3E%3Cpath d='M8.18457 13.9428L12.5882 18.2519L20.7846 10.3359' stroke='%23D39C55' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") no-repeat center;
}

.popup-callback__checkbox span {
  font: var(--m)/1.5 var(--default-font-family);
  color: var(--secondary, #3B3B3D);
}

.popup-callback__checkbox span a {
  color: var(--secondary, #3B3B3D);
  text-decoration: underline;
}

.popup-callback__checkbox span a:hover {
  text-decoration: none;
}

.popup-callback__submit {
  display: inline-flex;
  max-width: 300px;
  width: 100%;
}

.popup-callback-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.popup-callback-overlay.active {
  opacity: 1;
  visibility: visible;
}

input[type=checkbox] {
  -webkit-tap-highlight-color: transparent;
}

.popup-construction {
  position: fixed;
  top: 0;
  left: 0;
  max-width: 100vw;
  min-width: 1172px;
  height: 100%;
  background: var(--white);
  z-index: 1000;
  transform: translateX(-101%);
  transition: transform 0.5s ease;
  overflow-y: auto;
}

.popup-construction.active {
  transform: translateX(0);
}

.popup-construction__inner {
  padding: 48px 130px 48px calc((100vw - var(--container-width) + 20px) / 2);
  min-height: 100%;
}

.popup-construction__close {
  position: absolute;
  top: 48px;
  right: 48px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  padding: 0;
  z-index: 10;
}

.popup-construction__tabs {
  display: flex;
  margin-bottom: 48px;
}

.popup-construction__tab {
  font: 400 var(--s) var(--default-font-family);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-bottom: 1px solid var(--grey-300);
  padding: 8px 12px;
  cursor: pointer;
  letter-spacing: 0.02em;
  color: var(--secondary);
  text-transform: uppercase;
  transition: color var(--transition), border-color var(--transition);
  white-space: nowrap;
  position: relative;
}

.popup-construction__tab:before {
  background: transparent;
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 100%;
  height: 4px;
  transition: background-color 0.2s ease;
  will-change: transform;
}

.popup-construction__tab:hover {
  color: var(--primary);
}

.popup-construction__tab.is-active {
  color: var(--primary);
}

.popup-construction__tab.is-active:before {
  background: var(--primary);
}

.popup-construction__panel {
  display: none;
}

.popup-construction__panel.is-active {
  display: block;
}

.popup-construction__title {
  margin-bottom: 48px;
  font-size: 38px;
  letter-spacing: -1.9px;
  max-width: 280px;
}

.popup-construction__title.mobile {
  display: none;
}

.popup-construction__body {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  max-width: 912px;
}

.popup-construction__accordion {
  width: 100%;
  max-width: 400px;
  flex-shrink: 0;
}

.popup-construction__acc-item {
  border-top: 1px solid var(--grey-300);
}

.popup-construction__acc-item.is-open .popup-construction__acc-header:before {
  background: var(--primary);
  left: 0;
  width: 100%;
}

.popup-construction__acc-header {
  font: 300 24px var(--default-font-family);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  color: var(--secondary);
  transition: color var(--transition);
  position: relative;
}

.popup-construction__acc-header:before {
  content: "";
  position: absolute;
  top: -2px;
  left: 50%;
  width: 0;
  height: 4px;
  transition: all 0.4s ease;
  will-change: transform;
}

.is-inactive .popup-construction__acc-header {
  cursor: default;
}

.popup-construction__acc-header:not([disabled]):hover:before {
  background: var(--primary);
  left: 0;
  width: 100%;
}

.popup-construction__acc-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.popup-construction__acc-badge {
  color: var(--primary);
}

.popup-construction__acc-icon {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  will-change: transform;
  display: flex;
}

.is-open .popup-construction__acc-icon {
  transform: rotate(135deg);
}

.popup-construction__acc-content {
  display: none;
  padding: 0 0 20px;
  font-size: var(--s);
  line-height: 1.5;
  color: var(--secondary);
}

.popup-construction__acc-content ul {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  max-width: 376px;
}

.popup-construction__acc-content ul li {
  position: relative;
  padding-left: 20px;
  line-height: 140%;
}

.popup-construction__acc-content ul li:before {
  background: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3334 4L6.00008 11.3333L2.66675 8' stroke='%233B3B3D' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E%0A") no-repeat center/contain;
  content: "";
  width: 16px;
  height: 16px;
  display: block;
  position: absolute;
  left: 0;
  top: 2px;
}

.popup-construction__slider-area {
  flex: 1;
  min-width: 0;
  width: 100%;
  align-self: normal;
}

.popup-construction__slider {
  width: 100%;
  overflow: hidden;
  position: relative;
  height: 100%;
}

.popup-construction__slider .swiper-slide a {
  display: block;
  cursor: zoom-in;
  height: 100%;
  position: relative;
  overflow: hidden;
  min-height: 480px;
}

.popup-construction__slider .swiper-slide img {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 1px);
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}

.popup-construction__slider-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: absolute;
  bottom: 20px;
  z-index: 2;
  padding: 0 20px;
  width: 100%;
}

.popup-construction__slider-counter {
  font-size: var(--s);
  min-width: 50px;
  font-weight: 400;
  line-height: 125%;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--white);
}

.popup-construction__slider-arrows {
  display: flex;
  gap: 8px;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  justify-content: space-between;
  padding: 0 24px;
  z-index: 5;
  left: 0;
}

.popup-construction__arrow {
  background: var(--white);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--secondary);
  transition: var(--transition);
  padding: 0;
  will-change: transform;
}

.popup-construction__arrow svg {
  transition: var(--transition);
  will-change: transform;
}

.popup-construction__arrow:hover {
  background: var(--primary);
  transform: scale(1.3);
}

.popup-construction__arrow:hover svg {
  transform: scale(0.75);
}

.popup-construction__arrow.swiper-button-disabled {
  opacity: 0.5;
  cursor: default;
}

.popup-construction__slider-dots {
  display: flex;
  gap: 12px;
  align-items: center;
  width: -moz-max-content !important;
  width: max-content !important;
  position: static !important;
}

.popup-construction__slider-dots .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: transparent;
  border-radius: 50%;
  border: 1px solid var(--blue-grey);
  opacity: 1;
  transition: background var(--transition);
  margin: 0 !important;
  flex: 1;
}

.popup-construction__slider-dots .swiper-pagination-bullet-active {
  background: var(--blue-grey);
}

.popup-construction-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.popup-construction-overlay.active {
  opacity: 1;
  visibility: visible;
}

.countdownHolder {
  margin: 0 auto;
  font: 30px/1 Roboto, sans-serif;
  text-align: center;
  letter-spacing: -3px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.countdownHolder .position {
  display: inline-block;
  height: 1em;
  overflow: hidden;
  position: relative;
  width: 0.5em;
}

.countdownHolder {
  /*Параметры цифр */
}

.countdownHolder .digit {
  position: absolute;
  display: block;
  border-radius: 0.2em;
  text-align: center;
  color: #000;
  letter-spacing: -1px;
  left: 50%;
  transform: translateX(-50%);
}

.countdownHolder {
  /*Параметры подложки для секций */
}

.countdownHolder .countDays,
.countdownHolder .countHours,
.countdownHolder .countMinutes,
.countdownHolder .countSeconds {
  background: #fff;
  border-radius: 5px;
  padding: 10px;
}

.countdownHolder {
  /*Параметры секций разделения (:)*/
}

.countdownHolder .countDiv {
  display: none;
  width: 10px;
  height: 1em;
  position: relative;
}

.countdownHolder .countDiv:before,
.countdownHolder .countDiv:after {
  background: #444;
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  left: 50%;
  margin-left: -3px;
  top: 0.2em;
  box-shadow: 1px 1px 1px rgba(4, 4, 4, 0.5);
  content: "";
}

.countdownHolder .countDiv:after {
  top: 0.6em;
}

.countdownHolder {
  /*Параметры вспомогательного текста (дни, часы, минуты, секунды)*/
}

.countdownHolder .textdigit {
  font-size: 15px;
  letter-spacing: 0px;
}

.success {
  background: #E6EFF4;
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  z-index: 5;
}

.success__decor {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1141px;
  aspect-ratio: 1141/535;
  pointer-events: none;
  z-index: 0;
}

.success__decor svg {
  width: 100%;
  height: 100%;
}

.success__content {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 40px 20px;
}

.success__subtitle {
  font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--secondary);
  margin-bottom: 24px;
  font-size: 20px;
  line-height: 120%;
  text-align: center;
  text-transform: uppercase;
}

.success__title {
  font-size: 66px;
  color: var(--primary);
  margin-bottom: 48px;
}

.success__btn {
  max-width: 300px;
  width: 100%;
}

.post-type-archive-catalog .catalog-products {
  padding: 48px 0;
}

.post-type-archive-catalog .catalog-products__title {
  margin-bottom: 48px;
}

.post-type-archive-catalog .catalog-products__filters {
  margin-bottom: 48px;
  display: flex;
  align-items: flex-end;
  gap: 32px;
}

.post-type-archive-catalog .catalog-products__filters .label-wrap {
  display: flex;
  align-items: center;
  flex-flow: wrap;
  gap: 16px;
}

.post-type-archive-catalog .catalog-products__filters label {
  display: flex;
  flex-flow: column;
  gap: 4px;
  min-width: 160px;
}

.post-type-archive-catalog .catalog-products__filters label > span {
  font-size: 14px;
  font-weight: 400;
  line-height: 140%;
  /* 19.6px */
  letter-spacing: 0.14px;
}

.post-type-archive-catalog .catalog-products__filters label > select {
  background: transparent;
  border: none;
  opacity: 0;
  height: 1px;
  pointer-events: none;
}

.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection--single,
.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection--multiple {
  cursor: pointer;
  height: 36px;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid rgba(59, 59, 61, 0.2);
  position: relative;
}

.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection--single .select2-selection__rendered,
.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection--multiple .select2-selection__rendered {
  color: var(--secondary, #3b3b3d);
  font-size: 14px;
  font-weight: 400;
  line-height: 140%;
  /* 19.6px */
  letter-spacing: 0.14px;
  padding: 0 20px 0 0;
}

.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection--single::before,
.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection--multiple::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 50%;
  width: 0;
  height: 1px;
  background: var(--secondary);
  transform: translateX(-50%);
  transition: all 0.3s ease;
}

.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection--single:hover::before,
.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection--multiple:hover::before {
  width: 100%;
}

.post-type-archive-catalog .catalog-products__filters label .select2-container--default.select2-container--open .select2-selection--single::before,
.post-type-archive-catalog .catalog-products__filters label .select2-container--default.select2-container--open .select2-selection--multiple::before {
  width: 100%;
}

.post-type-archive-catalog .catalog-products__filters label .select2-container--default.select2-container--open .select2-selection__arrow {
  transform: rotate(180deg);
}

.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection__arrow {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.40002L8 10.4L12 6.40002' stroke='%233B3B3D' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;
  position: absolute;
  transition: 0.3s ease all;
  width: 16px;
  height: 16px;
  right: 12px;
  top: 10px;
}

.post-type-archive-catalog .catalog-products__filters label .select2-container--default .select2-selection__arrow b {
  display: none;
}

.post-type-archive-catalog .catalog-products__filters #catalog-products-clear {
  padding: 8px 12px;
}

.post-type-archive-catalog .catalog-products__filters #catalog-products-clear span {
  font-size: 14px;
}

.post-type-archive-catalog .catalog-products__results {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: column;
  gap: 48px;
}

.post-type-archive-catalog .catalog-products__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  min-height: 535px;
  width: 100%;
}

.post-type-archive-catalog .catalog-products__grid.load {
  position: relative;
}

.post-type-archive-catalog .catalog-products__grid.load::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  z-index: 1;
}

.post-type-archive-catalog .catalog-products__grid.load::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  border: 4px solid var(--primary);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  z-index: 2;
}

.post-type-archive-catalog .catalog-products #catalog-products-more {
  height: 50px;
}

.post-type-archive-catalog .catalog-products #catalog-products-more span {
  font-size: 14px;
}

.post-type-archive-catalog .catalog-products #catalog-products-empty {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.post-type-archive-catalog .catalog-products #catalog-products-more[hidden] {
  display: none;
}

.post-type-archive-catalog .product-card {
  padding: 20px;
  background: rgba(255, 255, 255, 0.32);
  display: flex;
  flex-flow: column;
  gap: 16px;
  position: relative;
  transition: 0.3s ease all;
}

.post-type-archive-catalog .product-card a {
  display: flex;
  flex-flow: column;
  gap: 16px;
}

.post-type-archive-catalog .product-card:hover {
  background: #fff;
}

.post-type-archive-catalog .product-card:hover .product-card__link {
  transform: translate(-50%, 195%) scale(1) rotate(0);
}

.post-type-archive-catalog .product-card__link {
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform: translate(-50%, 300%) scale(0) rotate(-90deg);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  padding: 8px;
  color: #e6eff4;
  transition: 0.6s ease all;
}

.post-type-archive-catalog .product-card__image-wrap {
  width: 100%;
  aspect-ratio: 1/1;
}

.post-type-archive-catalog .product-card__image-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

.post-type-archive-catalog .product-card__content {
  display: flex;
  flex-flow: column;
  gap: 16px;
}

.post-type-archive-catalog .product-card__top-row {
  display: flex;
  justify-content: space-between;
  flex-flow: row;
  gap: 16px;
}

.post-type-archive-catalog .product-card__area,
.post-type-archive-catalog .product-card__rooms {
  font-size: var(--h3);
  font-weight: 300;
  line-height: 100%;
  /* 38px */
  letter-spacing: -1.9px;
  text-transform: uppercase;
}

.post-type-archive-catalog .product-card__line {
  width: 100%;
  height: 1px;
  background: rgba(59, 59, 61, 0.2);
}

.post-type-archive-catalog .product-card__bottom-row {
  display: flex;
  flex-flow: row;
  gap: 16px;
}

.post-type-archive-catalog .product-card__meta-item {
  display: flex;
  flex-flow: column;
  gap: 4px;
  min-width: 76px;
}

.post-type-archive-catalog .product-card__meta-label {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: 0.14px;
}

.post-type-archive-catalog .product-card__meta-value {
  font-size: var(--h4);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.24px;
}

@keyframes spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

body > .select2-container .select2-dropdown {
  border: 1px solid var(--secondary, #3b3b3d);
  background: var(--white, #fff);
  padding: 4px;
  border-radius: 0;
}

body > .select2-container .select2-dropdown ul {
  max-height: 300px !important;
}

body > .select2-container .select2-dropdown ul[id^=select2-line-] li::before,
body > .select2-container .select2-dropdown ul[id^=select2-builds-] li::before,
body > .select2-container .select2-dropdown ul[id^=select2-sections-] li::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-bottom: 2px;
  background: transparent;
  border-radius: 50%;
  border: none;
}

body > .select2-container .select2-dropdown ul[id^=select2-line-] li.select2-results__option--selected,
body > .select2-container .select2-dropdown ul[id^=select2-builds-] li.select2-results__option--selected,
body > .select2-container .select2-dropdown ul[id^=select2-sections-] li.select2-results__option--selected {
  background: transparent;
  color: var(--primary);
}

body > .select2-container .select2-dropdown ul[id^=select2-line-] li.select2-results__option--selected::before,
body > .select2-container .select2-dropdown ul[id^=select2-builds-] li.select2-results__option--selected::before,
body > .select2-container .select2-dropdown ul[id^=select2-sections-] li.select2-results__option--selected::before {
  background: var(--primary);
}

body > .select2-container .select2-dropdown ul li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  transition: 0.3s ease all;
  color: #3b3b3d;
  font-size: 14px;
  font-weight: 300;
  line-height: 140%;
  /* 19.6px */
  letter-spacing: 0.14px;
}

body > .select2-container .select2-dropdown ul li::before {
  content: "";
  width: 20px;
  height: 20px;
  background: transparent;
  border: 1.25px solid var(--secondary, #3b3b3d);
}

body > .select2-container .select2-dropdown ul li:hover,
body > .select2-container .select2-dropdown ul li.select2-results__option--highlighted {
  background: rgba(211, 156, 85, 0.08);
  color: var(--primary);
}

body > .select2-container .select2-dropdown ul li.select2-results__option--selected {
  background: transparent;
  color: #3b3b3d;
}

body > .select2-container .select2-dropdown ul li.select2-results__option--selected::before {
  background: var(--secondary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M3.3457 7.45911L6.49114 10.5371L12.3457 4.88281' stroke='white' stroke-linecap='square'/%3E%3C/svg%3E") center/15px 15px no-repeat;
}

/* Product Card - Minimal Structure Styles */

.hero-product {
  padding: 48px 0;
}

.hero-product__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.hero-product__left {
  display: flex;
  flex-flow: column;
  gap: 48px;
}

.hero-product__top {
  display: flex;
  flex-flow: column;
  gap: 24px;
}

.hero-product__title {
  font-size: var(--h2);
}

.hero-product__rooms {
  font-size: var(--m);
  line-height: 120%;
  /* 24px */
  letter-spacing: 8px;
  text-transform: uppercase;
}

.hero-product__details {
  border: 1px solid rgba(59, 59, 61, 0.2);
  padding: 32px;
  display: flex;
  flex-flow: column;
  gap: 24px;
}

.hero-product__row {
  display: flex;
  flex-flow: wrap;
  gap: 24px;
}

.hero-product__row-line {
  border-top: 1px solid rgba(59, 59, 61, 0.2);
}

.hero-product__col {
  width: calc((100% - 48px) / 3);
  display: flex;
  flex-flow: column;
  gap: 4px;
}

.hero-product__label {
  font-size: var(--s);
  font-weight: 400;
  line-height: 155%;
  /* 27.9px */
  letter-spacing: 0.18px;
  text-transform: unset;
}

.hero-product__value {
  font-size: var(--h3);
  line-height: 100%;
  /* 38px */
  letter-spacing: -1.9px;
  text-transform: uppercase;
  font-weight: 300;
}

.hero-product__bottom {
  display: flex;
  align-items: flex-end;
  flex-flow: wrap;
  gap: 48px;
}

.hero-product__price {
  display: flex;
  flex-flow: column;
  gap: 4px;
}

.hero-product__price-label {
  font-size: var(--s);
  font-weight: 400;
  line-height: 155%;
  /* 27.9px */
  letter-spacing: 0.18px;
}

.hero-product__price-value {
  font-size: var(--h3);
  font-weight: 300;
  line-height: 100%;
  /* 38px */
  letter-spacing: -1.9px;
  text-transform: uppercase;
}

.hero-product__price-value ._b {
  font-weight: 700;
}

.hero-product__btn {
  min-width: 300px;
}

.hero-product__right {
  display: flex;
  flex-flow: column;
  overflow: hidden;
  height: -moz-fit-content;
  height: fit-content;
  background: var(--white, #fff);
}

.hero-product__tabs {
  display: flex;
  flex-flow: wrap;
  position: relative;
  padding: 20px 112px 0 20px;
}

.hero-product__tab {
  font: 400 14px/125% var(--default-font-family);
  background: transparent;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 12px;
  border: none;
  /* 17.5px */
  letter-spacing: 0.28px;
  text-transform: uppercase;
  transition: 0.3s ease all;
  cursor: pointer;
  position: relative;
}

.hero-product__tab::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(59, 59, 61, 0.2);
  width: 100%;
  transition: all 0.3s;
}

.hero-product__tab:hover {
  color: var(--primary);
}

.hero-product__tab.active {
  color: var(--primary);
}

.hero-product__tab.active::before {
  height: 4px;
  background: var(--primary);
}

.hero-product__tab-content {
  position: relative;
}

.hero-product__tab-panel {
  display: none;
}

.hero-product__tab-panel.active {
  display: block;
}

.hero-product__image {
  width: 100%;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-product__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.hero-product__pdf-link {
  position: absolute;
  top: -34px;
  right: 20px;
}

.hero-product__pdf-link a {
  padding: 8px 12px;
  font-size: 14px;
  height: 34px;
}

.single-post .wrapper {
  overflow: visible;
}

.article-hero__container {
  display: flex;
  align-items: flex-start;
  gap: 80px;
}

.article-hero__left {
  max-width: 556px;
  width: 100%;
  flex: 0 1 556px;
  position: sticky;
  top: 82px;
  overflow: hidden;
}

.article-hero__left::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='556' height='304' viewBox='0 0 556 304' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M113.32 5.26824C141.428 0.950591 170.291 -1.06396 198.714 0.558775C219.239 1.73237 239.979 4.99269 259.16 12.6645C273.182 18.2717 286.147 26.4651 296.182 37.8533C304.729 47.5464 310.603 59.3843 313.696 71.9099C319.983 97.403 315.847 124.744 306.4 148.933C302.05 160.074 296.488 170.832 289.736 180.714C287.201 184.421 284.413 187.957 281.436 191.34C284.731 192.237 287.99 193.264 291.198 194.442C305.414 199.658 318.506 208.272 325.264 222.275C327.21 226.308 328.585 230.562 329.42 234.915C330.866 234.502 332.312 234.096 333.756 233.693C369.988 223.572 407.101 216.639 444.243 210.872C500.446 202.157 557.083 196.391 613.771 191.957C616.545 191.741 616.972 201.947 614.024 202.179C585.155 204.439 556.315 207.076 527.54 210.242C482.219 215.241 436.963 221.428 392.236 230.309C371.49 234.43 350.753 239.066 330.397 244.941C330.467 255.442 327.624 265.992 322.229 274.996C321.055 277.327 318.94 280.291 315.419 284.056L314.932 284.569C314.44 285.079 313.934 285.58 313.415 286.072C313.068 286.4 312.716 286.724 312.358 287.045C303.945 294.571 292.376 299.896 280.985 302.277C280.5 302.379 280.016 302.475 279.532 302.566C277.355 302.974 275.19 303.272 273.06 303.456C266.025 304.065 257.631 303.638 251.604 299.494C244.81 294.829 243.946 285.121 247.198 278.029C251.696 268.205 262.575 261.808 271.664 256.911C288.424 247.887 306.689 241.56 324.981 236.199C319.361 214.149 295.629 204.194 273.403 199.705C267.015 205.838 260.083 211.437 253.045 216.624C220.477 240.618 182.038 257.881 142.997 268.19C130.402 271.521 117.386 274.258 104.312 275.132C102.059 275.283 99.8045 275.38 97.5499 275.414C97.0387 275.421 96.5275 275.426 96.0163 275.427C95.5051 275.428 94.9938 275.426 94.4827 275.42C93.8566 275.414 93.2211 275.403 92.5784 275.386C92.2569 275.377 91.9336 275.368 91.6086 275.357C90.959 275.334 90.3029 275.304 89.6422 275.268C89.3118 275.249 88.9802 275.229 88.6477 275.206C86.9852 275.094 85.2996 274.929 83.62 274.689C82.6123 274.546 81.6067 274.376 80.6096 274.175C80.111 274.074 79.6146 273.965 79.1209 273.848C78.6275 273.732 78.1371 273.606 77.6502 273.472C77.3255 273.382 77.0024 273.289 76.6812 273.191C75.8781 272.947 75.0865 272.677 74.3104 272.378C74.1234 272.306 73.9376 272.231 73.7525 272.156C72.7083 271.731 71.6936 271.252 70.7182 270.712C70.4309 270.552 70.147 270.388 69.8668 270.218C69.5868 270.048 69.3104 269.873 69.0378 269.692C68.6288 269.421 68.2283 269.137 67.8374 268.84C67.4463 268.543 67.0647 268.232 66.6932 267.908C66.3218 267.584 65.9605 267.246 65.6104 266.893C65.377 266.658 65.1485 266.417 64.9252 266.169C64.6094 265.818 64.3092 265.457 64.0243 265.086C63.6442 264.591 63.2909 264.08 62.9647 263.553C62.557 262.894 62.191 262.212 61.8654 261.511C61.5398 260.809 61.2551 260.089 61.0095 259.353C60.8129 258.765 60.641 258.167 60.4943 257.561C60.3109 256.804 60.1667 256.036 60.0592 255.26C60.0162 254.95 59.9787 254.638 59.9476 254.326C59.9165 254.014 59.8913 253.7 59.872 253.386C59.8236 252.602 59.8117 251.813 59.8353 251.025C59.8447 250.709 59.8603 250.394 59.881 250.079C59.8913 249.921 59.903 249.764 59.9162 249.606C59.9555 249.134 60.007 248.664 60.0712 248.195C60.1139 247.882 60.1621 247.57 60.2157 247.259C60.2693 246.949 60.3281 246.639 60.3924 246.331C60.4888 245.869 60.5974 245.41 60.7174 244.955C60.8775 244.348 61.0584 243.749 61.2596 243.159C61.3601 242.864 61.4657 242.571 61.5763 242.281C61.6869 241.991 61.8026 241.704 61.923 241.42C62.1039 240.993 62.2954 240.572 62.4982 240.16C62.7008 239.747 62.9144 239.342 63.1384 238.945C63.2878 238.68 63.4424 238.419 63.6012 238.162C63.7793 237.875 63.9616 237.589 64.1486 237.307C64.5229 236.743 64.9146 236.189 65.3228 235.647C65.5269 235.376 65.7353 235.108 65.9473 234.842C66.4772 234.178 67.0311 233.531 67.6068 232.9C67.837 232.647 68.0707 232.397 68.3077 232.15C68.4262 232.026 68.5455 231.903 68.6656 231.781C68.9058 231.536 69.1493 231.294 69.3957 231.054C69.6422 230.814 69.8915 230.576 70.1438 230.341C70.9006 229.635 71.6833 228.952 72.4862 228.288C72.7539 228.067 73.0236 227.848 73.2957 227.631C73.8398 227.197 74.3924 226.772 74.9521 226.355C76.0713 225.522 77.2187 224.723 78.3833 223.953C78.9659 223.568 79.5527 223.191 80.1424 222.821C80.437 222.636 80.7324 222.453 81.0282 222.271C81.6201 221.908 82.2142 221.552 82.809 221.203C83.1066 221.028 83.4045 220.855 83.7024 220.683C84.5953 220.168 85.4881 219.668 86.3765 219.18C87.2648 218.693 88.1486 218.218 89.0229 217.755C91.6325 216.372 94.2799 215.059 96.9584 213.809C98.7439 212.976 100.543 212.171 102.355 211.392C104.166 210.613 105.989 209.86 107.823 209.131C109.197 208.584 110.578 208.05 111.964 207.53C112.887 207.182 113.813 206.84 114.74 206.504C116.132 205.999 117.528 205.507 118.927 205.025C121.259 204.223 123.602 203.452 125.95 202.707C126.889 202.409 127.83 202.115 128.771 201.826C130.182 201.391 131.595 200.966 133.008 200.549C134.121 200.22 135.236 199.897 136.352 199.579C137.468 199.261 138.586 198.949 139.705 198.642C140.825 198.335 141.946 198.034 143.068 197.738C144.752 197.294 146.439 196.863 148.129 196.443C152.072 195.464 156.033 194.55 160.007 193.702C161.711 193.339 163.417 192.987 165.125 192.647C166.264 192.421 167.404 192.2 168.545 191.984C169.115 191.876 169.686 191.769 170.257 191.664C173.112 191.137 175.972 190.643 178.837 190.181C180.557 189.904 182.278 189.639 184 189.385C185.148 189.216 186.297 189.052 187.447 188.893C188.599 188.734 189.752 188.579 190.907 188.43C193.792 188.058 196.682 187.718 199.577 187.414C201.894 187.171 204.213 186.951 206.534 186.755C207.114 186.706 207.695 186.659 208.275 186.613C209.436 186.521 210.598 186.436 211.76 186.357C212.922 186.278 214.085 186.205 215.248 186.138C219.318 185.906 223.392 185.754 227.466 185.69C232.07 185.617 236.674 185.657 241.274 185.82C241.909 185.842 242.544 185.866 243.179 185.893C253.027 186.32 262.956 187.305 272.664 189.268C275.307 186.678 277.859 184 280.298 181.221C295.461 163.958 305.645 140.876 310.219 118.94C311.487 112.862 312.126 108.327 312.499 102.01C312.612 100.098 312.633 99.4168 312.648 98.2796C312.663 96.8307 312.653 95.3744 312.612 93.9183C312.515 90.3758 312.448 89.4846 312.039 86.1521C310.726 75.4738 307.136 64.5422 300.664 54.7405C283.181 28.2548 250.904 17.0764 220.87 12.6863C195.872 9.03505 170.377 9.47717 145.256 11.4694C116.393 13.7659 87.6182 18.6416 59.9648 27.3276C37.4629 34.3909 14.9472 43.7869 -4.13974 57.8773C-11.9506 63.6438 -19.7151 70.3302 -24.7905 78.7191C-26.5524 81.6241 -28.393 85.2541 -28.4539 88.6517L-31.5144 93.1358C-33.0285 83.1457 -29.5878 73.5971 -23.5018 65.7514C-10.8117 49.3936 8.45861 38.4909 26.9956 30.0511C54.3477 17.598 83.669 9.81775 113.32 5.26824ZM326.111 246.198C319.355 248.212 312.643 250.368 305.991 252.694C301.637 254.218 297.243 255.811 292.879 257.529C291.91 257.911 290.941 258.299 289.975 258.693C285.628 260.47 281.327 262.386 277.139 264.497C275.744 265.201 274.361 265.926 272.993 266.675C268.89 268.924 264.923 271.388 261.164 274.124C260.911 274.309 260.659 274.495 260.408 274.683C259.906 275.058 259.409 275.44 258.919 275.829C257.691 276.802 256.501 277.82 255.367 278.898C253.925 280.267 253.421 280.728 252.614 281.777C252.345 282.127 252.043 282.542 251.661 283.078C251.175 283.766 250.756 284.476 250.321 285.186C250.255 285.296 250.202 285.38 250.161 285.444C250.15 285.479 250.131 285.532 250.102 285.606C249.968 285.939 249.848 286.137 249.759 286.529C249.726 286.674 249.746 286.761 249.87 286.964C249.993 287.168 250.296 287.62 250.296 287.62C250.305 287.631 250.69 288.079 250.895 288.305C250.896 288.299 251.062 288.456 251.154 288.54C251.258 288.635 253.241 290.105 254.431 290.692C254.945 290.953 255.473 291.185 256.007 291.398C256.185 291.469 256.364 291.538 256.542 291.605C256.845 291.721 257.037 291.796 257.173 291.848C257.58 292.004 257.478 291.952 258.337 292.17C261.541 292.982 264.833 293.348 268.138 293.366C268.393 293.367 268.647 293.367 268.901 293.364C273.479 293.315 278.071 292.611 282.476 291.511C287.599 290.236 291.351 288.642 296.197 286.454C305.961 282.042 314.121 275.754 319.759 266.496L320.198 265.76C323.665 259.829 325.888 253.062 326.111 246.198ZM233.95 195.929C205.177 195.613 176.133 199.921 148.391 206.773C132.661 210.663 117.096 215.509 102.233 221.993C91.3506 226.745 80.1661 232.353 71.4206 240.546C69.8863 241.98 68.5235 243.465 67.2413 245.204C65.804 247.153 65.476 247.761 64.732 249.594C64.6294 249.846 64.48 250.362 64.4414 250.485C64.3754 250.765 64.314 251.045 64.2512 251.326C64.2513 251.328 64.2539 251.419 64.2564 251.478C64.258 251.514 64.2609 251.572 64.2609 251.572C64.2584 251.572 64.2274 251.588 64.3328 252.434C64.3464 252.543 64.3733 252.709 64.3733 252.709C64.3773 252.722 64.5767 253.332 64.6563 253.613C64.6962 253.754 64.7062 253.812 64.6458 253.671C64.7659 253.964 64.895 254.248 65.0255 254.537L65.0442 254.579L65.203 254.944C65.2326 255.018 65.2432 255.05 65.2457 255.064C65.2611 255.075 65.3183 255.142 65.5018 255.419C65.6223 255.596 65.7455 255.773 65.8717 255.949C65.9349 256.037 65.9991 256.124 66.0641 256.211L66.2618 256.469C66.7566 257.1 67.585 257.947 67.8718 258.201C69.4025 259.534 71.1779 260.591 73.0164 261.446C74.5156 262.141 76.0688 262.7 77.6547 263.154C79.1581 263.585 80.6911 263.92 82.2369 264.185C83.1897 264.348 84.1474 264.484 85.1057 264.599C85.4254 264.637 85.7452 264.673 86.065 264.707C86.7038 264.775 87.3427 264.835 87.9797 264.887C90.7037 265.114 93.4383 265.217 96.1773 265.214C97.5466 265.213 98.917 265.185 100.288 265.133C100.745 265.116 101.202 265.096 101.659 265.074C102.573 265.028 103.487 264.972 104.4 264.907C105.314 264.841 106.227 264.766 107.14 264.682C108.51 264.556 109.878 264.409 111.245 264.244C112.611 264.079 113.976 263.896 115.338 263.696C116.246 263.564 117.153 263.424 118.058 263.278C118.964 263.132 119.867 262.979 120.769 262.82C123.025 262.424 125.27 261.992 127.501 261.535C127.947 261.443 128.392 261.35 128.837 261.257C129.727 261.07 130.615 260.879 131.5 260.685C132.073 260.56 132.646 260.433 133.218 260.303C134.362 260.045 135.505 259.78 136.646 259.507C139.499 258.826 142.341 258.099 145.173 257.33C148.57 256.407 151.951 255.423 155.316 254.382C155.876 254.209 156.436 254.034 156.996 253.857C158.116 253.504 159.234 253.145 160.349 252.78C160.907 252.597 161.464 252.413 162.021 252.227C163.134 251.856 164.246 251.478 165.356 251.095C166.466 250.712 167.573 250.323 168.679 249.928C172.548 248.547 176.392 247.096 180.209 245.583C181.844 244.934 183.475 244.274 185.101 243.603C185.676 243.365 186.25 243.126 186.824 242.886C189.694 241.684 192.551 240.447 195.391 239.173C197.096 238.408 198.795 237.63 200.487 236.838C202.744 235.783 204.99 234.703 207.224 233.6C211.133 231.668 215.006 229.663 218.835 227.579C220.477 226.686 222.11 225.779 223.735 224.857C224.277 224.55 224.817 224.241 225.357 223.931C226.437 223.31 227.512 222.683 228.584 222.049C229.12 221.732 229.655 221.413 230.189 221.093C231.257 220.453 232.322 219.807 233.382 219.153C233.911 218.826 234.44 218.498 234.968 218.168C236.024 217.508 237.076 216.842 238.123 216.168C246.749 210.627 255.196 204.611 263.084 197.962C259.863 197.519 256.749 197.176 253.808 196.913C248.314 196.42 242.798 196.117 237.269 195.987C236.163 195.961 235.057 195.941 233.95 195.929Z' fill='%23E6EFF4'/%3E%3C/svg%3E") 50%/contain no-repeat;
  z-index: 2;
  content: "";
  position: absolute;
  top: 45px;
  left: 50%;
  transform: translateX(-50%);
  width: 648px;
  aspect-ratio: 648/303;
}

.article-hero__left img {
  width: 100%;
  height: auto;
  max-height: calc(100vh - 82px);
  aspect-ratio: 556/800;
  -o-object-fit: cover;
  object-fit: cover;
}

.article-hero__right {
  max-width: 604px;
  width: 100%;
  flex: 1 1 604px;
}

.article-hero__meta {
  display: flex;
  flex-flow: column;
  gap: 32px;
  margin-bottom: 32px;
}

.article-hero__meta-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(59, 59, 61, 0.2);
}

.article-hero__meta-info a {
  font-size: var(--s);
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0.18px;
  transition: 0.3s ease all;
}

.article-hero__meta-info a:hover {
  color: var(--primary);
}

.article-hero__meta-info-date {
  font-size: var(--s);
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0.18px;
}

.article-hero__title {
  font-size: var(--h2);
  line-height: 1;
  letter-spacing: -3.3px;
  text-transform: uppercase;
}

.blog-section {
  padding-top: 160px;
}

.blog-section__container {
  display: flex;
  gap: 32px;
}

.blog-section__title-block {
  width: calc((100% - 64px) / 3);
  display: flex;
  flex-flow: column;
  gap: 24px;
}

.blog-section__subtitle {
  font-size: var(--m);
  font-weight: 300;
  line-height: 120%;
  letter-spacing: 8px;
  text-transform: uppercase;
}

.blog-section__title {
  color: var(--primary);
}

.blog-section__btn {
  padding: 16px 24px;
  height: 50px;
  margin-top: 24px;
}

.blog-section__wrap {
  width: calc((100% - 64px) / 3 * 2);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.page-blog__item {
  display: flex;
  flex-flow: column;
  gap: 16px;
}

.page-blog__item-top {
  position: relative;
  display: flex;
  flex-flow: column;
  gap: 16px;
}

.page-blog__item-top:hover img {
  transform: scale(1.05);
}

.page-blog__item-top:hover .btn {
  opacity: 1;
  transform: translate(-50%, -20px) scale(1);
}

.page-blog__item-image {
  width: 100%;
  aspect-ratio: 392/400;
  -o-object-fit: cover;
  object-fit: cover;
  overflow: hidden;
  position: relative;
}

.page-blog__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.page-blog__item-image .btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 120%) scale(0);
  opacity: 0;
  transition: opacity 0.6s ease, transform 0.6s ease;
  padding: 16px 24px;
  height: 50px;
  color: #fff;
}

.page-blog__item-title {
  font-size: var(--s);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.18px;
  max-width: 299px;
}

.page-blog__item-bottom {
  display: flex;
  align-items: center;
  gap: 16px;
}

.page-blog__item-cats {
  display: flex;
  flex-flow: wrap;
  gap: 8px;
}

.page-blog__item-cats .btn {
  padding: 4px 12px;
  height: 28px;
  text-transform: none;
}

.page-blog__item-cats .btn span {
  text-transform: none;
  font-size: 14px;
}

.page-blog__item-date {
  font-size: var(--s);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.18px;
}

body.blog .blog,
body.archive .blog {
  margin-bottom: 24px;
  position: relative;
}

body.blog .blog::before,
body.archive .blog::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1042' height='536' viewBox='0 0 1042 536' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M843.636 14.338C766.611 -2.35354 686.36 -4.56435 608.554 8.19264C584.938 12.0664 562.645 18.5567 540.764 28.2309C485.471 52.6904 435.008 96.0527 431.471 159.696C429.616 193.014 440.53 225.125 456.751 254.087C385.026 246.879 312.613 247.982 241.708 260.149C153.91 275.219 56.2096 309.047 0.731307 382.364C-0.880354 384.514 0.354408 393.58 2.64884 390.64C13.1823 377.112 25.4593 365.065 38.8819 354.357C113.93 294.506 215.868 271.203 310.015 264.55C361.767 260.906 413.833 262.608 465.374 268.462C468.333 273.091 471.403 277.625 474.552 282.053C514.08 337.636 567.42 384.559 621.711 425.937L626.967 429.925C628.34 430.96 629.716 431.993 631.095 433.022C672.466 463.892 716.881 491.711 764.762 511.548C765.56 511.879 766.359 512.206 767.159 512.533C767.959 512.859 768.761 513.183 769.563 513.504C801.616 526.383 836.966 537.133 871.97 535.368C891.914 534.354 914.924 528.31 924.488 509.144C925.125 507.867 925.694 506.573 926.199 505.267C926.451 504.614 926.688 503.958 926.908 503.298C933.295 484.173 926.376 462.553 915.938 446.048C912.913 441.26 909.594 436.658 906.035 432.229C905.323 431.343 904.602 430.463 903.871 429.591C897.657 422.176 890.77 415.251 883.451 408.747C882.591 407.982 881.724 407.223 880.851 406.47C866.455 394.036 850.541 383.159 834.877 373.339C783.305 341.017 725.636 315.868 667.419 297.814C666.495 297.528 665.57 297.242 664.646 296.959L658.288 295.03C596.882 276.573 533.234 262.696 468.93 255.39C466.419 251.425 463.989 247.41 461.654 243.336C443.905 212.366 431.12 175.514 441.172 139.981C455.909 87.8984 509.366 55.144 557.454 36.9516C587.611 25.5534 619.377 21.1722 651.451 18.2111C725.763 11.3764 801.316 17.8468 873.328 37.2357C908.241 46.6463 942.959 58.6731 975.117 75.2025C990.771 83.2542 1005.8 92.5427 1019.5 103.576C1032.47 114 1041.66 108.281 1041.66 108.281C1041.66 108.281 985.026 62.648 953.02 48.9377C917.881 33.8687 881.033 22.4505 843.636 14.338ZM478.78 270.078C487.279 271.163 495.762 272.356 504.225 273.657C578.959 285.136 653.342 303.977 723.313 332.513C771.094 352.003 818.355 375.064 859.71 406.013C882.784 423.273 907.864 444.711 919.302 471.807C921.236 476.39 922.495 480.264 923.139 485.009C923.438 487.2 923.311 490.16 922.868 492.107C922.212 494.987 921.141 497.523 918.97 500.647C916.805 503.75 914.11 506.345 911.045 508.576C899.487 516.98 884.759 519.886 870.058 520.221C868.588 520.254 867.118 520.261 865.651 520.246C858.319 520.17 851.074 519.526 844.316 518.677C805.775 513.829 768.713 499.125 734.329 481.764C683.21 455.966 636.17 422.563 592.425 385.975C551.265 351.556 509.981 314.159 478.78 270.078Z' fill='white'/%3E%3C/svg%3E") 50%/contain no-repeat;
  z-index: -1;
  content: "";
  position: absolute;
  top: -45px;
  left: 50%;
  transform: translateX(0);
  width: 1042px;
  aspect-ratio: 1042/536;
}

body.blog .blog__title-block,
body.archive .blog__title-block {
  padding: 48px 0;
  display: flex;
  flex-flow: column;
  gap: 48px;
}

body.blog .blog__title-block-info,
body.archive .blog__title-block-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

body.blog .blog__title-block-info .blog__total-posts,
body.archive .blog__title-block-info .blog__total-posts {
  font-size: var(--h4);
  font-weight: 300;
  line-height: 135%;
  /* 32.4px */
  letter-spacing: -1.2px;
  text-transform: uppercase;
}

body.blog .blog__title,
body.archive .blog__title {
  font-size: var(--h2);
}

body.blog .blog__cats,
body.archive .blog__cats {
  display: flex;
  flex-flow: wrap;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px solid var(--black-20, rgba(59, 59, 61, 0.2));
}

body.blog .blog__cat,
body.archive .blog__cat {
  font: 400 14px/125% var(--default-font-family);
  background: transparent;
  padding: 8px 12px;
  position: relative;
  border: none;
  /* 17.5px */
  letter-spacing: 0.28px;
  text-transform: uppercase;
  transition: 0.3s ease all;
  cursor: pointer;
  position: relative;
}

body.blog .blog__cat::before,
body.archive .blog__cat::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(59, 59, 61, 0.2);
  width: 100%;
  transition: all 0.3s;
}

body.blog .blog__cat:hover,
body.archive .blog__cat:hover {
  color: var(--primary);
}

body.blog .blog__cat.active,
body.archive .blog__cat.active {
  color: var(--primary);
}

body.blog .blog__cat.active::before,
body.archive .blog__cat.active::before {
  height: 4px;
  background: var(--primary);
}

body.blog .blog-ajax,
body.archive .blog-ajax {
  display: flex;
  flex-flow: column;
  gap: 48px;
  position: relative;
}

body.blog .blog-ajax__posts,
body.archive .blog-ajax__posts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

body.blog .blog-ajax__posts.load,
body.archive .blog-ajax__posts.load {
  position: relative;
}

body.blog .blog-ajax__posts.load::before,
body.archive .blog-ajax__posts.load::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  z-index: 10;
}

body.blog .blog-ajax__posts.load::after,
body.archive .blog-ajax__posts.load::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  border: 4px solid var(--primary);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  z-index: 12;
}

body.blog .blog #blog-posts-more,
body.archive .blog #blog-posts-more {
  height: 50px;
  max-width: 189px;
  padding: 16px 23px;
  margin: 0 auto;
}

body.blog .blog #blog-posts-more[hidden],
body.archive .blog #blog-posts-more[hidden] {
  display: none;
}

body.blog .blog #blog-posts-more svg,
body.archive .blog #blog-posts-more svg {
  flex-shrink: 0;
}

body.blog .blog #blog-posts-more span,
body.archive .blog #blog-posts-more span {
  font-size: 14px;
}

@media (min-width: 1260px) {
  .map-wrap__scroll-hint {
    display: none;
  }
}

@media (max-width: 1380px) {
  .hero__content {
    padding-left: 50px;
  }
}

@media (max-width: 1260px) {
  :root {
    --container-width: 760px;
    --h1: 75px;
    --h2: 50px;
    --h3: 30px;
    --m: 18px;
    --s: 16px;
  }

  .header {
    min-height: 74px;
    padding: 10px 0;
  }

  .header__container {
    align-items: center;
  }

  .header__burger {
    display: flex;
  }

  .header__logo {
    left: calc((100vw - var(--container-width) + 20px) / 2);
    top: 13px;
  }

  .header__right-content {
    display: none;
  }

  .header__menu {
    display: none;
  }

  .mob-menu {
    display: block;
  }

  .hero__content {
    min-height: 202px;
    padding-left: 0;
  }

  .hero__subtitle {
    font-size: 32px;
  }

  .hero__info-line .address {
    font-size: 52px;
  }

  .about {
    padding: 130px 0;
  }

  .about__decor {
    width: 60%;
    top: -5%;
  }

  .numbers {
    padding: 0 0 100px;
  }

  .numbers__decor {
    width: 720px;
    top: 19%;
  }

  .numbers__decor-2 {
    width: 850px;
    bottom: -205px;
  }

  .numbers__header {
    flex-direction: column;
    gap: 32px;
    margin-bottom: 100px;
  }

  .numbers__text {
    max-width: 100%;
  }

  .numbers__card {
    width: 100%;
  }

  .numbers__suffix {
    bottom: 7px;
  }

  .numbers__images {
    min-height: 280px;
  }

  .numbers__image--2 {
    width: 190px;
    right: -26%;
  }

  .infra {
    padding: 90px 0 130px;
  }

  .infra__title {
    max-width: 700px;
    margin-bottom: 60px;
  }

  .infra__tabs {
    width: 42%;
  }

  .gallery {
    padding: 130px 0;
  }

  .developer__inner {
    min-height: 0;
    padding-top: 120px;
  }

  .news {
    padding: 130px 0;
  }

  .news__left {
    width: calc((100% - 32px) / 3);
  }

  .docs {
    padding: 130px 0;
  }

  .docs__decor {
    width: 600px;
  }

  .docs__left {
    width: calc((100% - 32px) / 3);
  }

  .docs__card-btn {
    opacity: 1;
    transform: translate(-50%, -20px) scale(1);
    border-radius: 50%;
    padding: 0;
    width: 38px;
    height: 38px;
  }

  .docs__card-btn span {
    display: none;
  }

  .showcase .input__wrap .input__label {
    font-size: 22px;
  }

  .showcase__title {
    text-align: center;
  }

  .showcase__container {
    max-width: 100%;
  }

  .map-wrap__title {
    max-width: 710px;
  }

  .map-wrap {
    height: 100vh;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .map-wrap::-webkit-scrollbar {
    height: 4px;
  }

  .map-wrap::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
  }

  .map-wrap::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 2px;
  }

  .map-wrap {
    scrollbar-width: thin;
    scrollbar-color: var(--primary) rgba(255, 255, 255, 0.1);
  }

  .map-section {
    width: 177.7251184834vh;
    min-width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }

  .contacts-map {
    height: 600px;
  }

  .contacts-map__card {
    left: 30px;
    width: 340px;
    padding: 32px;
  }

  .contacts-map__field-value {
    font-size: 20px;
  }

  .error404__container {
    gap: 24px;
  }

  .error404__title {
    font-size: 48px;
  }

  .error404__code {
    width: 350px;
    height: 286px;
  }

  .footer__header {
    padding: 130px 0 0;
  }

  .popup-callback .input__wrap .input__label {
    font-size: 32px;
    transform: translateY(31px);
  }

  .popup-callback {
    width: 70%;
  }

  .popup-callback__inner {
    padding: 40px 50px;
  }

  .popup-callback__title {
    font-size: 60px;
    margin-bottom: 40px;
  }

  .popup-construction {
    min-width: 0;
    width: 100%;
  }

  .popup-construction__inner {
    padding: 100px 30px 40px 30px;
  }

  .popup-construction__close {
    top: 32px;
    right: 32px;
  }

  .popup-construction__tabs {
    max-width: 912px;
    margin-right: auto;
    margin-left: auto;
    overflow: auto;
  }

  .popup-construction__body {
    margin-right: auto;
    margin-left: auto;
  }

  .popup-construction__accordion {
    flex: 1;
  }

  .post-type-archive-catalog .catalog-products__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .article-hero__container {
    gap: 32px;
  }

  .article-hero__left::before {
    width: 420px;
  }

  .blog-section__title-block {
    width: calc((100% - 32px) / 2);
  }

  .blog-section__wrap {
    width: calc((100% - 32px) / 2);
    grid-template-columns: 1fr;
  }

  body.blog .blog::before,
  body.archive .blog::before {
    width: 800px;
    top: 7px;
    transform: translateX(-11%);
  }
}

@media (max-width: 760px) {
  :root {
    --container-width: 390px;
    --h1: 60px;
    --h2: 40px;
    --h3: 28px;
    --h4: 20px;
  }

  [class*=__container] {
    flex-direction: column;
    padding: 0 16px;
  }

  [class*=__label] {
    font-size: 16px;
    line-height: 125%;
  }

  .main {
    padding-top: 94px;
  }

  .main .breadcrumbs {
    padding: 16px 0;
  }

  .wys > * {
    margin: 8px 0;
  }

  .wys h1,
  .wys h2,
  .wys h3,
  .wys h4 {
    margin: 24px 0 8px;
  }

  .wys .wp-block-image {
    margin: 24px 0;
  }

  .wys p,
  .wys a,
  .wys li {
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0.16px;
  }

  .header__container {
    flex-direction: row;
  }

  .header__logo {
    left: calc((100vw - var(--container-width) + 32px) / 2);
  }

  .header:not(.change-style) {
    min-height: 74px;
  }

  .header:not(.change-style) .header__logo-spacer {
    width: 70px;
    height: 54px;
    margin: 0;
  }

  .header:not(.change-style) .header__logo {
    width: 70px;
    top: 10px;
  }

  .header:not(.change-style) .header__logo.is-moving {
    width: 70px;
  }

  .home .header .header__logo.is-preloader {
    width: 300px;
  }

  .hero__container {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 32px;
    padding-bottom: 20px;
  }

  .hero__content {
    max-width: 100%;
    min-height: 0;
  }

  .hero__subtitle {
    font-size: 28px;
    width: 99%;
  }

  .hero__info {
    display: flex;
    align-items: flex-end;
    flex-flow: row;
    gap: 16px;
    width: 100%;
  }

  .hero__info-line {
    border-right: unset;
    border-bottom: 1px solid var(--blue-grey, #E6EFF4);
    padding-right: 0;
    padding-bottom: 8px;
    display: flex;
    -moz-column-gap: 8px;
    column-gap: 8px;
    align-items: flex-end;
    flex: 1;
  }

  .hero__info-line .address {
    font-size: 43px;
  }

  .hero__info-line .address b {
    font-size: 18px;
  }

  .hero__info-line .location {
    font-size: 18px;
  }

  .about {
    padding: 100px 0 130px;
  }

  .about ._h2 {
    font-size: 28px;
    letter-spacing: -1.4px;
  }

  .about__decor img {
    height: 100%;
    -o-object-position: bottom;
    object-position: bottom;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .about__decor {
    width: 111vw;
    top: 32%;
    left: -10%;
    aspect-ratio: unset;
    max-width: unset;
    height: 156px;
  }

  .about__label {
    margin-bottom: 8px;
  }

  .about__content {
    min-height: 395px;
    padding-left: 28px;
    grid-template-columns: 132px 1fr;
  }

  .about__title-right {
    padding-right: 58px;
  }

  .about__image {
    max-width: 380px;
    top: 14px;
    right: 15px;
    left: unset;
  }

  .about__bottom-line:last-child {
    padding-right: 34px;
  }

  .about__bottom-line:nth-child(2) {
    padding-right: 33px;
  }

  .about__bottom-line:first-child {
    padding-right: 13px;
  }

  .about__bottom-line {
    text-align: right;
  }

  .numbers {
    padding: 40px 0 100px;
  }

  .numbers__decor {
    width: 467px;
    top: 34%;
    left: 36%;
  }

  .numbers__decor-2 {
    display: none;
  }

  .numbers__card {
    padding: 16px;
    flex-wrap: wrap;
    gap: 16px;
  }

  .numbers__card-title {
    font-size: 20px;
  }

  .numbers__card-quarter {
    font-size: 63px;
  }

  .numbers__card-year {
    font-size: 63px;
  }

  .numbers__body {
    flex-direction: column-reverse;
  }

  .numbers__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }

  .numbers__value {
    font-size: 58px;
  }

  .numbers__suffix {
    font-size: 16px;
    bottom: 6px;
  }

  .numbers__image video {
    position: static;
  }

  .numbers__image--1 {
    aspect-ratio: 358/525;
  }

  .numbers__image--2 {
    display: none;
  }

  .infra {
    padding: 0 0 100px;
  }

  .infra__label {
    margin-bottom: 8px;
    text-align: left;
  }

  .infra__title {
    margin-bottom: 32px;
    font-size: 32px;
    text-align: left;
  }

  .infra__body {
    flex-direction: column;
    gap: 0;
  }

  .infra__tabs {
    width: 100%;
    max-width: 100%;
  }

  .infra__tab {
    font-size: 16px;
    padding: 12px 0 8px 0;
    gap: 4px;
    align-items: flex-start;
  }

  .infra__tab svg {
    margin-top: 3px;
  }

  .infra__images {
    display: none;
  }

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

  .infra__panel.is-open {
    max-height: 300px;
  }

  .gallery {
    padding: 100px 0;
  }

  .gallery__slider {
    height: 200px;
    width: 355px;
  }

  .gallery__slide {
    height: 150px;
  }

  .gallery__slide.swiper-slide-active {
    height: 200px;
  }

  .developer {
    padding: 0 0 100px;
  }

  .developer__container {
    max-width: var(--container-width);
    padding: 0 16px;
  }

  .developer__grid {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }

  .developer__sticky {
    height: unset;
    width: 100%;
    position: relative;
    top: auto;
  }

  .developer__sticky.desktop {
    display: none;
  }

  .developer__sticky.mobile {
    display: block;
    margin-bottom: 32px;
  }

  .developer__sticky img {
    aspect-ratio: 1;
  }

  .developer__content {
    width: 100%;
  }

  .developer__label {
    margin-bottom: 8px;
  }

  .developer__title {
    margin-bottom: 32px;
  }

  .developer__inner {
    padding-top: 0;
    padding-bottom: 32px;
    margin: 0;
    width: 100%;
  }

  .developer__slider-area {
    aspect-ratio: 340/450;
    max-width: 100%;
  }

  .developer__slider {
    aspect-ratio: 340/450;
    height: unset;
  }

  .developer__slider-counter {
    font-size: 16px;
  }

  .developer__slider-arrows {
    padding: 0 17px;
  }

  .news {
    padding: 0 0 100px;
  }

  .news__decor {
    display: none;
  }

  .news__container {
    flex-direction: column;
    gap: 24px;
  }

  .news__left {
    width: 100%;
    gap: 4px;
  }

  .news__btn {
    margin-top: 20px;
    width: 100%;
  }

  .news__btn span {
    font-size: 14px;
  }

  .news__cards {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .docs {
    padding: 100px 0;
  }

  .docs__decor {
    width: 366px;
    transform: translateY(10%);
    left: 28%;
  }

  .docs__container {
    flex-direction: column;
    gap: 24px;
  }

  .docs__left {
    width: 100%;
    gap: 16px;
  }

  .docs__nav-btn {
    width: 38px;
    height: 38px;
  }

  .docs__slider {
    width: 100%;
    overflow: visible;
  }

  .docs__card {
    min-height: 340px;
  }

  .showcase {
    min-height: 500px;
  }

  .showcase__inner {
    margin: 0 auto;
  }

  .showcase .input__wrap .input__label {
    font-size: 20px;
    transform: translateY(20px);
  }

  .showcase .input {
    padding: 17px 30px 5px 0;
    font-size: 28px;
  }

  .showcase__checkbox {
    gap: 12px;
    margin-bottom: 32px;
  }

  .showcase__checkbox input[type=checkbox] {
    width: 20px;
    height: 20px;
  }

  .showcase__checkbox span {
    font-size: 12px;
  }

  .showcase {
    width: 100%;
    max-width: 100%;
  }

  .showcase__inner {
    padding: 12px;
    max-width: 310px;
  }

  .showcase__submit {
    width: 100%;
    height: 40px;
    padding: 9px 24px;
  }

  .map-wrap__title {
    margin-bottom: 32px;
    font-size: 34px;
  }

  .map-section__pattern {
    width: 120%;
    bottom: -10%;
    left: -20%;
  }

  .map-section__popup {
    width: 280px;
    padding: 20px;
  }

  .contacts-map {
    height: auto;
    display: flex;
    flex-direction: column-reverse;
  }

  .contacts-map__map {
    position: relative;
    height: 500px;
  }

  .contacts-map__pin {
    width: 48px;
    height: 48px;
    left: 55%;
  }

  .contacts-map__card {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    max-width: calc(100% - 32px);
    padding: 32px 16px;
    width: var(--container-width);
    margin: 0 auto 32px;
  }

  .contacts-map__label {
    font-size: 16px;
  }

  .contacts-map__field-label {
    font-size: 12px;
  }

  .error404__container {
    flex-direction: column;
    gap: 48px;
    align-items: center;
  }

  .error404__content {
    align-items: center;
    max-width: 100%;
    gap: 24px;
  }

  .error404__title {
    font-size: 34px;
    width: 96%;
  }

  .error404__text {
    font-size: 16px;
  }

  .error404__button {
    width: 100%;
  }

  .error404__code {
    width: 100%;
  }

  .single-page__wrap {
    padding-top: 100px;
  }

  .single-page__wrap p,
  .single-page__wrap ul,
  .single-page__wrap ol {
    font-size: 16px;
    margin: 16px 0;
  }

  .footer__header {
    padding: 100px 0 0;
  }

  .footer__container {
    flex-direction: column;
  }

  .footer__top {
    flex-direction: column;
    gap: 32px;
    padding-bottom: 32px;
    align-items: normal;
  }

  .footer__left {
    max-width: 100%;
  }

  .footer__text {
    max-width: 100%;
  }

  .footer__btn {
    max-width: 100%;
  }

  .footer__right {
    width: 100%;
    align-items: flex-end;
  }

  .footer__menu {
    gap: 26px;
  }

  .footer__scroll-top {
    transform: translateY(136px);
  }

  .footer__bottom {
    flex-wrap: wrap;
  }

  .footer__links {
    order: -1;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .footer__logo {
    height: 39vh;
  }

  .popup-callback .input__wrap .input__label {
    font-size: 28px;
    transform: translateY(17px);
  }

  .popup-callback .input {
    padding: 17px 30px 5px 0;
    font-size: 28px;
  }

  .popup-callback__checkbox {
    gap: 12px;
    margin-bottom: 32px;
  }

  .popup-callback__checkbox input[type=checkbox] {
    width: 20px;
    height: 20px;
  }

  .popup-callback__checkbox span {
    font-size: var(--s);
  }

  .popup-callback {
    width: 100%;
    max-width: 100%;
  }

  .popup-callback__inner {
    padding: 30px 20px;
  }

  .popup-callback__close {
    top: 15px;
    right: 15px;
  }

  .popup-callback__submit {
    width: 100%;
  }

  .popup-construction__inner {
    padding: 100px 0 20px;
  }

  .popup-construction__close {
    right: 16px;
  }

  .popup-construction__tabs {
    margin-bottom: 24px;
    padding: 0 16px;
  }

  .popup-construction__tab {
    font-size: 14px;
  }

  .popup-construction__title {
    margin-bottom: 32px;
    padding: 0 16px;
    font-size: 40px;
    max-width: 310px;
  }

  .popup-construction__title.desk {
    display: none;
  }

  .popup-construction__title.mobile {
    display: block;
  }

  .popup-construction__body {
    flex-direction: column-reverse;
    padding: 0 16px;
  }

  .popup-construction__accordion {
    max-width: 100%;
  }

  .popup-construction__acc-header {
    font-size: 28px;
  }

  .popup-construction__slider .swiper-slide a {
    width: 100%;
    aspect-ratio: 1;
    min-height: 0;
  }

  .popup-construction__slider-counter {
    font-size: 16px;
  }

  .popup-construction__slider-arrows {
    padding: 0 17px;
  }

  .popup-construction__arrow {
    width: 30px;
    height: 30px;
  }

  .success__subtitle {
    font-size: 12px;
    margin-bottom: 16px;
  }

  .success__title {
    font-size: 36px;
    margin-bottom: 32px;
  }

  .post-type-archive-catalog .catalog-products {
    padding: 24px 0;
  }

  .post-type-archive-catalog .catalog-products__title {
    font-size: 40px;
    margin-bottom: 24px;
  }

  .post-type-archive-catalog .catalog-products__filters {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 24px;
  }

  .post-type-archive-catalog .catalog-products__filters .label-wrap {
    flex-direction: column;
    width: 100%;
  }

  .post-type-archive-catalog .catalog-products__filters label {
    width: 100%;
  }

  .post-type-archive-catalog .catalog-products__results {
    gap: 20px;
  }

  .post-type-archive-catalog .catalog-products__grid {
    grid-template-columns: 1fr;
    gap: 16px;
    min-height: 500px;
  }

  .post-type-archive-catalog .product-card a {
    gap: 20px;
  }

  .post-type-archive-catalog .product-card__content {
    gap: 20px;
  }

  .post-type-archive-catalog .product-card__area,
  .post-type-archive-catalog .product-card__rooms {
    font-size: 40px;
  }

  .post-type-archive-catalog .product-card__bottom-row {
    justify-content: space-between;
  }

  .post-type-archive-catalog .product-card__meta-item {
    min-width: 60px;
  }

  .post-type-archive-catalog .product-card__meta-value {
    font-size: 20px;
  }

  .hero-product {
    padding: 24px 0;
  }

  .hero-product__container {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .hero-product__left {
    gap: 24px;
  }

  .hero-product__top {
    gap: 16px;
  }

  .hero-product__title {
    letter-spacing: -2px;
  }

  .hero-product__rooms {
    line-height: 125%;
    /* 22.5px */
    letter-spacing: 7.2px;
  }

  .hero-product__details {
    padding: 20px;
  }

  .hero-product__row:last-child .hero-product__col {
    width: -moz-fit-content;
    width: fit-content;
  }

  .hero-product__bottom {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
  }

  .hero-product__price-value {
    font-size: 40px;
  }

  .hero-product__btn {
    min-width: 100%;
    height: 50px;
    font-size: 14px;
  }

  .hero-product__right {
    width: calc(100% + 20px);
    margin: 0 -10px;
  }

  .hero-product__tabs {
    padding: 16px 16px 24px;
    justify-content: flex-start;
  }

  .hero-product__tab-panel.active {
    display: flex;
    flex-direction: column-reverse;
    gap: 16px;
  }

  .hero-product__pdf-link {
    position: static;
    top: auto;
    right: auto;
    margin-left: 16px;
  }

  .article-hero__left {
    display: none;
  }

  .article-hero__meta {
    margin-bottom: 24px;
    gap: 24px;
  }

  .article-hero__meta-info {
    padding-bottom: 24px;
  }

  .blog-section {
    padding-top: 48px;
  }

  .blog-section__container {
    gap: 24px;
  }

  .blog-section__title-block {
    width: 100%;
    gap: 4px;
  }

  .blog-section__btn {
    margin-top: 20px;
    padding: 16px 24px;
    width: 100%;
  }

  .blog-section__btn span {
    font-size: 14px;
  }

  .blog-section__wrap {
    width: 100%;
    gap: 24px;
  }

  .page-blog__item-image {
    aspect-ratio: 1/1;
  }

  .page-blog__item-title {
    line-height: 160%;
    /* 25.6px */
    letter-spacing: 0.16px;
    max-width: 100%;
  }

  body.blog .blog::before,
  body.archive .blog::before {
    width: 537px;
    top: 3px;
    transform: translateX(-20%);
  }

  body.blog .blog__title-block,
  body.archive .blog__title-block {
    padding: 24px 0;
    gap: 24px;
  }

  body.blog .blog-ajax,
  body.archive .blog-ajax {
    gap: 24px;
  }

  body.blog .blog-ajax__posts,
  body.archive .blog-ajax__posts {
    grid-template-columns: repeat(2, 1fr);
  }

  body.blog .blog-ajax__posts,
  body.archive .blog-ajax__posts {
    gap: 24px;
    grid-template-columns: 1fr;
  }

  body.blog .blog #blog-posts-more,
  body.archive .blog #blog-posts-more {
    width: 100%;
    max-width: 100%;
    padding: 16px 24px;
  }
}