@charset "UTF-8";

/* Base */

html {
  --refRes: 1920;
  font-size: calc(100vw / var(--refRes) * 10);
  scroll-behavior: smooth;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  -webkit-tap-highlight-color: transparent;
}

body {
  min-width: 320px;
  background-color: var(--white);
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
  color: var(--black);
  cursor: default;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  min-height: 100vh;
  overflow: hidden;
  padding-top: var(--header-height);
}

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

.footer {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

section {
  padding: var(--section-padding-top) 0 var(--section-padding-bottom);
  overflow-x: hidden;
  overflow-y: visible;
  will-change: transform;
}

a {
  color: inherit;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

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

.box .container {
  min-height: 100vh;
  padding: 20rem 0;
}

.box .slide-box {
  width: 30rem;
  height: 15rem;
  margin: 20rem auto;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: white;
  font-size: 1.8rem;
  font-weight: bold;
  -webkit-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  /* Фиксируем начальное положение */
  -webkit-transform: translateX(100vw);
  -ms-transform: translateX(100vw);
  transform: translateX(100vw);
  will-change: transform, opacity;
  /* Аппаратное ускорение */
}

.box .box-1 {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.box .box-2 {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.box .box-3 {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.box.html,
.box body {
  overflow-x: hidden;
  /* Убирает горизонтальный скролл */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.box .slide-box {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  /* Улучшает рендеринг на GPU */
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.container {
  max-width: calc(var(--container-width) + var(--container-padding) * 2);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

.container::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

.container--fluid {
  max-width: 100%;
  padding: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.general__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 6rem;
  width: 100%;
}

.general__suptitle {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 10rem;
  line-height: 100%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: var(--red);
}

.general__title {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 18rem;
  line-height: 85%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.general__title span {
  color: var(--red);
}

.general__text {
  font-weight: 800;
  font-size: 4rem;
  line-height: 120%;
  text-transform: uppercase;
}

.general__text span {
  color: var(--red);
}

.general__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  /* Кнопка слайдера */
}

.general__btns [class^=swiper-button-],
.general__btns [class*=" swiper-button-"] {
  -webkit-transform: unset;
  -ms-transform: unset;
  transform: unset;
  position: static;
}

.general__foot .general__btns {
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.line-col {
  height: 7rem;
  width: 0.1rem;
  background-color: var(--black);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}

[data-animate] {
  z-index: 3;
}

.swiper {
  max-width: 100%;
  overflow: visible;
}

.swiper-slide {
  height: auto;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.swiper-slide-visible {
  opacity: 1;
  pointer-events: all;
}

.swiper-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

.swiper-button-prev {
  left: -15.7rem;
}

.swiper-button-prev i {
  -webkit-transform: scale(-1, -1);
  -ms-transform: scale(-1, -1);
  transform: scale(-1, -1);
}

.swiper-button-next {
  right: -15.7rem;
}

.swiper-button-disabled {
  opacity: 0.5 !important;
  pointer-events: none;
}

.swiper-pagination {
  line-height: 0.5rem;
  font-size: 0.5rem;
  top: calc(100% + 1.5rem) !important;
  bottom: unset !important;
}

.swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0 0.25rem !important;
  background-color: var(--gray);
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background-color: var(--black);
}

[class^=swiper-button-],
[class*=" swiper-button-"] {
  width: 13.2rem;
  height: 13.2rem;
  border-radius: 50%;
  margin: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

[class^=swiper-button-]::after,
[class*=" swiper-button-"]::after {
  display: none;
}

[class^=swiper-button-] i,
[class*=" swiper-button-"] i {
  --font-size: 13.2rem;
}

[class^=swiper-button-] .swiper-navigation-icon,
[class*=" swiper-button-"] .swiper-navigation-icon {
  display: none;
}

/* Reset and base styles  */

* {
  padding: 0px;
  margin: 0px;
  border: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

/* Links */

a,
a:link,
a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

/* Common */

aside,
nav,
footer,
header,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-size: inherit;
  font-weight: inherit;
}

ul,
ul li {
  list-style: none;
}

img {
  vertical-align: top;
}

img,
svg {
  max-width: 100%;
  display: block;
}

address {
  font-style: normal;
}

/* Form */

input,
textarea,
button,
select {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background-color: transparent;
}

input::-ms-clear {
  display: none;
}

button,
input[type=submit] {
  display: inline-block;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: transparent;
  background: none;
  cursor: pointer;
}

input:focus,
input:active,
textarea:focus,
textarea:active,
button:focus,
button:active {
  outline: none;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

label {
  cursor: pointer;
}

legend {
  display: block;
}

html,
body {
  height: 100%;
  width: 100%;
}

.none {
  display: none !important;
}

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

.html-no-scroll {
  overflow: hidden !important;
  --f-scrollbar-compensate: 0px;
  max-height: 100vh;
}

.no-scroll {
  overflow: hidden !important;
  overscroll-behavior-y: none;
  max-height: 100vh;
}

:root {
  --font-family: "RobotoCondensed", Arial, Verdana, sans-serif;
  --second-family: "Redoctober", Arial, Verdana, sans-serif;
  --third-family: "Roboto", Arial, Verdana, sans-serif;
  --container-padding: 5rem;
  --container-width: 182rem;
  --header-height: 17rem;
  --section-padding-top: 2.5rem;
  --section-padding-bottom: 2.5rem;
  --plate-height: 7rem;
  --callback-width: 5.2rem;
  --callback-mini-width: 54rem;
  --white: #FAF4ED;
  --white-10: rgba(250, 244, 237, 0.1);
  --white-50: rgba(250, 244, 237, 0.5);
  --black: #17171A;
  --black-10: rgba(23, 23, 26, 0.1);
  --black-20: rgba(23, 23, 26, 0.2);
  --black-50: rgba(23, 23, 26, 0.5);
  --gray: #718595;
  --red: #DC143C;
  --red-50: rgba(220, 20, 60, 0.5);
}

/* Components */

/* Хлебные крошки */

.breadcrumbs {
  --breadcrumbs-gap: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
}

.breadcrumbs::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

.breadcrumbs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: var(--breadcrumbs-gap);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.breadcrumbs li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: var(--breadcrumbs-gap);
  font-weight: 800;
  font-size: 2rem;
  line-height: 100%;
  color: var(--red);
  white-space: nowrap;
  text-transform: uppercase;
}

.breadcrumbs li:not(:last-child)::after {
  content: "/";
}

.breadcrumbs a {
  text-decoration: underline;
}

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

/* Кнопки */

.btn {
  --btn-width: fit-content;
  --btn-height: 8rem;
  --btn-padding-x: 2rem;
  --btn-color: var(--black);
  --btn-background: var(--white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0 0.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: var(--btn-width);
  min-width: var(--btn-height);
  height: var(--btn-height);
  padding: 0 var(--btn-padding-x);
  background-color: var(--btn-background);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 3rem;
  line-height: 100%;
  text-align: center;
  white-space: nowrap;
  text-transform: uppercase;
  color: var(--btn-color);
  position: relative;
}

.btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.btn--red {
  --btn-color: var(--white);
  --btn-background: var(--red);
}

.btn--accent {
  --btn-height: var(--header-inner-height);
  --btn-color: var(--white);
  padding: 0;
  background: none;
}

.btn--accent:hover .object-shadow {
  -webkit-transform: rotate(2.07deg);
  -ms-transform: rotate(2.07deg);
  transform: rotate(2.07deg);
}

.btn--accent:hover .object-body {
  -webkit-transform: rotate(-2.07deg);
  -ms-transform: rotate(-2.07deg);
  transform: rotate(-2.07deg);
}

.btn--accent .object-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: var(--red);
  padding: 0 var(--btn-padding-x);
}

.coordinates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.coordinates__title {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 3rem;
  line-height: 100%;
  text-transform: uppercase;
}

.coordinates__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
}

.coordinates__content p {
  font-weight: 400;
  font-size: 2rem;
  line-height: 100%;
  color: var(--white);
}

.coordinates__content a {
  text-decoration: underline;
}

.coordinates__content a:hover {
  color: var(--black);
}

.form-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4rem;
}

.form-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4rem;
}

.form-group {
  position: relative;
}

.form-input {
  width: 100%;
  height: 7rem;
  background-color: transparent;
  font-weight: 400;
  font-size: 3rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--white);
}

.form-input.filled + .form-label,
.form-input:focus + .form-label,
.form-input:active + .form-label,
.form-input:checked + .form-label {
  height: calc(100% + 2rem);
  font-size: 2rem;
  top: -2rem;
}

.form-input.filled + .form-label::after,
.form-input:focus + .form-label::after,
.form-input:active + .form-label::after,
.form-input:checked + .form-label::after {
  width: 100%;
}

.form-input:hover + .form-label::after {
  width: 100%;
}

.form-input:required + .form-label .typewriter__word::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNiAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik03LjYwODQgMEw5LjQwNDUxIDUuNTI3ODZIMTUuMjE2OUwxMC41MTQ2IDguOTQ0MjdMMTIuMzEwNyAxNC40NzIxTDcuNjA4NCAxMS4wNTU3TDIuOTA2MTIgMTQuNDcyMUw0LjcwMjIzIDguOTQ0MjdMLTUuMzg4MjZlLTA1IDUuNTI3ODZINS44MTIyOUw3LjYwODQgMFoiIGZpbGw9IiNEQzE0M0MiLz4NCjwvc3ZnPg0K);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top: 0;
  right: -2rem;
}

.form-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 400;
  font-size: 3rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--white);
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
}

.form-label::before {
  content: "";
  display: block;
  width: 100%;
  height: 0.2rem;
  background-color: var(--black-50);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.form-label::after {
  content: "";
  display: block;
  width: 0%;
  height: 0.2rem;
  background-color: var(--white);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.form-textarea {
  width: 100%;
  height: 7rem;
  background-color: transparent;
  border-bottom: 0.2rem solid var(--black-50);
  resize: none;
  font-weight: 400;
  font-size: 3rem;
  line-height: 7rem;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--white);
}

.form-textarea.filled + .form-label,
.form-textarea:focus + .form-label,
.form-textarea:active + .form-label,
.form-textarea:checked + .form-label {
  font-size: 2rem;
  top: -2rem;
}

.form-checkbox {
  display: none;
}

.form-checkbox:checked + .form-checkbox-label .form-checkbox--item::before {
  right: 0.5rem;
  left: auto;
}

.form-checkbox-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.form-checkbox--item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 7.5rem;
  height: 3rem;
  padding: 0.5rem;
  background-color: var(--black-10);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
}

.form-checkbox--item::before {
  content: "";
  width: 3.3rem;
  height: 2rem;
  background-color: var(--white);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: absolute;
  top: 50%;
  right: auto;
  left: 0.5rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.form-captcha {
  width: auto;
  height: 4.6rem;
}

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

.form-foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
}

.form-foot a {
  color: var(--blue);
  text-decoration: underline;
}

.form-foot a:hover {
  text-decoration: none;
}

.form-btn {
  --btn-width: 100%;
  --btn-height: 8rem;
  --btn-padding-x: 2rem;
  --btn-color: var(--black);
  --btn-background: var(--white);
  --btn-hover-color: var(--white);
  --btn-hover-background: var(--black);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0 0.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: var(--btn-width);
  min-width: var(--btn-height);
  height: var(--btn-height);
  padding: 0 var(--btn-padding-x);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  color: var(--btn-color);
  position: relative;
}

.form-btn::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--btn-background);
  position: absolute;
  inset: 0;
  z-index: 1;
}

.form-btn::after {
  content: "";
  display: block;
  width: 0%;
  height: 100%;
  background-color: var(--btn-hover-background);
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
  position: absolute;
  inset: 0;
  z-index: 2;
}

.form-btn:hover {
  color: var(--btn-hover-color);
}

.form-btn:hover::after {
  width: 100%;
}

.form-btn__text {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 3rem;
  line-height: 100%;
  text-align: center;
  white-space: nowrap;
  text-transform: uppercase;
  position: relative;
  z-index: 3;
}

.form-text {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  color: var(--white-50);
}

.form-text a {
  text-decoration: underline;
}

.form-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
}

.form-col-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem 2rem;
}

/* Стили для иконок */

[class^=icon-],
[class*=" icon-"] {
  --font-size: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: var(--font-size);
  height: var(--font-size);
  border-radius: 50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: var(--font-size);
  color: inherit;
  position: relative;
  z-index: 1;
}

.numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  white-space: nowrap;
}

.numbers-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: auto;
  margin-right: 0.5ch;
  font-size: 6rem;
  line-height: 1.1;
}

.digit-container {
  display: inline-block;
  overflow: hidden;
  width: 0.62em;
  height: 1em;
  vertical-align: bottom;
}

.digit {
  display: block;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  text-align: right;
}

.digit span {
  display: block;
  line-height: 1;
  height: 1em;
}

.object-shadow {
  display: block;
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  background-color: var(--btn-background);
  -webkit-transform: rotate(-4.07deg);
  -ms-transform: rotate(-4.07deg);
  transform: rotate(-4.07deg);
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: absolute;
  inset: 0;
  z-index: 1;
  -webkit-filter: brightness(0) saturate(100%) invert(7%) sepia(8%) saturate(400%) hue-rotate(202deg) brightness(94%);
  filter: brightness(0) saturate(100%) invert(7%) sepia(8%) saturate(400%) hue-rotate(202deg) brightness(94%);
}

.object-body {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  z-index: 2;
}

/* Главный заголовок страницы */

.h1,
h1 {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 6rem;
  line-height: 120%;
}

/* Заголовок блока */

.h2,
h2 {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 3.5rem;
  line-height: 120%;
}

/* Подзаголовок блока */

.h3,
h3 {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 120%;
}

.h4,
h4 {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 120%;
}

.h5,
h5 {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 120%;
}

.h6,
h6 {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 120%;
}

/* Текст */

p {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 120%;
}

.typewriter {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}

.typewriter__cursor {
  -webkit-transition: 0s !important;
  transition: 0s !important;
}

/* Modules */

.burger-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.7rem;
  width: var(--header-inner-height);
  height: var(--header-inner-height);
  background-color: var(--black);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}

.tender--open .burger-btn {
  background-color: var(--white);
}

.burger-btn.burger--open {
  gap: 0;
}

.burger-btn * {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.burger-btn__line {
  width: 2rem;
  height: 0.3rem;
  background-color: var(--white);
  position: absolute;
  top: 50%;
}

.tender--open .burger-btn__line {
  background-color: var(--black);
}

.burger-btn__line--first {
  -webkit-transform: translateY(calc(-50% - 0.5rem));
  -ms-transform: translateY(calc(-50% - 0.5rem));
  transform: translateY(calc(-50% - 0.5rem));
}

.burger--open .burger-btn__line--first {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.burger-btn__line--second {
  -webkit-transform: translateY(calc(-50% + 0.5rem));
  -ms-transform: translateY(calc(-50% + 0.5rem));
  transform: translateY(calc(-50% + 0.5rem));
}

.burger--open .burger-btn__line--second {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* Blocks */

.callback {
  display: grid;
  grid-template-columns: var(--callback-width) 1fr;
  background-color: var(--red);
  width: 100dvw;
  width: 100vw;
  height: 100dvh;
  height: 100vh;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: fixed;
  top: 0;
  left: calc(100% - var(--callback-width));
  z-index: 600;
}

.callback.callback-mini {
  display: block;
  background-color: var(--black);
  width: var(--callback-mini-width);
  height: auto;
  min-height: 100vh;
  min-height: 100dvh;
  right: 0;
  left: unset;
  z-index: 1;
}

.callback.callback-mini .general__suptitle {
  font-size: 6.5rem;
  color: var(--red);
}

.callback.callback-mini .general__title {
  font-size: 4rem;
  color: var(--white);
}

.callback.callback-mini .form-input {
  color: var(--white);
}

.callback.callback-mini .form-label {
  color: var(--white);
}

.callback.callback-mini .form-label::before {
  height: 0.1rem;
  background-color: var(--red);
}

.callback.callback-mini .form-btn {
  --btn-color: var(--white);
  --btn-background: var(--red);
  --btn-hover-color: var(--black);
  --btn-hover-background: var(--white);
}

.callback.callback-mini .form-checkbox--item {
  background-color: var(--white-10);
}

.callback.callback-mini .form-checkbox--item::before {
  background-color: var(--red);
}

.callback.callback-mini .callback__inner {
  gap: 4rem;
}

.callback.callback-mini .request__cover {
  display: none;
}

.callback--open .callback:not(.callback.callback-mini) {
  grid-template-columns: 0fr 1fr;
  left: 4.2rem;
}

.tender--open .callback:not(.callback.callback-mini),
.header-at-footer .callback:not(.callback.callback-mini),
.menu--open .callback:not(.callback.callback-mini) {
  left: calc(100% + var(--callback-width));
}

.callback * {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.callback .form {
  max-width: 114.6rem;
  max-width: 59.6875vw;
  z-index: 2;
}

.callback .general__head {
  gap: 0;
  z-index: 2;
}

.callback .general__suptitle {
  color: var(--black);
}

.callback .general__title {
  line-height: 100%;
  color: var(--white);
}

.callback .typewriter__word::after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNiAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik03LjYwODQgMEw5LjQwNDUxIDUuNTI3ODZIMTUuMjE2OUwxMC41MTQ2IDguOTQ0MjdMMTIuMzEwNyAxNC40NzIxTDcuNjA4NCAxMS4wNTU3TDIuOTA2MTIgMTQuNDcyMUw0LjcwMjIzIDguOTQ0MjdMLTUuMzg4MjZlLTA1IDUuNTI3ODZINS44MTIyOUw3LjYwODQgMFoiIGZpbGw9IiNGQUY0RUQiLz4NCjwvc3ZnPg0K) !important;
}

.callback__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 4.5rem 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  overflow: hidden;
}

.callback__side-text {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 3rem;
  line-height: 100%;
  text-transform: uppercase;
  color: #FAF4ED;
  white-space: nowrap;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.callback__btn {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background-color: var(--black);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  cursor: pointer;
  position: absolute;
  top: 50%;
  left: -2.4rem;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.callback__btn:hover {
  -webkit-transform: translateY(-50%) scale(1.2);
  -ms-transform: translateY(-50%) scale(1.2);
  transform: translateY(-50%) scale(1.2);
}

.callback__btn-line {
  width: 1.15rem;
  height: 0.3rem;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.callback--open .callback__btn-line {
  width: 2rem;
}

.callback__btn-line--first {
  -webkit-transform: translate(-50%, calc(-50% - 0.3rem)) rotate(-45deg);
  -ms-transform: translate(-50%, calc(-50% - 0.3rem)) rotate(-45deg);
  transform: translate(-50%, calc(-50% - 0.3rem)) rotate(-45deg);
}

.callback--open .callback__btn-line--first {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.callback__btn-line--second {
  -webkit-transform: translate(-50%, calc(-50% + 0.3rem)) rotate(45deg);
  -ms-transform: translate(-50%, calc(-50% + 0.3rem)) rotate(45deg);
  transform: translate(-50%, calc(-50% + 0.3rem)) rotate(45deg);
}

.callback--open .callback__btn-line--second {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -ms-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.callback__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
  padding: 11rem 9rem 8rem 9rem;
  overflow-y: auto;
}

.callback__inner::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

.callback__cover {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 92.8rem;
  width: 48.3333333333vw;
  height: 103.5rem;
  height: 53.90625vw;
  pointer-events: none;
  position: absolute;
  top: 0;
  right: 4.2rem;
  right: 2.1875vw;
  z-index: 1;
}

.callback__cover-img {
  width: auto;
  -webkit-transition: none;
  transition: none;
  position: absolute;
}

.callback__cover-img--first {
  height: 62.7rem;
  height: 32.65625vw;
  top: -2.8rem;
  top: -1.4583333333vw;
  right: -1.5rem;
  right: -0.78125vw;
  z-index: 2;
}

.callback__cover-img--first img {
  -webkit-transform: rotate(16.41deg);
  -ms-transform: rotate(16.41deg);
  transform: rotate(16.41deg);
}

.callback__cover-img--second {
  height: 45rem;
  height: 23.4375vw;
  right: 12.4rem;
  right: 6.4583333333vw;
  bottom: 25rem;
  bottom: 13.0208333333vw;
  z-index: 1;
}

.callback__cover-img--second img {
  -webkit-transform: rotate(70.79deg);
  -ms-transform: rotate(70.79deg);
  transform: rotate(70.79deg);
}

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

.footer {
  --container-padding: 13rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  background-color: var(--red);
  overflow: hidden;
  padding: 4rem 0;
  color: var(--white);
  position: relative;
  z-index: 300;
}

.footer .container {
  height: auto;
}

.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 10rem;
  height: 100%;
}

.footer__phone {
  width: 100%;
  min-height: 20rem;
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 19.5rem;
  line-height: 100%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}

.footer__phone:hover a::after {
  opacity: 0 !important;
}

.footer__phone a {
  -webkit-transform: rotate(-1.42deg);
  -ms-transform: rotate(-1.42deg);
  transform: rotate(-1.42deg);
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.footer__phone a::after {
  content: "";
  width: 100%;
  height: 0.4rem;
  background-color: var(--white);
  opacity: 1;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  position: absolute;
  bottom: -2rem;
  left: 0;
}

.footer__phone a:nth-child(2) {
  color: var(--black);
  -webkit-transform: rotate(-2.85deg);
  -ms-transform: rotate(-2.85deg);
  transform: rotate(-2.85deg);
  z-index: 1;
}

.footer__phone a:nth-child(2)::after {
  background-color: var(--black);
}

.footer__cover {
  width: auto;
  height: 62.3958333333vw;
  pointer-events: none;
  position: absolute;
  bottom: -18.75vw;
  left: -19.7rem;
  left: -10.2604166667vw;
  z-index: 2;
}

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

.footer__mask {
  width: auto;
  height: 98.6rem;
  position: absolute;
  right: -30.9rem;
  bottom: -40.4rem;
  z-index: 2;
}

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

.footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 2rem;
  height: 100%;
  padding: 32.8rem 0 0 83rem;
  padding: 17.0833333333vw 0 0 43.2291666667vw;
  padding: 0 0 0 43.2291666667vw;
}

.footer__body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem 10rem;
}

.footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  grid-column: 1/2;
  grid-row: 1/3;
}

.footer__menu-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 3rem;
  line-height: 100%;
  text-transform: uppercase;
}

.footer__menu-link:hover {
  color: var(--black);
}

.footer__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
  grid-column: 1/2;
  grid-row: 3/5;
}

.footer__link {
  font-weight: 400;
  font-size: 2rem;
  line-height: 100%;
  text-decoration: underline;
}

.footer__link:link,
.footer__link:visited {
  text-decoration: underline;
}

.footer__link:hover {
  color: var(--black);
  text-decoration-line: none;
}

.footer__contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  grid-column: 2/3;
  grid-row: 1/2;
}

.footer__contacts-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.footer__contacts-wrap p {
  font-size: 2rem;
  line-height: 100%;
}

.footer__contacts-wrap a {
  text-decoration: underline;
}

.footer__contacts-wrap a:hover {
  color: var(--black);
}

.footer__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
  font-size: 2rem;
  line-height: 100%;
}

.footer__download i {
  --font-size: 2.4rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0yMC43ODY0IDEwLjY3MzZDMjAuNzkwNCAxMC41ODI0IDIwLjggMTAuNDkyOCAyMC44IDEwLjRDMjAuOCA2Ljg2NTYgMTcuOTM0NCA0IDE0LjQgNEMxMS45MTIgNCA5Ljc2IDUuNDIzMiA4LjcwMTYgNy40OTY4QzguMjM2OCA3LjMwODggNy43MzIgNy4yIDcuMiA3LjJDNS4xNzYgNy4yIDMuNTIwOCA4LjcwOCAzLjI1NDQgMTAuNjU5MkMxLjM2MjQgMTEuMzAzMiAwIDEzLjA5MDQgMCAxNS4yQzAgMTcuODUxMiAyLjE0ODggMjAgNC44IDIwSDE5LjJDMjEuODUxMiAyMCAyNCAxNy44NTEyIDI0IDE1LjJDMjQgMTMuMTA1NiAyMi42NTY4IDExLjMyOTYgMjAuNzg2NCAxMC42NzM2Wk0xNC45NjU2IDE0Ljk2NTZMMTIuNTY1NiAxNy4zNjU2QzEyLjQwOTYgMTcuNTIxNiAxMi4yMDQ4IDE3LjYgMTIgMTcuNkMxMS43OTUyIDE3LjYgMTEuNTkwNCAxNy41MjE2IDExLjQzNDQgMTcuMzY1Nkw5LjAzNDQgMTQuOTY1NkM4LjcyMTYgMTQuNjUyOCA4LjcyMTYgMTQuMTQ3MiA5LjAzNDQgMTMuODM0NEM5LjM0NzIgMTMuNTIxNiA5Ljg1MjggMTMuNTIxNiAxMC4xNjU2IDEzLjgzNDRMMTEuMiAxNC44Njg4VjEwLjRDMTEuMiA5Ljk1ODQgMTEuNTU3NiA5LjYgMTIgOS42QzEyLjQ0MjQgOS42IDEyLjggOS45NTg0IDEyLjggMTAuNFYxNC44Njg4TDEzLjgzNDQgMTMuODM0NEMxNC4xNDcyIDEzLjUyMTYgMTQuNjUyOCAxMy41MjE2IDE0Ljk2NTYgMTMuODM0NEMxNS4yNzg0IDE0LjE0NzIgMTUuMjc4NCAxNC42NTI4IDE0Ljk2NTYgMTQuOTY1NloiIGZpbGw9IiNGQUY0RUQiLz4NCjwvc3ZnPg0K);
  background-repeat: no-repeat;
  background-size: 100%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.footer__download a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 800;
  font-size: 2rem;
  line-height: 1;
  text-transform: uppercase;
  color: var(--white);
}

.footer__download a:hover {
  color: var(--black);
}

.header {
  --header-inner-height: 7rem;
  width: 100%;
  height: var(--header-height);
  background-color: rgba(255, 255, 255, 0);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  will-change: transform;
  padding-top: env(safe-area-inset-top);
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
  pointer-events: none;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 500;
}

.header.header-out {
  pointer-events: none;
}

.header {
  /* хедер зафиксировался */
}

html.header-off-top .header {
  background-color: var(--red);
  max-height: 11rem;
}

.header {
  /* прошли первую секцию */
}

.menu--open .header .nav {
  display: none;
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
  padding: 5rem 0;
  -webkit-transition: padding 0.5s ease;
  transition: padding 0.5s ease;
  pointer-events: all;
  position: relative;
  z-index: 2;
}

html.header-off-top .header__inner {
  padding: 2rem 0;
}

.header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

.menu--open .header__right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.header__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

html.header-off-top .header__left .line-col {
  background-color: var(--white);
}

.header__left .btn--accent {
  font-weight: 700;
  font-size: 2rem;
}

.menu--open .header__left .btn--accent {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.header__left .btn--accent .object-body {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

html.header-off-top .header__left .btn--accent .object-body,
.menu--open .header__left .btn--accent .object-body {
  background-color: var(--white);
  color: var(--black);
}

.header__phone {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 6rem;
  line-height: 100%;
  color: var(--white);
  -webkit-transform: translateX(150%);
  -ms-transform: translateX(150%);
  transform: translateX(150%);
  -webkit-transition: -webkit-transform 0.3s linear;
  transition: -webkit-transform 0.3s linear;
  transition: transform 0.3s linear;
  transition: transform 0.3s linear, -webkit-transform 0.3s linear;
}

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

html.header-off-top .header__phone,
.menu--open .header__phone {
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  transform: translateX(0%);
}

.invert-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  z-index: 502;
  pointer-events: none;
  backdrop-filter: invert(1);
  -webkit-backdrop-filter: invert(1);
}

.logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: var(--header-inner-height);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.logo svg,
.logo img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.logo path {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}

html.header-off-top .logo svg path,
.header-theme-dark .logo svg path,
.menu--open .logo svg path {
  fill: var(--white);
}

html.header-off-top .logo svg #point,
.header-theme-dark .logo svg #point,
.menu--open .logo svg #point {
  fill: var(--black);
}

.tender--open .logo svg path {
  fill: var(--white);
}

.tender--open .logo svg #point {
  fill: var(--red);
}

.menu {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: var(--red);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  padding-top: var(--header-height);
  overflow: hidden;
  position: fixed;
  top: 0;
  z-index: 400;
}

.menu--open .menu {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.menu .container {
  overflow-y: auto;
}

.menu__inner {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  min-height: 100%;
  padding: 3.5rem 0;
}

.menu__phone {
  display: none;
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 9.9502487562vw;
  line-height: 100%;
  color: var(--white);
}

.menu__left {
  grid-column: 1/2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 5rem;
  overflow: hidden;
  height: 100%;
  position: relative;
  z-index: 2;
}

.menu__right {
  grid-column: 2/5;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.menu__right::after {
  content: "";
  display: block;
  width: 52.2rem;
  height: 46.8rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTIyIiBoZWlnaHQ9IjQ2OCIgdmlld0JveD0iMCAwIDUyMiA0NjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNNDM2Ljk3IDYuOTA5NjlMMjkxLjEyOCAxOTkuMjk5TDUxNy40MTUgOTYuOTA4MUw0MzYuOTcgNi45MDk2OVoiIGZpbGw9IiMxNzE3MUEiLz4NCjxlbGxpcHNlIGN4PSIxODMuNDIzIiBjeT0iMjkyLjI2IiByeD0iMTgzLjQyMyIgcnk9IjE3NS43NCIgdHJhbnNmb3JtPSJyb3RhdGUoLTE4MCAxODMuNDIzIDI5Mi4yNikiIGZpbGw9IiNGQUY0RUQiLz4NCjxwYXRoIGQ9Ik0zMTUuMDA0IDE2OS40MkwyOTMuMDEzIDE5OC40MjlMMzI3LjEzNCAxODIuOTlMMzE1LjAwNCAxNjkuNDJaIiBmaWxsPSIjREMxNDNDIi8+DQo8L3N2Zz4NCg==);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center center;
  position: absolute;
  bottom: -16.2rem;
  left: 64rem;
  z-index: 1;
}

.menu__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  position: absolute;
  bottom: 29.4rem;
  left: 54.7rem;
}

.menu-item-hover .menu__content {
  -webkit-transform: translateY(100vh);
  -ms-transform: translateY(100vh);
  transform: translateY(100vh);
}

.menu__content-suptitle {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 3rem;
  line-height: 150%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.menu__content-title {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 20rem;
  line-height: 85%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.menu__content-title span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 10rem;
  line-height: 95%;
  letter-spacing: 0;
  color: var(--white);
}

.menu__nav-wrap {
  grid-column: 2/5;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: relative;
  z-index: 1;
}

.menu__nav-wrap::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: -7rem;
  left: -23rem;
  z-index: 1;
}

.menu__nav-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 12rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.menu__nav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4rem;
  -webkit-transform: translateY(-150%);
  -ms-transform: translateY(-150%);
  transform: translateY(-150%);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.menu__nav-item:nth-child(1) {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.menu__nav-item:nth-child(2) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.menu__nav-item:nth-child(3) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.menu__nav-head span {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 3rem;
  line-height: 120%;
  text-transform: uppercase;
  color: var(--black);
}

.menu__nav-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
}

.menu__nav-list a {
  font-weight: 400;
  font-size: 2rem;
  line-height: 100%;
  text-decoration-line: underline;
  text-transform: uppercase;
  color: var(--white);
}

.menu__nav-list a:hover {
  color: var(--black);
}

.menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.menu__list-item {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8rem;
  width: 100%;
}

.menu__list-item--dropdown {
  pointer-events: none;
}

.menu__list-item:first-child .menu__list-link {
  padding-top: 0;
}

.menu__list-item:hover .menu__nav-wrap {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.menu__list-item:hover .menu__nav-wrap .menu__nav-item:nth-child(1) {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.menu__list-item:hover .menu__nav-wrap .menu__nav-item:nth-child(2) {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.menu__list-item:hover .menu__nav-wrap .menu__nav-item:nth-child(3) {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.menu__list-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2rem 0;
  pointer-events: all;
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 3rem;
  line-height: 100%;
  text-transform: uppercase;
  color: var(--white);
  position: relative;
  z-index: 2;
}

.menu-item-hover .menu__list-item--dropdown .menu__list-link,
.menu__list-link:hover {
  padding-left: 4.5rem;
  color: var(--black);
}

.menu-item-hover .menu__list-item--dropdown .menu__list-link::before,
.menu__list-link:hover::before {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  left: 0;
}

.menu__list-link::before {
  content: "";
  display: block;
  width: 2.1rem;
  height: 3rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTMiIHZpZXdCb3g9IjAgMCAzOSA1MyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0zOSAyNi41TDAgNTNMNC4zOTEyZS0wNiAwTDM5IDI2LjVaIiBmaWxsPSIjMTcxNzFBIi8+DQo8L3N2Zz4NCg==);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  pointer-events: none;
  position: absolute;
  left: -1.3rem;
}

.menu__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.menu__foot .footer__menu-link {
  margin-bottom: 0;
}

.menu .social__title {
  font-size: 2rem;
}

.menu .social__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  max-width: 28rem;
}

.menu .social__link {
  color: var(--white);
}

.menu .social__link i {
  --font-size: 4rem;
}

.menu .hero__cover {
  height: 49.0104166667vw;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  top: unset;
  right: -9.8958333333vw;
  bottom: -4.1666666667vw;
}

.menu-item-hover .menu .hero__cover {
  -webkit-transform: translateY(100vh);
  -ms-transform: translateY(100vh);
  transform: translateY(100vh);
}

.menu .hero__cover-el {
  width: 7.2916666667vw;
  height: 7.2916666667vw;
  top: 9.1145833333vw;
  left: 18.75vw;
}

.menu .nav__wrap {
  grid-template-columns: 1fr;
  width: 100%;
  height: 100%;
  top: 0;
}

.nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

.nav__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  padding: 2rem 0;
  cursor: pointer;
  position: relative;
}

.nav__list-item--dropdown::after {
  content: "";
  width: 100vw;
  height: calc(100vh + var(--header-height));
  background-color: var(--black-20);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 0;
}

.nav__list-item--dropdown:hover::after {
  opacity: 1;
}

.nav__list-item--dropdown:hover .nav__wrap {
  grid-template-rows: 1fr;
}

.nav__list-item--dropdown:hover .nav__items {
  padding: 2.5rem 0 3.5rem 0;
}

.nav__list-item > i {
  --font-size: 1.3rem !important;
  -webkit-transform: rotate(-90deg) scale(-1, 1);
  -ms-transform: rotate(-90deg) scale(-1, 1);
  transform: rotate(-90deg) scale(-1, 1);
}

html.header-off-top .nav__list-item > i .path1::before,
html.header-off-top .nav__list-item > i .path2::before {
  color: var(--white);
}

html.header-off-top .nav__list-item > i .path3::before,
html.header-off-top .nav__list-item > i .path4::before {
  color: var(--black);
}

.nav__list-item:hover .nav__list-link {
  color: var(--red);
}

.nav__list-item:hover .nav__list-link + i {
  -webkit-transform: rotate(90deg) scale(-1, 1);
  -ms-transform: rotate(90deg) scale(-1, 1);
  transform: rotate(90deg) scale(-1, 1);
}

.nav__list-link {
  font-weight: 800;
  font-size: 2rem;
  line-height: 100%;
  text-transform: uppercase;
  text-decoration: underline;
}

html.header-off-top .nav__list-link,
.header-theme-dark .nav__list-link,
.menu--open .nav__list-link {
  color: var(--white);
}

.nav__list-link:link,
.nav__list-link:visited {
  text-decoration: underline;
}

html.header-off-top .nav__list-link:hover {
  color: var(--black);
}

.nav__wrap {
  display: grid;
  grid-template-rows: 0fr;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
}

.nav__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0;
  padding: 0;
  background-color: var(--black);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  overflow: hidden;
}

.nav__item {
  padding: 1.5rem 2rem;
}

.nav__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: var(--white);
  cursor: pointer;
}

.nav__item:hover .nav__item-head {
  color: var(--red);
}

.nav__item-head span {
  font-weight: 400;
  font-size: 2rem;
  line-height: 100%;
  text-transform: uppercase;
  white-space: nowrap;
}

.nav__item-head i {
  --font-size: 1.3rem;
}

.nav__item-body {
  display: grid;
  grid-template-columns: 0;
  background-color: var(--red);
  overflow: hidden;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
}

.nav__item:hover .nav__item-body {
  grid-template-columns: 1fr;
  z-index: 2;
}

.nav__item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  padding: 4rem 0 5rem 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  overflow: hidden;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.nav__item:hover .nav__item-list {
  padding: 4rem 5rem 5rem 3rem;
}

.nav__item-list li {
  padding: 0;
}

.nav__item-list a {
  font-weight: 400;
  font-size: 2rem;
  line-height: 100%;
  text-decoration: underline;
  text-transform: uppercase;
  color: var(--white);
  white-space: nowrap;
}

.nav__item-list a:hover {
  color: var(--black);
}

.plate {
  display: none;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 700;
}

.plate__wrap {
  width: 100%;
  height: var(--plate-height);
  padding: 1rem 0;
  background-color: var(--black);
  pointer-events: all;
}

.plate__btn {
  --btn-height: 5rem;
  width: 100%;
  font-family: var(--second-family);
  font-size: 1.6rem;
}

.preloader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: var(--red);
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  position: fixed;
  inset: 0;
  z-index: 9999;
}

canvas {
  display: block;
  width: 7.1rem;
  height: 7rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  grid-column: 2/3;
  grid-row: 2/4;
}

.social__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 3rem;
  line-height: 100%;
  text-transform: uppercase;
}

.social__title:hover {
  color: var(--black);
}

.social__links {
  display: grid;
  grid-template-columns: repeat(4, 4rem);
  gap: 1rem;
}

.social__link:hover i {
  border-color: var(--black);
  color: var(--black);
}

.social__link i {
  --font-size: 4rem;
  border: 0.1rem solid var(--white);
  border-radius: 50%;
}

.social__text {
  max-width: 30rem;
  grid-column: 1/5;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  opacity: 0.5;
  color: var(--black);
}

.social .footer__menu-link {
  margin-bottom: 1rem;
}

.template {
  --section-padding-top: 2rem;
  --section-padding-bottom: 2rem;
  position: relative;
}

.template h1 {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 16rem;
  line-height: 100%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.template__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.tender {
  display: grid;
  grid-template-rows: 0fr;
  width: 100dvw;
  width: 100vw;
  height: 100dvh;
  height: 100vh;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  overflow: hidden;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 400;
}

.tender--open .tender {
  grid-template-rows: 1fr;
}

.header-at-footer .tender,
.menu--open .tender {
  grid-template-rows: 0fr;
}

.tender * {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.tender .form {
  max-width: 114.6rem;
  max-width: 59.6875vw;
  z-index: 2;
}

.tender .form-group:last-child {
  grid-column: 1/3;
}

.tender .form-label::before {
  background-color: var(--white-50);
}

.tender .form-label::after {
  background-color: var(--white);
}

.tender .form-btn:hover .form-btn__text {
  color: var(--black);
}

.tender .form-btn::before {
  background-color: var(--red);
}

.tender .form-btn::after {
  background-color: var(--white);
}

.tender .form-btn__text {
  color: var(--white);
}

.tender .form-checkbox--item {
  background-color: var(--white-10);
}

.tender .general__head {
  gap: 0;
  z-index: 2;
}

.tender .general__suptitle {
  color: var(--white);
}

.tender .general__title {
  line-height: 100%;
  color: var(--red);
}

.tender .typewriter__word::after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNiAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik03LjYwODQgMEw5LjQwNDUxIDUuNTI3ODZIMTUuMjE2OUwxMC41MTQ2IDguOTQ0MjdMMTIuMzEwNyAxNC40NzIxTDcuNjA4NCAxMS4wNTU3TDIuOTA2MTIgMTQuNDcyMUw0LjcwMjIzIDguOTQ0MjdMLTUuMzg4MjZlLTA1IDUuNTI3ODZINS44MTIyOUw3LjYwODQgMFoiIGZpbGw9IiNGQUY0RUQiLz4NCjwvc3ZnPg0K) !important;
}

.tender__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 4.5rem 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  overflow: hidden;
}

.tender__side-text {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 3rem;
  line-height: 100%;
  text-transform: uppercase;
  color: #FAF4ED;
  white-space: nowrap;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.tender__btn {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background-color: var(--black);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  cursor: pointer;
  position: absolute;
  top: 50%;
  left: -2.4rem;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.tender__btn:hover {
  -webkit-transform: translateY(-50%) scale(1.2);
  -ms-transform: translateY(-50%) scale(1.2);
  transform: translateY(-50%) scale(1.2);
}

.tender__btn-line {
  width: 1.15rem;
  height: 0.3rem;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.tender--open .tender__btn-line {
  width: 2rem;
}

.tender__btn-line--first {
  -webkit-transform: translate(-50%, calc(-50% - 0.3rem)) rotate(-45deg);
  -ms-transform: translate(-50%, calc(-50% - 0.3rem)) rotate(-45deg);
  transform: translate(-50%, calc(-50% - 0.3rem)) rotate(-45deg);
}

.tender--open .tender__btn-line--first {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.tender__btn-line--second {
  -webkit-transform: translate(-50%, calc(-50% + 0.3rem)) rotate(45deg);
  -ms-transform: translate(-50%, calc(-50% + 0.3rem)) rotate(45deg);
  transform: translate(-50%, calc(-50% + 0.3rem)) rotate(45deg);
}

.tender--open .tender__btn-line--second {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -ms-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.tender__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
  padding: 0 9rem 0 9rem;
  overflow: hidden;
  background-color: var(--black);
  pointer-events: all;
}

.tender--open .tender__inner {
  padding: 15rem 9rem 8rem 9rem;
  overflow-y: auto;
}

.tender__inner::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

.tender__cover {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 92.8rem;
  width: 48.3333333333vw;
  height: 103.5rem;
  height: 53.90625vw;
  pointer-events: none;
  position: absolute;
  top: 0;
  right: 4.2rem;
  right: 2.1875vw;
  z-index: 1;
}

.tender__cover-img {
  width: auto;
  -webkit-transition: none;
  transition: none;
  position: absolute;
}

.tender__cover-img--first {
  height: 62.7rem;
  height: 32.65625vw;
  top: -2.8rem;
  top: -1.4583333333vw;
  right: -1.5rem;
  right: -0.78125vw;
  z-index: 2;
}

.tender__cover-img--first img {
  -webkit-transform: rotate(16.41deg);
  -ms-transform: rotate(16.41deg);
  transform: rotate(16.41deg);
}

.tender__cover-img--second {
  height: 45rem;
  height: 23.4375vw;
  right: 12.4rem;
  right: 6.4583333333vw;
  bottom: 25rem;
  bottom: 13.0208333333vw;
  z-index: 1;
}

.tender__cover-img--second img {
  -webkit-transform: rotate(70.79deg);
  -ms-transform: rotate(70.79deg);
  transform: rotate(70.79deg);
}

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

/* Elements */

/* Pages */

/* Sections */

.approach {
  --section-padding-bottom: 10rem;
  overflow-x: visible;
}

.approach .general__title .general__suptitle {
  display: block;
}

.approach .general__suptitle {
  font-size: 5.2083333333vw;
}

.approach__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 12rem;
}

.approach__head .general__text {
  margin-left: 54rem;
  font-size: 2.0833333333vw;
}

.approach__body .general__title {
  font-size: 9.375vw;
  color: var(--black);
}

.approach__body .general__suptitle {
  color: var(--red);
}

.approach__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-left: 54rem;
}

.approach__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 42rem 0 7.5rem;
  padding: 0 21.875vw 0 3.90625vw;
  width: 112.5rem;
  width: 58.59375vw;
  height: 111.1rem;
  height: 57.8645833333vw;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEyMiIgaGVpZ2h0PSIxMTE3IiB2aWV3Qm94PSIwIDAgMTEyMiAxMTE3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KPHBhdGggZD0iTTEwNy4zMDQgMjI0LjA3QzI4OS40MzcgLTIyLjkwNzYgNjQwLjA0IC03My40NTM3IDg5MC4zOTggMTExLjE3MkMxMTQwLjc2IDI5NS43OTggMTE5Ni4wNyA2NDUuNjgyIDEwMTMuOTMgODkyLjY1OUM4MzEuOCAxMTM5LjY0IDQ4MS4xOTcgMTE5MC4xOCAyMzAuODM4IDEwMDUuNTZDLTE5LjUyMDMgODIwLjkzMSAtNzQuODI4NCA0NzEuMDQ4IDEwNy4zMDQgMjI0LjA3WiIgZmlsbD0iIzE3MTcxQSIvPg0KPC9zdmc+DQo=);
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform-origin: top right;
  -ms-transform-origin: top right;
  transform-origin: top right;
  color: var(--white);
  text-align: right;
  position: absolute;
  top: -25rem;
  top: -13.0208333333vw;
  right: -26.5rem;
  top: -13.8020833333vw;
  z-index: -1;
}

.approach__block .general__head {
  position: relative;
  z-index: 2;
}

.approach__block .general__suptitle {
  font-weight: 400;
  color: var(--white);
}

.approach__block .general__text {
  font-size: 2.0833333333vw;
}

.approach__cover {
  height: 90.6rem;
  height: 47.1875vw;
  position: absolute;
  top: 25.2rem;
  top: 13.125vw;
  left: 0;
  z-index: 1;
}

.approach__cover::before {
  content: "";
  width: 16rem;
  height: 1.2rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA2IiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTA2IDEyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KPHJlY3QgeD0iLTU0IiB3aWR0aD0iMTYwIiBoZWlnaHQ9IjEyIiBmaWxsPSIjREMxNDNDIi8+DQo8L3N2Zz4NCg==);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: 14rem;
  left: -5.4rem;
  z-index: 3;
}

.approach__cover::after {
  content: "";
  width: 60.1rem;
  height: 40.4rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTg4IiBoZWlnaHQ9IjM5OCIgdmlld0JveD0iMCAwIDU4OCAzOTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNNTg3LjExNiAzOTMuOTcyTDEyLjMwMTQgLTAuMDAwMTEzOEwwLjAwMDE1ODQwNCAyOC4yNDdMNTg0LjgxNCAzOTcuNTI3TDU4Ny4xMTYgMzkzLjk3MloiIGZpbGw9IiNEQzE0M0MiLz4NCjwvc3ZnPg0K);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  left: -8.7rem;
  bottom: -25.1rem;
  z-index: 1;
}

.approach__cover img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  position: relative;
  z-index: 2;
}

.approach__satellite-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
}

.approach__satellite-item {
  width: auto;
  height: 35rem;
  overflow: visible;
  pointer-events: none;
  -webkit-transform: rotate(-16.65deg);
  -ms-transform: rotate(-16.65deg);
  transform: rotate(-16.65deg);
  will-change: transform;
  position: absolute;
  bottom: calc(50% - 26.2rem);
  left: 50%;
}

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

.awards {
  --section-padding-bottom: 7.5rem;
  overflow: visible;
}

.awards .general__head {
  gap: 0;
  margin-bottom: 7rem;
}

.awards__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem 3.3rem;
}

.awards__body .swiper-button-next {
  width: 9rem;
  margin: 0 0 0 50rem !important;
  -webkit-transform: unset;
  -ms-transform: unset;
  transform: unset;
  position: static;
  z-index: 1;
}

.awards__img {
  height: 87.8rem;
  height: 45.7291666667vw;
  position: absolute;
  top: -5.3rem;
  top: -2.7604166667vw;
  right: 0;
  z-index: 3;
}

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

.awards__cover {
  width: auto;
  height: 63.8rem;
  height: 33.2291666667vw;
  position: absolute;
  top: -11.8rem;
  top: -6.1458333333vw;
  left: -3.8rem;
  left: -1.9791666667vw;
  z-index: 2;
}

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

.awards__slider {
  max-width: 100%;
  z-index: 2;
}

.awards__slide {
  opacity: 0;
  -webkit-transition: opacity 0.1s ease;
  transition: opacity 0.1s ease;
}

.awards__slide.swiper-slide-active {
  opacity: 1;
}

.awards__slide-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
  max-width: 62rem;
}

.awards__slide-name {
  margin-bottom: 1rem;
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 4rem;
  line-height: 100%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--red);
}

.awards__slide-title {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 4rem;
  line-height: 120%;
  text-transform: uppercase;
}

.awards__slide-text {
  font-weight: 400;
  font-size: 3rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.awards__slide-link {
  font-weight: 400;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  color: var(--red);
}

.cases {
  --section-padding-top: 5rem;
  --section-padding-bottom: 6.5rem;
  overflow: visible;
}

.cases .general__head {
  gap: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 3rem;
}

.cases .general__suptitle {
  margin-left: 40rem;
}

.cases__inner {
  padding-left: 54rem;
}

.cases__cover {
  height: 114rem;
  position: absolute;
  top: -2rem;
  left: 0;
  z-index: 2;
}

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

.cases__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
  max-width: 99rem;
  margin: 0 0 0 8rem;
  position: relative;
}

.cases__body::after {
  content: "";
  width: 15rem;
  height: 12.3rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjEyNCIgdmlld0JveD0iMCAwIDE1MCAxMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cmVjdCB4PSIxMzUuMzIzIiB3aWR0aD0iMjMuNDAyOCIgaGVpZ2h0PSIxNzAuMTA2IiB0cmFuc2Zvcm09InJvdGF0ZSg1Mi43MDQ2IDEzNS4zMjMgMCkiIGZpbGw9IiNEQzE0M0MiLz4NCjxjaXJjbGUgY3g9IjkwLjM2MTUiIGN5PSI5Mi4wODg4IiByPSIyNi4wMDg1IiB0cmFuc2Zvcm09InJvdGF0ZSgxMi4zMDAxIDkwLjM2MTUgOTIuMDg4OCkiIGZpbGw9IiNEQzE0M0MiLz4NCjwvc3ZnPg0K);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: -11.8rem;
  bottom: 8.2rem;
  z-index: 2;
}

.cases__body .btn {
  --btn-height: 7rem;
  --btn-padding-x: 6rem;
  font-family: var(--second-family);
  font-size: 2rem;
}

.cases__slider {
  overflow: hidden;
}

.cases__slide {
  height: 100%;
}

.cases__slide-wrap {
  width: 100%;
  height: auto;
  min-height: 54rem;
  position: relative;
}

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

.cases__slide-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.cases__slide-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 9rem 4rem 9rem 43rem;
  width: 100%;
  height: 100%;
  color: var(--white);
  position: relative;
  z-index: 2;
}

.cases__slide-title {
  margin-bottom: 3rem;
  font-weight: 800;
  text-transform: uppercase;
}

.cases__slide-text {
  margin-bottom: 3rem;
  font-weight: 400;
  font-size: 3rem;
  line-height: 120%;
  letter-spacing: -0.04em;
}

.cases__slide-link {
  font-weight: 400;
  font-size: 2rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--red);
}

.cases .swiper-button-prev {
  left: -15.7rem;
}

.cases .swiper-button-prev i {
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.cases .swiper-button-next {
  right: -15.7rem;
}

.contacts {
  --section-padding-top: 2rem;
  --section-padding-bottom: 2rem;
}

.contacts__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  width: calc(100% - var(--callback-mini-width) + var(--container-padding));
  position: relative;
}

.contacts__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.contacts__head-suptitle {
  font-weight: 900;
  font-size: 3rem;
  line-height: 100%;
  text-transform: uppercase;
  color: var(--red);
}

.contacts__head-title {
  font-weight: 900;
  font-size: 6rem;
  line-height: 100%;
  text-decoration: underline;
  text-transform: uppercase;
}

.contacts__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4rem;
}

.contacts__body .footer__contacts {
  gap: 2rem;
}

.contacts__body .footer__contacts-wrap span {
  color: var(--red);
}

.contacts__body .footer__contacts-wrap a {
  color: var(--red);
}

.contacts__body .footer__contacts-wrap a:hover {
  color: var(--black);
}

.contacts__body .footer__menu-link {
  font-weight: 900;
  font-size: 3rem;
  text-decoration: none;
  color: var(--red);
}

.contacts__body .social {
  gap: 1.5rem;
}

.contacts__body .social__title {
  font-weight: 900;
  font-size: 3rem;
  text-decoration: none;
  color: var(--red);
}

.contacts__body .social__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  max-width: 24.5rem;
}

.contacts__body .social__link i {
  --font-size: 4rem;
  border-color: var(--black);
}

.contacts__cover {
  width: auto;
  height: 56.3rem;
  height: 27.0833333333vw;
  pointer-events: none;
  position: absolute;
  right: 0;
  bottom: calc(var(--section-padding-bottom) * -1);
  bottom: -1.0416666667vw;
}

.contacts__cover img {
  max-width: unset;
}

/* ── Обёртка всей сцены ── */

.dynamite-scene {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0;
}

/* ── Сам динамит ── */

.dynamite {
  width: 60px;
  height: 120px;
  background: linear-gradient(135deg, #c0392b, #922b21);
  border-radius: 6px 6px 4px 4px;
  position: relative;
  -webkit-box-shadow: inset -4px 0 8px rgba(0, 0, 0, 0.4), 0 4px 15px rgba(0, 0, 0, 0.5);
  box-shadow: inset -4px 0 8px rgba(0, 0, 0, 0.4), 0 4px 15px rgba(0, 0, 0, 0.5);
}

/* Полоски на динамите */

.dynamite::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(180deg, transparent 0px, transparent 18px, rgba(0, 0, 0, 0.15) 18px, rgba(0, 0, 0, 0.15) 20px);
  border-radius: inherit;
}

/* Крышка сверху */

.dynamite::after {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 40px;
  height: 10px;
  background: #7b241c;
  border-radius: 4px 4px 0 0;
}

/* ── Контейнер фитиля ──
    SVG-путь даёт изгиб, как у настоящего фитиля.
    Высота контейнера = длина видимой части фитиля.
*/

.fuse-container {
  position: absolute;
  top: -130px;
  /* уходит вверх над динамитом */
  left: 50%;
  -webkit-transform: translateX(-2px);
  -ms-transform: translateX(-2px);
  transform: translateX(-2px);
  width: 60px;
  height: 130px;
}

/* ── SVG фитиль ── */

.fuse-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

/*
    Сам путь фитиля — волнистая линия.
    stroke-dasharray = длина всей линии (считаем через JS).
    stroke-dashoffset = сколько линии "скрыто".
    Анимируем dashoffset от 0 до полной длины — линия "исчезает" снизу вверх,
    создавая эффект сгорания.
*/

.fuse-path {
  fill: none;
  stroke: #8B7355;
  stroke-width: 3;
  stroke-linecap: round;
  /* Джутовая текстура через пунктир */
  stroke-dasharray: 6 3;
}

/*
    Горящая часть фитиля — тонкий красный след сразу за огнём.
    Имитирует уже обугленный фитиль.
*/

.fuse-burned {
  fill: none;
  stroke: #2c1a0e;
  stroke-width: 3.5;
  stroke-linecap: round;
}

/* ── Огонь на кончике фитиля ──
    Позиционируется через JS в точку текущего прогресса.
*/

.flame-wrapper {
  position: absolute;
  /* Начальная позиция — верхушка фитиля, JS её двигает */
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* Основной язык пламени */

.flame {
  position: relative;
  width: 14px;
  height: 20px;
}

/* Каждый слой огня — отдельный div с border-radius-трюком */

.flame-layer {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 50% 50% 30% 30%/60% 60% 40% 40%;
  -webkit-animation: flicker var(--speed) ease-in-out infinite alternate;
  animation: flicker var(--speed) ease-in-out infinite alternate;
  -webkit-transform-origin: bottom center;
  -ms-transform-origin: bottom center;
  transform-origin: bottom center;
}

/* Внешний оранжевый огонь */

.flame-layer:nth-child(1) {
  --speed: 0.08s;
  width: 14px;
  height: 20px;
  background: radial-gradient(ellipse at 50% 80%, #ff6600, #ff4400 60%, transparent 100%);
  -webkit-filter: blur(0.5px);
  filter: blur(0.5px);
}

/* Внутренний жёлтый огонь */

.flame-layer:nth-child(2) {
  --speed: 0.06s;
  width: 8px;
  height: 14px;
  background: radial-gradient(ellipse at 50% 80%, #ffee00, #ffaa00 70%, transparent 100%);
  -webkit-filter: blur(0.3px);
  filter: blur(0.3px);
}

/* Белое ядро — самая горячая точка */

.flame-layer:nth-child(3) {
  --speed: 0.05s;
  width: 4px;
  height: 7px;
  background: radial-gradient(ellipse at 50% 80%, #ffffff, #ffffaa 80%, transparent 100%);
}

/* Искры */

.spark {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #ffdd00;
  pointer-events: none;
  -webkit-animation: spark-fly var(--dur) ease-out forwards;
  animation: spark-fly var(--dur) ease-out forwards;
}

/* Свечение вокруг огня */

.flame-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -40%);
  -ms-transform: translate(-50%, -40%);
  transform: translate(-50%, -40%);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 150, 0, 0.5) 0%, transparent 70%);
  -webkit-animation: glow-pulse 0.1s ease-in-out infinite alternate;
  animation: glow-pulse 0.1s ease-in-out infinite alternate;
  pointer-events: none;
}

/* ── Дым над огнём ── */

.smoke-particle {
  position: absolute;
  border-radius: 50%;
  background: rgba(180, 180, 180, 0.6);
  pointer-events: none;
  -webkit-animation: smoke-rise var(--dur) ease-out forwards;
  animation: smoke-rise var(--dur) ease-out forwards;
}

/* ── Вспышка взрыва ── */

.explosion {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0);
  -ms-transform: translate(-50%, -50%) scale(0);
  transform: translate(-50%, -50%) scale(0);
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0%, #ffee00 20%, #ff6600 50%, #ff2200 70%, transparent 100%);
  opacity: 0;
  pointer-events: none;
  z-index: 10;
}

/* ── Кейфреймы ── */

/* Мерцание языков пламени — быстрое и хаотичное */

@-webkit-keyframes flicker {
  0% {
    -webkit-transform: translateX(-50%) scaleX(1) scaleY(1) rotate(-2deg);
    transform: translateX(-50%) scaleX(1) scaleY(1) rotate(-2deg);
  }

  33% {
    -webkit-transform: translateX(-50%) scaleX(0.85) scaleY(1.1) rotate(1deg);
    transform: translateX(-50%) scaleX(0.85) scaleY(1.1) rotate(1deg);
  }

  66% {
    -webkit-transform: translateX(-50%) scaleX(1.1) scaleY(0.95) rotate(-1deg);
    transform: translateX(-50%) scaleX(1.1) scaleY(0.95) rotate(-1deg);
  }

  100% {
    -webkit-transform: translateX(-50%) scaleX(0.9) scaleY(1.05) rotate(2deg);
    transform: translateX(-50%) scaleX(0.9) scaleY(1.05) rotate(2deg);
  }
}

@keyframes flicker {
  0% {
    -webkit-transform: translateX(-50%) scaleX(1) scaleY(1) rotate(-2deg);
    transform: translateX(-50%) scaleX(1) scaleY(1) rotate(-2deg);
  }

  33% {
    -webkit-transform: translateX(-50%) scaleX(0.85) scaleY(1.1) rotate(1deg);
    transform: translateX(-50%) scaleX(0.85) scaleY(1.1) rotate(1deg);
  }

  66% {
    -webkit-transform: translateX(-50%) scaleX(1.1) scaleY(0.95) rotate(-1deg);
    transform: translateX(-50%) scaleX(1.1) scaleY(0.95) rotate(-1deg);
  }

  100% {
    -webkit-transform: translateX(-50%) scaleX(0.9) scaleY(1.05) rotate(2deg);
    transform: translateX(-50%) scaleX(0.9) scaleY(1.05) rotate(2deg);
  }
}

/* Пульсация свечения */

@-webkit-keyframes glow-pulse {
  from {
    -webkit-transform: translate(-50%, -40%) scale(0.9);
    transform: translate(-50%, -40%) scale(0.9);
    opacity: 0.6;
  }

  to {
    -webkit-transform: translate(-50%, -40%) scale(1.2);
    transform: translate(-50%, -40%) scale(1.2);
    opacity: 1;
  }
}

@keyframes glow-pulse {
  from {
    -webkit-transform: translate(-50%, -40%) scale(0.9);
    transform: translate(-50%, -40%) scale(0.9);
    opacity: 0.6;
  }

  to {
    -webkit-transform: translate(-50%, -40%) scale(1.2);
    transform: translate(-50%, -40%) scale(1.2);
    opacity: 1;
  }
}

/* Искры летят в случайные стороны — направление задаётся через CSS-переменные в JS */

@-webkit-keyframes spark-fly {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }

  100% {
    -webkit-transform: translate(var(--dx), var(--dy)) scale(0);
    transform: translate(var(--dx), var(--dy)) scale(0);
    opacity: 0;
  }
}

@keyframes spark-fly {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }

  100% {
    -webkit-transform: translate(var(--dx), var(--dy)) scale(0);
    transform: translate(var(--dx), var(--dy)) scale(0);
    opacity: 0;
  }
}

/* Дым поднимается и растворяется */

@-webkit-keyframes smoke-rise {
  0% {
    -webkit-transform: translate(var(--sx), 0) scale(0.3);
    transform: translate(var(--sx), 0) scale(0.3);
    opacity: 0.6;
  }

  100% {
    -webkit-transform: translate(var(--sx), -40px) scale(1.5);
    transform: translate(var(--sx), -40px) scale(1.5);
    opacity: 0;
  }
}

@keyframes smoke-rise {
  0% {
    -webkit-transform: translate(var(--sx), 0) scale(0.3);
    transform: translate(var(--sx), 0) scale(0.3);
    opacity: 0.6;
  }

  100% {
    -webkit-transform: translate(var(--sx), -40px) scale(1.5);
    transform: translate(var(--sx), -40px) scale(1.5);
    opacity: 0;
  }
}

/* Взрыв разворачивается */

@-webkit-keyframes explode {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }

  60% {
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.9;
  }

  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.5);
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0;
  }
}

@keyframes explode {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }

  60% {
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.9;
  }

  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.5);
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0;
  }
}

/* Динамит трясётся перед взрывом */

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    -webkit-transform: translateX(-4px) rotate(-1deg);
    transform: translateX(-4px) rotate(-1deg);
  }

  40% {
    -webkit-transform: translateX(4px) rotate(1deg);
    transform: translateX(4px) rotate(1deg);
  }

  60% {
    -webkit-transform: translateX(-3px) rotate(-0.5deg);
    transform: translateX(-3px) rotate(-0.5deg);
  }

  80% {
    -webkit-transform: translateX(3px) rotate(0.5deg);
    transform: translateX(3px) rotate(0.5deg);
  }
}

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    -webkit-transform: translateX(-4px) rotate(-1deg);
    transform: translateX(-4px) rotate(-1deg);
  }

  40% {
    -webkit-transform: translateX(4px) rotate(1deg);
    transform: translateX(4px) rotate(1deg);
  }

  60% {
    -webkit-transform: translateX(-3px) rotate(-0.5deg);
    transform: translateX(-3px) rotate(-0.5deg);
  }

  80% {
    -webkit-transform: translateX(3px) rotate(0.5deg);
    transform: translateX(3px) rotate(0.5deg);
  }
}

.effect {
  --section-padding-bottom: 10rem;
}

.effect .general__head {
  gap: 0;
}

.effect__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 9rem;
}

.effect__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4rem;
}

.effect__feat {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem 10rem;
}

.effect__feat-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.effect__feat-count {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 10rem;
  line-height: 1em;
  letter-spacing: -0.05em;
  color: var(--red);
}

.effect__feat-text {
  font-weight: 400;
  font-size: 3rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.effect__ps {
  font-style: italic;
  font-weight: 400;
  font-size: 3rem;
  line-height: 120%;
  color: var(--red);
}

.growth {
  overflow: visible;
  background-color: transparent;
}

.growth .general__head {
  gap: 0;
  position: relative;
}

.growth .general__head::before {
  content: "";
  display: block;
  width: 187.4rem;
  height: 41.5rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTg3MiIgaGVpZ2h0PSI0MTYiIHZpZXdCb3g9IjAgMCAxODcyIDQxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xMS44ODgyIDBMMTg3MS4zNSA0MDIuNzkzTDE4NTkuNDYgNDA5LjQ3Nkw3LjkyNjE5ZS0wNSA0MTUuNjgzTDExLjg4ODIgMFoiIGZpbGw9IiNEQzE0M0MiLz4NCjwvc3ZnPg0K);
  background-repeat: no-repeat;
  background-size: 100%;
  pointer-events: none;
  position: absolute;
  left: -30rem;
  bottom: 0.8rem;
  z-index: 0;
}

.growth .general__suptitle {
  color: var(--white);
}

.growth__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 7rem;
}

.growth__body {
  position: relative;
}

.growth__body::after {
  content: "";
  display: none;
  width: calc(100% + var(--container-padding) * 2);
  height: 100%;
  background-color: var(--white);
  position: absolute;
  top: -3.6rem;
  left: calc(var(--container-padding) * -1);
  right: calc(var(--container-padding) * -1);
  z-index: 1;
}

.growth__items {
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  grid-auto-flow: column;
  gap: 6rem 8rem;
  max-width: 116.8rem;
  position: relative;
  z-index: 2;
}

.growth__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.growth__item-count {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 10rem;
  line-height: 100%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--red);
}

.growth__item-title {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 4rem;
  line-height: 120%;
  text-transform: uppercase;
  word-break: break-word;
}

.growth__item-text {
  font-style: normal;
  font-weight: 400;
  font-size: 3rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.growth__cover {
  width: auto;
  height: 101rem;
  pointer-events: none;
  position: absolute;
  top: -6.1rem;
  right: 4.4rem;
}

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

.growth__cover-shadow {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  position: absolute;
  inset: 0;
  z-index: 0;
  -webkit-filter: drop-shadow(0 0 0 var(--black)) brightness(0) hue-rotate(1deg);
  filter: drop-shadow(0 0 0 var(--black)) brightness(0) hue-rotate(1deg);
  -webkit-transform: rotate(-4.84deg);
  -ms-transform: rotate(-4.84deg);
  transform: rotate(-4.84deg);
}

.growth__cover-img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  position: relative;
  z-index: 1;
}

.hero {
  padding-top: 8.5rem;
  padding-bottom: 6.5rem;
  padding-bottom: 9.5rem;
  overflow-x: visible;
}

.hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 8rem;
}

.hero__content {
  position: relative;
  z-index: 3;
}

.hero__suptitle {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 4rem;
  font-size: 2.0833333333vw;
  line-height: 140%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  margin-bottom: 5.7rem;
}

.hero__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 54.6rem;
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 27rem;
  font-size: 14.0625vw;
  line-height: 1;
  text-transform: uppercase;
}

.hero .typewriter__word {
  display: inline-block;
  vertical-align: text-bottom;
  font-size: inherit;
  line-height: 0.85;
  letter-spacing: -0.05em;
  color: var(--black);
}

.hero .typewriter__line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.1em;
  font-size: inherit;
  line-height: 1.2;
}

.hero .typewriter__line:nth-child(2) .typewriter__cursor,
.hero .typewriter__line:nth-child(2) .typewriter__word {
  color: #DC143C;
}

.hero .typewriter__line:last-child .typewriter__cursor,
.hero .typewriter__line:last-child .typewriter__word {
  font-size: 10rem;
  font-size: 5.2083333333vw;
  line-height: 0.85;
}

.hero .typewriter__cursor {
  line-height: 0.85;
  will-change: opacity;
}

.hero__cover {
  width: auto;
  height: 77rem;
  height: 40.1041666667vw;
  position: absolute;
  top: -5.9rem;
  top: -3.0729166667vw;
  right: 12.3rem;
  right: 6.40625vw;
  z-index: 2;
}

.hero__cover-img {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 3;
}

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

.hero__cover-el {
  width: 11.1rem;
  width: 5.78125vw;
  height: 5.78125vw;
  position: absolute;
  top: 14.7rem;
  top: 7.65625vw;
  left: 29.7rem;
  left: 15.46875vw;
}

.hero__cover-blind {
  z-index: 1;
}

.hero__cover-eye {
  will-change: transform;
  z-index: 2;
}

.hero__mask {
  width: auto;
  height: 73.1rem;
  height: 38.0729166667vw;
  position: absolute;
  top: calc(((var(--header-height)) + 20.2rem) * -1);
  top: -19.375vw;
  right: 21.9rem;
  right: 11.40625vw;
  z-index: 1;
}

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

/* Стилизация конкретных слов через data-word */

[data-word=уровень] {
  color: #DC143C;
}

[data-word=фраза] {
  color: #2a9d8f;
}

[data-word=одна] {
  color: #e9c46a;
}

.inform {
  --section-padding-top: 10rem;
  --section-padding-bottom: 30rem;
  overflow: visible;
}

.inform__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: calc(100% + var(--container-padding) * 2);
  margin-top: -2rem;
  margin-left: calc(var(--container-padding) * -1);
  margin-bottom: 7.5rem;
  padding: 0 var(--container-padding) 0 calc(var(--container-padding) + 61rem);
  overflow: hidden;
}

.inform__slider {
  max-width: 112rem;
  width: 100%;
  margin: 0 10.9rem 0;
  margin: 0;
}

.inform__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.3rem;
}

.inform__slide:last-child .inform__item-arrow {
  display: none;
}

.inform__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4rem;
  max-width: 43.6rem;
}

.inform__item-cover {
  max-width: 40.9rem;
  width: 100%;
  height: 32.9rem;
}

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

.inform__item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

.inform__item-title {
  font-weight: 800;
  font-size: 3rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.inform__item-text {
  font-weight: 400;
  font-size: 3rem;
  line-height: 120%;
  letter-spacing: -0.04em;
}

.inform__item-arrow {
  width: 9rem;
}

.inform__item-arrow img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.inform__btn {
  --btn-height: 7rem;
  --btn-padding-x: 6rem;
  font-family: var(--second-family);
  font-size: 2rem;
}

.inform__cover {
  width: auto;
  height: 78rem;
  position: absolute;
  top: 18.5rem;
  left: -21.3rem;
  z-index: 1;
}

.inform__cover-shadow {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  position: absolute;
  inset: 0;
  z-index: 0;
}

.inform__cover-img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  position: relative;
  z-index: 1;
}

.inform__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 5.5rem;
  padding: 0 0 0 61rem;
  position: relative;
}

.inform__svg {
  width: 236.75rem;
  height: 21.9rem;
  position: absolute;
  top: 0;
  right: -154.85rem;
}

.inform__svg svg {
  width: auto;
  height: 100%;
}

.inform-button-next {
  display: none;
}

.map {
  --container-padding: 0;
  --section-padding-top: 0;
  --section-padding-bottom: 0;
  height: 100vh;
  height: 100dvh;
  position: relative;
  z-index: 2;
}

.map__inner {
  height: 100%;
}

.map__cover {
  width: 100%;
  height: 100%;
}

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

.notfound {
  --section-padding-top: 4rem;
  --section-padding-bottom: 17rem;
  overflow: visible;
}

.notfound__head {
  max-width: 74.7rem;
  font-family: var(--second-family);
}

.notfound__head-suptitle {
  font-weight: 1000;
  font-size: 6.5rem;
  font-size: 3.3854166667vw;
  line-height: 85%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.notfound__head-title {
  font-weight: 1000;
  font-size: 45rem;
  font-size: 23.4375vw;
  line-height: 100%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: var(--red);
  white-space: nowrap;
}

.notfound__head-text {
  font-weight: 1000;
  font-size: 6.5rem;
  font-size: 3.3854166667vw;
  line-height: 110%;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.notfound__head-text a {
  color: var(--red);
}

.notfound__cover {
  width: auto;
  height: 58.5416666667vw;
  position: absolute;
  top: -2.5rem;
  top: -1.3020833333vw;
  right: 28.125vw;
  z-index: 1;
}

.produce {
  --section-padding-bottom: 10rem;
  margin-right: var(--callback-width);
  overflow: visible;
  position: relative;
  z-index: 2;
}

.produce .general__head {
  gap: 0.2rem;
}

.produce__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
}

.produce__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 8.4rem;
}

.produce__item {
  width: calc(33.3333333333% - 5.6rem);
  height: 100%;
  position: relative;
}

.produce__item::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: var(--black);
  -webkit-transition: -webkit-transform 0.3s linear;
  transition: -webkit-transform 0.3s linear;
  transition: transform 0.3s linear;
  transition: transform 0.3s linear, -webkit-transform 0.3s linear;
  position: absolute;
  inset: 0;
  z-index: 0;
}

.produce__item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
  padding: 2.5rem 3rem 3rem 3rem;
  padding: 2.5rem 3rem 8.8rem 3rem;
  height: 100%;
  position: relative;
  z-index: 1;
}

.produce__item-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  color: var(--white);
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.produce__item-title {
  font-family: var(--second-family);
  font-weight: 1000;
  font-size: 5rem;
  line-height: 120%;
  text-transform: uppercase;
  color: var(--white);
}

.produce__item-text {
  font-family: var(--third-family);
  font-weight: 400;
  font-size: 3rem;
  line-height: 120%;
  text-transform: uppercase;
}

.produce__item-icon {
  width: 2.8rem;
  height: 2.8rem;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  position: absolute;
  right: 4rem;
  bottom: 4rem;
  z-index: 1;
}

.produce__item-icon i {
  --font-size: 2.8rem;
}

.produce__item-cover {
  width: 100%;
  height: 27.5rem;
  position: relative;
  display: inline-block;
  overflow: visible;
}

.produce__item-cover img {
  display: block;
  width: 100%;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.produce__item-cover .object-shadow {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  position: absolute;
  inset: 0;
  z-index: 0;
  -webkit-filter: none;
  filter: none;
}

.produce__item-cover .object-body {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  position: relative;
  z-index: 1;
}

.produce__item.produce__item--1 .object-shadow {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
}

.produce__item.produce__item--1:hover .object-shadow {
  -webkit-transform: rotate(-2deg);
  -ms-transform: rotate(-2deg);
  transform: rotate(-2deg);
}

.produce__item.produce__item--1:hover .object-img {
  -webkit-transform: rotate(2deg);
  -ms-transform: rotate(2deg);
  transform: rotate(2deg);
}

.produce__item.produce__item--2 .object-shadow {
  -webkit-transform: scale(1.05) rotate(4.41deg);
  -ms-transform: scale(1.05) rotate(4.41deg);
  transform: scale(1.05) rotate(4.41deg);
}

.produce__item.produce__item--2:hover .object-shadow {
  -webkit-transform: scale(1.05) rotate(-2deg);
  -ms-transform: scale(1.05) rotate(-2deg);
  transform: scale(1.05) rotate(-2deg);
}

.produce__item.produce__item--2:hover .object-img {
  -webkit-transform: rotate(4deg);
  -ms-transform: rotate(4deg);
  transform: rotate(4deg);
}

.produce__item.produce__item--3 .object-shadow {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
}

.produce__item.produce__item--3:hover .object-shadow {
  -webkit-transform: rotate(-4.56deg);
  -ms-transform: rotate(-4.56deg);
  transform: rotate(-4.56deg);
}

.produce__item.produce__item--3:hover .object-img {
  -webkit-transform: rotate(4deg);
  -ms-transform: rotate(4deg);
  transform: rotate(4deg);
}

.produce__item-block {
  display: grid;
  grid-template-rows: 0fr 0fr;
  gap: 0;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0 3rem;
  background-color: var(--red);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  overflow: visible;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.produce__item-block .produce__item-title {
  color: var(--black);
}

.produce__item-block .produce__item-text {
  color: var(--black);
}

.produce__item-list {
  overflow: hidden;
}

.produce__item-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  padding-left: 3rem;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.produce__item-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.produce__item-list li a span {
  font-weight: 700;
  font-size: 3rem;
  line-height: 120%;
  letter-spacing: -0.04em;
  text-decoration-line: underline;
  text-transform: uppercase;
  color: var(--white);
}

.produce__item-list li a i {
  --font-size: 1.9rem;
}

.produce__indicator {
  position: absolute;
  left: -1.3rem;
  width: 3.9rem;
  height: 5.3rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTMiIHZpZXdCb3g9IjAgMCAzOSA1MyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0zOSAyNi41TDAgNTNMNC4zOTEyZS0wNiAwTDM5IDI2LjVaIiBmaWxsPSIjMTcxNzFBIi8+DQo8L3N2Zz4NCg==);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: top 0.25s cubic-bezier(0.4, 0, 0.2, 1), margin-top 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.2s ease;
  transition: top 0.25s cubic-bezier(0.4, 0, 0.2, 1), margin-top 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.2s ease;
  transition: top 0.25s cubic-bezier(0.4, 0, 0.2, 1), margin-top 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s ease;
  transition: top 0.25s cubic-bezier(0.4, 0, 0.2, 1), margin-top 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s ease, -webkit-transform 0.2s ease;
  pointer-events: none;
}

.produce__indicator.is-visible {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.request {
  --section-padding-top: 12rem;
  --section-padding-bottom: 6.7rem;
  background-color: var(--black);
  overflow: hidden;
  position: relative;
}

.request .general__head {
  gap: 0;
}

.request .general__title {
  color: var(--red);
}

.request .general__suptitle {
  color: var(--white);
}

.request .form {
  max-width: 59rem;
  z-index: 2;
}

.request .form-label::before {
  background-color: var(--red);
}

.request .form-btn {
  --btn-color: var(--white);
  --btn-background: var(--red);
  --btn-hover-color: var(--black);
  --btn-hover-background: var(--white);
}

.request .form-checkbox--item {
  background-color: var(--white-10);
}

.request .form-checkbox--item::before {
  background-color: var(--red);
}

.request__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 7rem;
}

.request__cover {
  width: auto;
  height: 137.5rem;
  height: 71.6145833333vw;
  pointer-events: none;
  position: absolute;
  top: -15.6rem;
  top: -8.125vw;
  right: 0;
  z-index: 1;
}

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

.request__cover-img--1 {
  position: relative;
  z-index: 2;
}

.request__cover-img--2 {
  -webkit-transform: translate(-1.7rem, -3.8rem);
  -ms-transform: translate(-1.7rem, -3.8rem);
  transform: translate(-1.7rem, -3.8rem);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

@media (min-width: 601px) {
  .btn:hover {
    --btn-color: var(--white);
    --btn-background: var(--black);
  }

  .btn--accent:hover {
    --btn-color: var(--white);
    --btn-background: var(--red);
  }

  .menu__content-title {
    padding: 0 0 0 0.5rem;
  }

  .awards__body {
    gap: 5rem;
  }

  .awards__slide {
    padding-left: 50rem;
  }

  .contacts__body .social__link:hover i {
    color: var(--red);
    border-color: var(--red);
  }

  .hero .typewriter {
    padding: 0 0 0 0.5rem;
  }

  .produce__item:hover {
    grid-template-rows: 1fr auto;
  }

  .produce__item:hover::after {
    -webkit-transform: rotate(2.55deg);
    -ms-transform: rotate(2.55deg);
    transform: rotate(2.55deg);
  }

  .produce__item:hover .object-shadow {
    -webkit-transform: rotate(-4deg);
    -ms-transform: rotate(-4deg);
    transform: rotate(-4deg);
  }

  .produce__item:hover .object-body {
    -webkit-transform: rotate(4deg);
    -ms-transform: rotate(4deg);
    transform: rotate(4deg);
  }

  .produce__item:hover .produce__item-block {
    grid-template-rows: 1fr auto;
    gap: 4rem;
    padding: 5rem 3rem 6rem 3rem;
  }
}

@media (min-width: 835px) {
  .swiper-pagination {
    display: none;
  }
}

@media (max-width: 600px) {
  html {
    --refRes: 402;
  }

  .general__head {
    gap: 2rem;
  }

  .general__suptitle {
    font-size: 4rem;
  }

  .general__suptitle br {
    display: none;
  }

  .general__title {
    font-size: 4rem;
  }

  .general__text {
    font-size: 2rem;
  }

  .swiper-buttons {
    display: none;
  }

  .general__foot .swiper-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  [class^=swiper-button-],
  [class*=" swiper-button-"] {
    width: 9rem;
    height: 9rem;
  }

  [class^=swiper-button-] i,
  [class*=" swiper-button-"] i {
    --font-size: 9rem;
  }

  [class^=swiper-button-].icons-mob-change i .path1:before,
  [class*=" swiper-button-"].icons-mob-change i .path1:before {
    content: "\e906";
    color: rgb(250, 244, 237);
  }

  [class^=swiper-button-].icons-mob-change i .path2:before,
  [class*=" swiper-button-"].icons-mob-change i .path2:before {
    content: "\e907";
    margin-left: -1em;
    color: rgb(250, 244, 237);
  }

  [class^=swiper-button-].icons-mob-change i .path3:before,
  [class*=" swiper-button-"].icons-mob-change i .path3:before {
    content: "\e908";
    margin-left: -1em;
    color: rgb(220, 20, 60);
  }

  [class^=swiper-button-].icons-mob-change i .path4:before,
  [class*=" swiper-button-"].icons-mob-change i .path4:before {
    content: "\e909";
    margin-left: -1em;
    color: rgb(220, 20, 60);
  }

  .general__foot [class^=swiper-button-],
  .general__foot [class*=" swiper-button-"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  :root {
    --container-padding: 1.5rem;
    --header-height: 9rem;
    --section-padding-top: 2rem;
    --section-padding-bottom: 2rem;
  }

  .breadcrumbs li {
    font-size: 1.4rem;
  }

  .btn {
    --btn-height: 7rem;
  }

  .coordinates {
    gap: 1rem;
  }

  .coordinates__title {
    font-size: 2rem;
  }

  .coordinates__content {
    gap: 1rem;
  }

  .coordinates__content p {
    font-size: 1.6rem;
  }

  .form-body {
    gap: 3rem;
  }

  .form-input {
    height: 3.7rem;
    font-size: 1.6rem;
  }

  .form-input.filled + .form-label,
  .form-input:focus + .form-label,
  .form-input:active + .form-label,
  .form-input:checked + .form-label {
    height: calc(100% + 1.6rem);
    font-size: 1.4rem;
    top: -1.6rem;
  }

  .form-input:required + .form-label .typewriter__word::after {
    width: 1rem;
    height: 1rem;
    right: -1.2rem;
  }

  .form-label {
    font-size: 1.6rem;
  }

  .form-label::before {
    height: 0.3rem;
  }

  .form-label::after {
    height: 0.3rem;
  }

  .form-textarea {
    height: 3.7rem;
  }

  .form-checkbox-label {
    gap: 1rem;
  }

  .form-checkbox--item {
    width: 5.2rem;
    height: 2.4rem;
    padding: 0.3rem;
  }

  .form-checkbox--item::before {
    width: 2.2rem;
    height: 1.8rem;
  }

  .form-foot {
    gap: 1rem;
  }

  .form-btn {
    --btn-height: 5rem;
  }

  .form-btn__text {
    font-size: 1.6rem;
  }

  .form-text {
    font-size: 1.2rem;
  }

  .numbers-x {
    font-size: 3rem;
    line-height: 1.15;
  }

  .digit span {
    line-height: 100%;
  }

  .h1,
  h1 {
    font-size: 3rem;
  }

  .h2,
  h2 {
    font-size: 2.5rem;
  }

  .h3,
  h3 {
    font-size: 2rem;
  }

  .h4,
  h4 {
    font-size: 1.6rem;
  }

  .h5,
  h5 {
    font-size: 1.4rem;
  }

  .h6,
  h6 {
    font-size: 1.2rem;
  }

  p {
    font-size: 1.2rem;
  }

  .burger-btn {
    grid-column: 3/4;
  }

  .callback {
    display: none;
  }

  .callback.callback-mini {
    width: 100%;
    position: static;
  }

  .callback.callback-mini .callback__inner {
    height: 100%;
    padding: 5rem 1.5rem 31rem;
    overflow: hidden;
    position: relative;
  }

  .callback.callback-mini .request__cover {
    display: block;
    height: 41rem;
  }

  .footer {
    --container-padding: 1.5rem;
    padding-bottom: var(--plate-height);
  }

  .footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.5rem;
  }

  .footer__phone {
    min-height: auto;
    font-size: 4.3rem;
  }

  .footer__phone a {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    position: relative;
  }

  .footer__phone a::after {
    display: none;
  }

  .footer__phone a:nth-child(2) {
    display: none;
  }

  .footer__cover {
    max-width: 61.5rem;
    width: 144.5273631841vw;
    max-height: 61.5rem;
    height: 143.0348258706vw;
    margin-top: -17.4129353234vw;
    margin-bottom: -38.3084577114vw;
    margin-left: -32.8358208955vw;
    position: static;
  }

  .footer__mask {
    display: none;
  }

  .footer__content {
    padding: 0;
  }

  .footer__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3rem;
  }

  .footer__menu {
    gap: 2rem;
  }

  .footer__menu-link {
    font-size: 2rem;
  }

  .footer__links {
    gap: 1rem;
  }

  .footer__link {
    font-size: 1.2rem;
  }

  .footer__contacts {
    gap: 2rem;
  }

  .footer__contacts-wrap {
    gap: 1rem;
  }

  .footer__contacts-wrap p {
    font-size: 1.6rem;
  }

  .footer__foot {
    display: none;
  }

  .header {
    --header-inner-height: 5rem;
    max-height: 9rem;
  }

  html.header-off-top .header {
    max-height: 9rem;
  }

  .header .nav {
    display: none;
  }

  .header__inner {
    gap: 3rem;
    padding: 2rem 0;
  }

  .menu--open .header__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3rem;
  }

  .header__right {
    display: none;
  }

  .header__left {
    display: grid;
    grid-template-columns: 5rem auto 5rem;
    gap: 1rem;
    width: 100%;
  }

  .header__left .line-col {
    display: none;
  }

  .header__left .btn--accent {
    --btn-height: 5rem;
    width: 100%;
    grid-column: 2/3;
    grid-row: 1/2;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    font-size: 1.6rem;
    line-height: 100%;
  }

  .header__left .btn--accent .object-shadow {
    display: none;
  }

  .header__left .btn--accent .object-body {
    width: 100%;
  }

  html.header-off-top .header__phone,
  .menu--open .header__phone {
    font-size: 9.9502487562vw;
  }

  .logo {
    grid-column: 1/2;
  }

  .menu__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 2.5rem 0 0;
  }

  .menu__phone {
    display: block;
  }

  .menu__left {
    gap: 3rem;
  }

  .menu__right {
    height: 100%;
    position: static;
  }

  .menu__right::after {
    width: 35rem;
    height: 22.3rem;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzUwIiBoZWlnaHQ9IjIyMyIgdmlld0JveD0iMCAwIDM1MCAyMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNMjkwLjAyNCA0Ljg4NjVMMTg2Ljg4NSAxNDAuOTQ0TDM0Ni45MTUgNjguNTMzM0wyOTAuMDI0IDQuODg2NVoiIGZpbGw9IiMxNzE3MUEiLz4NCjxlbGxpcHNlIGN4PSIxMTAuNzE2IiBjeT0iMjA2LjY4NiIgcng9IjEyOS43MTYiIHJ5PSIxMjQuMjgzIiB0cmFuc2Zvcm09InJvdGF0ZSgtMTgwIDExMC43MTYgMjA2LjY4NikiIGZpbGw9IiNGQUY0RUQiLz4NCjxwYXRoIGQ9Ik0yMDMuNzcgMTE5LjgxM0wxODguMjE4IDE0MC4zMjlMMjEyLjM0OCAxMjkuNDFMMjAzLjc3IDExOS44MTNaIiBmaWxsPSIjREMxNDNDIi8+DQo8L3N2Zz4NCg==);
    margin-top: -2.5rem;
    margin-left: calc(var(--container-padding) * -1);
    position: static;
  }

  .menu__content {
    display: none;
  }

  .menu__nav-wrap {
    display: none;
  }

  .menu__list-item {
    grid-template-columns: 1fr;
  }

  .menu__list-link {
    padding: 1rem 0;
    font-size: 2rem;
  }

  .menu-item-hover .menu__list-item--dropdown .menu__list-link,
  .menu__list-link:hover {
    padding-left: 0;
  }

  .menu__list-link::before {
    display: none;
  }

  .menu__foot {
    gap: 3rem;
  }

  .menu__foot .footer__download i {
    --font-size: 1.6rem;
  }

  .menu__foot .footer__download a {
    gap: 0.7rem;
    font-size: 1.4rem;
  }

  .menu .hero__cover {
    display: none;
  }

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

  .plate__btn {
    --btn-height: 5rem;
  }

  .social {
    gap: 1rem;
    max-width: 33rem;
  }

  .social__title {
    font-size: 2rem;
  }

  .social__links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1rem;
  }

  .social__link i {
    --font-size: 4rem;
  }

  .social__text {
    width: 100%;
    font-size: 1.2rem;
  }

  .template {
    --section-padding-top: 0.5rem;
    --section-padding-bottom: 1rem;
  }

  .template h1 {
    font-size: 4rem;
  }

  .tender {
    display: none;
  }

  .approach {
    --section-padding-bottom: 2rem;
    overflow: hidden;
  }

  .approach .general__suptitle {
    font-size: 4rem;
  }

  .approach__inner {
    gap: 31rem;
  }

  .approach__head .general__text {
    margin-left: 0;
    font-size: 2rem;
  }

  .approach__body .general__title {
    font-size: 6.5rem;
    color: var(--red);
  }

  .approach__content {
    margin-left: 0;
  }

  .approach__block {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTM1IiBoZWlnaHQ9IjQ3NCIgdmlld0JveD0iMCAwIDUzNSA0NzQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMjA0Nl81OCkiPg0KPHBhdGggZD0iTTE1NC4xMTggNzUuOTUyOEMyNzIuOTI5IC0xOS41NjY0IDQyNy4yOCAtMjQuODExOSA0OTguODcyIDY0LjIzNjdDNTcwLjQ2MyAxNTMuMjg1IDUzMi4xODQgMzAyLjkwNyA0MTMuMzczIDM5OC40MjZDMjk0LjU2MiA0OTMuOTQ1IDE0MC4yMSA0OTkuMTkxIDY4LjYxODUgNDEwLjE0MkMtMi45NzI4IDMyMS4wOTQgMzUuMzA2NCAxNzEuNDcyIDE1NC4xMTggNzUuOTUyOFoiIGZpbGw9IiMxNzE3MUEiLz4NCjxyZWN0IHg9IjIyMS45OTIiIHk9IjM0NS45OTgiIHdpZHRoPSIyNjciIGhlaWdodD0iMTEiIGZpbGw9IiNEQzE0M0MiLz4NCjxyZWN0IHg9IjYuMjI2NTYiIHk9IjE1MC45OTkiIHdpZHRoPSI4My4yMDcyIiBoZWlnaHQ9IjQ3LjA3ODYiIHRyYW5zZm9ybT0icm90YXRlKDcuNjEwNjYgNi4yMjY1NiAxNTAuOTk5KSIgZmlsbD0iI0RDMTQzQyIvPg0KPC9nPg0KPGRlZnM+DQo8Y2xpcFBhdGggaWQ9ImNsaXAwXzIwNDZfNTgiPg0KPHJlY3Qgd2lkdGg9IjUzNSIgaGVpZ2h0PSI0NzQiIGZpbGw9IndoaXRlIi8+DQo8L2NsaXBQYXRoPg0KPC9kZWZzPg0KPC9zdmc+DQo=);
    width: 53.5rem;
    height: 47.4rem;
    padding: 8.4rem 17rem 8.4rem 6rem;
    top: 28rem;
    right: -15.5rem;
  }

  .approach__block .general__text {
    font-size: 2rem;
  }

  .approach__block .general__text br:last-child {
    display: none;
  }

  .approach__cover {
    height: 34.3rem;
    top: 0.5rem;
    right: 0;
    left: unset;
  }

  .approach__cover::before {
    display: none;
  }

  .approach__cover::after {
    display: none;
  }

  .approach__satellite-wrap {
    display: none;
  }

  .awards {
    --section-padding-bottom: 2.5rem;
    min-height: auto;
  }

  .awards .general__head {
    margin-bottom: -3rem;
  }

  .awards .general__suptitle {
    font-size: 6rem;
    color: var(--black);
  }

  .awards .general__title {
    font-size: 6rem;
    color: var(--red);
  }

  .awards__body .swiper-button-next {
    margin: 0 !important;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .awards__img {
    display: none;
  }

  .awards__cover {
    height: 33.2rem;
    margin-bottom: 2rem;
    position: static;
  }

  .awards__slide-content {
    gap: 1.5rem;
  }

  .awards__slide-name {
    font-size: 2rem;
  }

  .awards__slide-title {
    font-size: 2rem;
  }

  .awards__slide-text {
    font-size: 1.6rem;
  }

  .awards__slide-link {
    display: none;
  }

  .cases {
    --section-padding-top: 2rem;
    --section-padding-bottom: 10rem;
  }

  .cases .general__head {
    gap: 1rem;
    margin-bottom: 3rem;
  }

  .cases .general__title {
    font-size: 10rem;
  }

  .cases .general__suptitle {
    margin-left: 0;
    text-align: right;
  }

  .cases__inner {
    padding-left: 0;
  }

  .cases__cover {
    display: none;
  }

  .cases__body {
    gap: 2rem;
    margin: 0;
  }

  .cases__body::after {
    width: 11.2rem;
    height: 6.4rem;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEzIiBoZWlnaHQ9IjY1IiB2aWV3Qm94PSIwIDAgMTEzIDY1IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KPHJlY3QgeD0iNzEuNzg0MiIgd2lkdGg9IjEyLjQxNDUiIGhlaWdodD0iOTAuMjM1NiIgdHJhbnNmb3JtPSJyb3RhdGUoNTIuNzA0NiA3MS43ODQyIDApIiBmaWxsPSIjREMxNDNDIi8+DQo8Y2lyY2xlIGN4PSI5NS42Njg4IiBjeT0iMzIuOTM2NyIgcj0iMTMuNzk2NyIgdHJhbnNmb3JtPSJyb3RhdGUoMTIuMzAwMSA5NS42Njg4IDMyLjkzNjcpIiBmaWxsPSIjREMxNDNDIi8+DQo8L3N2Zz4NCg==);
    right: 0;
    bottom: 2.5rem;
  }

  .cases__body .btn {
    --btn-height: 5rem;
    --btn-padding-x: 2.5rem;
    font-size: 1.6rem;
  }

  .cases__slider {
    overflow: visible;
  }

  .cases__slide-content {
    padding: 2rem;
  }

  .cases__slide-title {
    margin-bottom: 2rem;
  }

  .cases__slide-text {
    max-width: 23.6rem;
    margin-bottom: 2rem;
    font-size: 1.6rem;
  }

  .cases .swiper-button-prev {
    display: none;
  }

  .cases .swiper-button-next {
    margin: 0;
    -webkit-transform: unset;
    -ms-transform: unset;
    transform: unset;
    position: absolute;
    top: 14.5rem;
    right: 2rem;
    left: unset;
    bottom: unset;
  }

  .cases__btn {
    display: none;
  }

  .contacts__inner {
    gap: 3rem;
    width: 100%;
  }

  .contacts__head-suptitle {
    font-size: 1.6rem;
  }

  .contacts__head-title {
    font-size: 3rem;
  }

  .contacts__body {
    margin-bottom: calc(35rem - var(--section-padding-bottom));
  }

  .contacts__body .footer__contacts {
    gap: 1rem;
  }

  .contacts__body .footer__menu-link {
    font-size: 1.6rem;
  }

  .contacts__body .social {
    max-width: 24.2rem;
  }

  .contacts__body .social__title {
    font-size: 1.6rem;
  }

  .contacts__body .social__text {
    display: none;
  }

  .contacts__cover {
    height: 51.5rem;
    right: -40.3rem;
    bottom: calc(var(--section-padding-bottom) * -1);
  }

  .effect {
    --section-padding-bottom: 2rem;
  }

  .effect__inner {
    gap: 3rem;
  }

  .effect__feat {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }

  .effect__feat-item {
    gap: 1rem;
  }

  .effect__feat-count {
    font-size: 5rem;
  }

  .effect__feat-text {
    font-size: 1.6rem;
  }

  .effect__ps {
    display: none;
  }

  .growth .general__head::before {
    width: calc(100% + var(--container-padding) * 2);
    height: calc(100% + 2rem);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAyIiBoZWlnaHQ9IjE3NiIgdmlld0JveD0iMCAwIDQwMiAxNzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNMi4yODI2ZS0wNSAwTDc5NS41MTggMTcxLjIyOUw3OTAuNDY0IDE3NC4wN0wtNi43MjA4M2UtMDcgMTc1LjEzM0wyLjI4MjZlLTA1IDBaIiBmaWxsPSIjREMxNDNDIi8+DQo8L3N2Zz4=);
    top: unset;
    bottom: 0.8rem;
    right: calc(var(--container-padding) * -1);
    left: calc(var(--container-padding) * -1);
  }

  .growth .general__suptitle {
    font-size: 10rem;
  }

  .growth .general__title {
    font-size: 6.5rem;
  }

  .growth__inner {
    gap: 2.8rem;
  }

  .growth__body::after {
    display: block;
  }

  .growth__items {
    gap: 2rem 4rem;
  }

  .growth__item {
    gap: 1.5rem;
  }

  .growth__item-count {
    font-size: 6rem;
  }

  .growth__item-title {
    font-size: 2rem;
  }

  .growth__item-text {
    font-size: 1.6rem;
  }

  .growth__cover {
    width: 26rem;
    height: auto;
    top: -26.3rem;
    right: 12rem;
    z-index: -1;
  }

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

  .hero {
    padding: 0;
    overflow: hidden;
  }

  .hero__suptitle {
    font-size: 2rem;
    margin-bottom: 3rem;
  }

  .hero__title {
    min-height: 14.8rem;
    font-size: 6.5rem;
    line-height: 1;
  }

  .hero .typewriter__word {
    line-height: 85%;
  }

  .hero .typewriter__line {
    line-height: 120%;
  }

  .hero .typewriter__line:last-child .typewriter__cursor,
  .hero .typewriter__line:last-child .typewriter__word {
    font-size: 4rem;
    line-height: 85%;
  }

  .hero__cover {
    height: 46.7rem;
    position: relative;
    top: unset;
    right: unset;
  }

  .hero__cover-img img {
    position: absolute;
    top: 0;
    left: 46%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .hero__cover-el {
    width: 7rem;
    height: 7rem;
    top: 8.6rem;
    left: 10.5rem;
  }

  .hero__mask {
    width: 56rem;
    height: 39.5rem;
    top: calc(28.3rem - var(--header-height));
    right: 2.9rem;
  }

  .inform {
    --section-padding-top: 2.5rem;
    --section-padding-bottom: 2.5rem;
  }

  .inform .general__title {
    max-width: 27.5rem;
    word-break: break-word;
    font-size: 6rem;
  }

  .inform__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.6rem;
  }

  .inform__body {
    margin-top: 0;
    padding: 0 var(--container-padding);
    margin-bottom: 2rem;
    position: relative;
    z-index: 2;
  }

  .inform__slider {
    margin: 0;
  }

  .inform__slide {
    max-width: 27.3rem;
    width: 100%;
    z-index: 1;
  }

  .inform__slide.swiper-slide-active {
    z-index: 2;
  }

  .inform__item {
    gap: 2rem;
    max-width: 27.3rem;
  }

  .inform__item-cover {
    height: 22rem;
  }

  .inform__item-content {
    gap: 1.5rem;
  }

  .inform__item-title {
    font-size: 2rem;
  }

  .inform__item-text {
    font-size: 1.6rem;
  }

  .inform__item-arrow {
    position: absolute;
    top: 11rem;
    right: 0;
    -webkit-transform: translate(50%, -50%);
    -ms-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
  }

  .inform__cover {
    height: 18.5rem;
    top: 2.7rem;
    right: 0.4rem;
    left: unset;
  }

  .inform__svg {
    height: 6.2rem;
    right: unset;
    left: 0;
  }

  .notfound {
    overflow: hidden;
  }

  .notfound__head-suptitle {
    font-size: 4.1rem;
  }

  .notfound__head-title {
    font-size: 18.5rem;
  }

  .notfound__head-text {
    padding-left: 19rem;
    font-size: 3rem;
  }

  .notfound__cover {
    height: 50.2rem;
    top: unset;
    right: unset;
    left: -4rem;
    bottom: -5rem;
  }

  .notfound__cover img {
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1);
  }

  .produce {
    --section-padding-bottom: rem;
    margin-right: 0;
  }

  .produce__inner {
    gap: 2rem;
  }

  .produce__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }

  .produce__item {
    width: 100%;
    height: auto;
    min-height: unset;
  }

  .produce__item-content {
    padding: 3rem 2rem;
  }

  .produce__item--active .produce__item-wrap {
    margin-bottom: 3rem;
  }

  .produce__item-title {
    font-size: 3rem;
  }

  .produce__item-text {
    font-size: 1.6rem;
  }

  .produce__item-icon {
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    right: 1.1rem;
  }

  .produce__item-cover {
    display: none;
  }

  .produce__item-block {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding: 0 2rem;
  }

  .produce__item--active .produce__item-block {
    grid-template-rows: 1fr auto auto;
    gap: 0;
    padding: 4rem 2rem 4.4rem;
  }

  .produce__item-block .produce__item-title {
    font-size: 4rem;
  }

  .produce__item-block .produce__item-text {
    font-size: 3rem;
  }

  .produce__item-list ul {
    gap: 2.5rem;
    padding-left: 0;
  }

  .produce__item-list li a {
    font-size: 2rem;
  }

  .produce__indicator {
    display: none;
  }

  .request {
    --section-padding-top: 5rem;
    --section-padding-bottom: 31rem;
  }

  .request .form-label::before {
    background-color: var(--red-50);
  }

  .request__inner {
    gap: 3rem;
  }

  .request__cover {
    height: 42.2rem;
    top: unset;
    bottom: -3.25rem;
    right: -1.2rem;
  }

  .request__cover-img--2 {
    -webkit-transform: translate(-0.5rem, -1.135rem);
    -ms-transform: translate(-0.5rem, -1.135rem);
    transform: translate(-0.5rem, -1.135rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  section {
    -webkit-animation: none !important;
    animation: none !important;
  }
}