@charset "UTF-8";
html.lenis, html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent], .lenis [data-lenis-prevent-wheel], .lenis [data-lenis-prevent-touch] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

/**
 * Swiper 12.0.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 21, 2025
 */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > &,
  &.swiper-pagination-disabled {
    display: none !important;
  }
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
  .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  button& {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }
  &:only-child {
    display: none !important;
  }
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
  .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition: 200ms transform, 200ms top;
    }
  }
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition: 200ms transform, 200ms left;
    }
  }
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > &,
  &.swiper-pagination-horizontal,
  .swiper-vertical > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-vertical > &,
  &.swiper-pagination-vertical,
  .swiper-horizontal > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
}

.swiper-pagination-lock {
  display: none;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards {
  .swiper-slide {
    transform-origin: center bottom;
    backface-visibility: hidden;
    overflow: hidden;
  }
}

.breadcrumbs__list, .footer-nav__list, .menu-nav__list, ol:not([class]), ul:not([class]) {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cta-btn, .header-burger, .btn-underline, .btn, .close {
  border: 0;
  background: transparent;
  padding: 0;
  color: currentColor;
  cursor: pointer;
  text-align: left;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.contacts-link, .breadcrumbs-link, .footer-developer-link, .footer-privacy-link, .footer-contacts-link, .footer-nav-link, .menu-contacts-address, .menu-contacts-link, .menu-nav-link, .header-logo, .btn-underline, .btn-arrow, .btn, a:not([class]) {
  text-decoration: none;
  color: currentColor;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.subscribe-input, .form-input {
  display: block;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.subscribe-input::-webkit-search-decoration, .form-input::-webkit-search-decoration, .subscribe-input::-webkit-search-cancel-button, .form-input::-webkit-search-cancel-button, .subscribe-input::-webkit-search-results-button, .form-input::-webkit-search-results-button, .subscribe-input::-webkit-search-results-decoration, .form-input::-webkit-search-results-decoration {
  display: none;
}

.form-textarea {
  display: block;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.form-checkbox__input {
  position: absolute;
  border: 0;
  height: 1rem;
  width: 1rem;
  overflow: hidden;
  padding: 0;
  clip-path: inset(0 0 99.9% 99.9%);
  clip: rect(1rem, 1rem, 1rem, 1rem);
}

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

body,
hr {
  margin: 0;
}

hr {
  border: 0;
  color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-top: 0;
  margin-bottom: 0;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

dl,
ol,
ul {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ol ul,
ul ol,
ul ul {
  margin-bottom: 0;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0;
}

b,
strong {
  font-weight: 700;
}

small {
  font-size: 0.85em;
}

sub,
sup {
  position: relative;
  vertical-align: initial;
  font-size: 0.5em;
  line-height: 0;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  text-decoration: none;
  color: inherit;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 0;
  overflow: auto;
}

pre code {
  word-break: normal;
  color: inherit;
}

code {
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

figure {
  margin: 0;
}

img,
svg {
  vertical-align: middle;
}

table {
  border-collapse: collapse;
  caption-side: bottom;
}

caption {
  padding-top: 0;
  padding-bottom: 0;
  text-align: left;
}

th {
  font-weight: 700;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

tbody,
td,
tfoot,
th,
thead,
tr {
  border: 0 solid;
  border-color: inherit;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

[type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: button;
}

[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}

legend {
  margin-bottom: 0;
  width: 100%;
  float: left;
  padding: 0;
  line-height: inherit;
}

legend + * {
  clear: left;
}

::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: initial;
}

[hidden] {
  display: none !important;
}

button {
  border: 0;
  background-color: rgba(0, 0, 0, 0);
  padding: 0;
  text-transform: inherit;
  letter-spacing: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  cursor: pointer;
}

button {
  color: inherit;
}

ol,
ul {
  margin-bottom: 0;
}

.text-1 {
  letter-spacing: 0.075em;
  font-size: 7.19375rem;
  line-height: 1;
  font-weight: 600;
}

.text-2 {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 8rem;
  line-height: 1;
  font-weight: 600;
}

.text-3 {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 10rem;
  line-height: 1;
  font-weight: 600;
}

.text-4 {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 10rem;
  line-height: 1;
  font-weight: 500;
}

.text-5 {
  text-transform: uppercase;
  letter-spacing: -0.09em;
  font-size: 10rem;
  line-height: 1;
  font-weight: 400;
}

.text-6 {
  letter-spacing: 0.075em;
  font-size: 12rem;
  line-height: 1;
  font-weight: 600;
}

.text-7 {
  letter-spacing: 0.025em;
  font-size: 12rem;
  line-height: 1;
  font-weight: 500;
}

.text-8 {
  letter-spacing: -0.005em;
  font-size: 12rem;
  line-height: 1.3;
  font-weight: 300;
}

.text-9 {
  letter-spacing: -0.07em;
  font-size: 12rem;
  line-height: 1;
  font-weight: 400;
}

.text-10 {
  letter-spacing: -0.07em;
  font-size: 13rem;
  line-height: 1;
  font-weight: 400;
}

.text-11 {
  letter-spacing: -0.07em;
  font-size: 13rem;
  line-height: 1;
  font-weight: 600;
}

.text-12 {
  letter-spacing: -0.025em;
  font-size: 14rem;
  line-height: 1;
  font-weight: 400;
}

.text-13 {
  letter-spacing: -0.05em;
  font-size: 14rem;
  line-height: 1;
  font-weight: 500;
}

.text-14 {
  letter-spacing: -0.005em;
  font-size: 14rem;
  line-height: 1.3;
  font-weight: 300;
}

.text-15 {
  letter-spacing: -0.05em;
  font-size: 14rem;
  line-height: 1.3;
  font-weight: 400;
  text-decoration-line: underline;
}

.text-16 {
  letter-spacing: -0.02em;
  font-size: 14rem;
  line-height: 1.5;
  font-weight: 400;
}

.text-17 {
  letter-spacing: -0.025em;
  font-size: 14rem;
  line-height: 1.4;
  font-weight: 400;
}

.text-18 {
  letter-spacing: -0.055em;
  font-size: 15rem;
  line-height: 1.3;
  font-weight: 400;
}

.text-19 {
  letter-spacing: -0.095em;
  font-size: 16rem;
  line-height: 1.3;
  font-weight: 400;
}

.text-20 {
  letter-spacing: -0.05em;
  font-size: 16rem;
  line-height: 1.2;
  font-weight: 400;
}

.text-21 {
  letter-spacing: -0.02em;
  font-size: 16rem;
  line-height: 1;
  font-weight: 400;
}

.text-22 {
  letter-spacing: -0.02em;
  font-size: 16rem;
  line-height: 1.5;
  font-weight: 400;
}

.text-23 {
  letter-spacing: -0.02em;
  font-size: 16rem;
  line-height: 1.4;
  font-weight: 400;
}

.text-24 {
  letter-spacing: -0.02em;
  font-size: 16rem;
  line-height: 1.5;
  font-weight: 600;
}

.text-25 {
  letter-spacing: -0.025em;
  font-size: 17rem;
  line-height: 1;
  font-weight: 400;
}

.text-26 {
  letter-spacing: -0.025em;
  font-size: 17rem;
  line-height: 1.4;
  font-weight: 400;
}

.text-27 {
  letter-spacing: -0.02em;
  font-size: 18rem;
  line-height: 1.5;
  font-weight: 400;
}

.text-28 {
  letter-spacing: -0.02em;
  font-size: 18rem;
  line-height: 1.5;
  font-weight: 600;
}

.text-29 {
  letter-spacing: -0.025em;
  font-size: 18rem;
  line-height: 1.1;
  font-weight: 400;
}

.text-30 {
  letter-spacing: -0.025em;
  font-size: 18rem;
  line-height: 1.3;
  font-weight: 400;
}

.text-31 {
  letter-spacing: -0.03em;
  font-size: 18rem;
  line-height: 1;
  font-weight: 400;
}

.text-32 {
  letter-spacing: -0.05em;
  font-size: 18rem;
  line-height: 1.2;
  font-weight: 400;
}

.text-33 {
  letter-spacing: -0.035em;
  font-size: 19rem;
  line-height: 1.3;
  font-weight: 400;
}

.text-34 {
  letter-spacing: -0.055em;
  font-size: 20rem;
  line-height: 1;
  font-weight: 400;
}

.text-35 {
  letter-spacing: -0.055em;
  font-size: 22rem;
  line-height: 1;
  font-weight: 400;
}

.text-36 {
  letter-spacing: -0.05em;
  font-size: 22rem;
  line-height: 1.2;
  font-weight: 400;
}

.text-37 {
  letter-spacing: -0.05em;
  font-size: 24rem;
  line-height: 1.1;
  font-weight: 400;
}

.text-38 {
  letter-spacing: -0.05em;
  font-size: 24rem;
  line-height: 1;
  font-weight: 400;
}

.text-39 {
  letter-spacing: -0.065em;
  font-size: 25rem;
  line-height: 1;
  font-weight: 400;
}

.text-40 {
  letter-spacing: -0.055em;
  font-size: 25rem;
  line-height: 1.2;
  font-weight: 400;
}

.text-41 {
  letter-spacing: -0.05em;
  font-size: 27rem;
  line-height: 1.2;
  font-weight: 400;
}

.text-42 {
  letter-spacing: -0.025em;
  font-size: 28rem;
  line-height: 1.1;
  font-weight: 400;
}

.text-43 {
  letter-spacing: -0.065em;
  font-size: 28rem;
  line-height: 1;
  font-weight: 400;
}

.text-44 {
  letter-spacing: -0.055em;
  font-size: 28rem;
  line-height: 1;
  font-weight: 300;
}

.text-45 {
  letter-spacing: -0.025em;
  font-size: 32rem;
  line-height: 1.3;
  font-weight: 400;
}

.text-46 {
  letter-spacing: -0.055em;
  font-size: 32rem;
  line-height: 1;
  font-weight: 400;
}

.text-47 {
  letter-spacing: -0.065em;
  font-size: 34rem;
  line-height: 1;
  font-weight: 300;
}

.text-48 {
  letter-spacing: -0.065em;
  font-size: 35rem;
  line-height: 1;
  font-weight: 400;
}

.text-49 {
  letter-spacing: -0.05em;
  font-size: 36rem;
  line-height: 1;
  font-weight: 400;
}

.text-50 {
  letter-spacing: -0.05em;
  font-size: 38rem;
  line-height: 1;
  font-weight: 400;
}

.text-51 {
  letter-spacing: -0.065em;
  font-size: 38rem;
  line-height: 1;
  font-weight: 300;
}

.text-52 {
  letter-spacing: -0.05em;
  font-size: 38rem;
  line-height: 1;
  font-weight: 500;
}

.text-53 {
  letter-spacing: -0.055em;
  font-size: 40rem;
  line-height: 1;
  font-weight: 400;
}

.text-54 {
  letter-spacing: -0.05em;
  font-size: 42.0998rem;
  line-height: 1;
  font-weight: 400;
}

.text-55 {
  letter-spacing: -0.055em;
  font-size: 46rem;
  line-height: 1;
  font-weight: 300;
}

.text-56 {
  letter-spacing: -0.05em;
  font-size: 48rem;
  line-height: 1;
  font-weight: 400;
}

.text-57 {
  letter-spacing: -0.05em;
  font-size: 48.4615rem;
  line-height: 0.8;
  font-weight: 400;
}

.text-58 {
  letter-spacing: -0.05em;
  font-size: 49rem;
  line-height: 1;
  font-weight: 400;
}

.text-59 {
  letter-spacing: -0.05em;
  font-size: 49rem;
  line-height: 0.8;
  font-weight: 400;
}

.text-60 {
  letter-spacing: -0.055em;
  font-size: 56rem;
  line-height: 1;
  font-weight: 400;
}

.text-61 {
  letter-spacing: -0.055em;
  font-size: 56rem;
  line-height: 1.2;
  font-weight: 400;
}

.text-62 {
  letter-spacing: -0.065em;
  font-size: 58rem;
  line-height: 1;
  font-weight: 400;
}

.text-63 {
  letter-spacing: -0.065em;
  font-size: 58rem;
  line-height: 1;
  font-weight: 300;
}

.text-64 {
  letter-spacing: -0.075em;
  font-size: 60rem;
  line-height: 1;
  font-weight: 400;
}

.text-65 {
  letter-spacing: -0.05em;
  font-size: 70rem;
  line-height: 0.8;
  font-weight: 400;
}

.text-66 {
  letter-spacing: -0.05em;
  font-size: 70rem;
  line-height: 1;
  font-weight: 400;
}

.text-67 {
  letter-spacing: -0.085em;
  font-size: 77rem;
  line-height: 0.8;
  font-weight: 400;
}

.text-68 {
  letter-spacing: -0.05em;
  font-size: 90rem;
  line-height: 1;
  font-weight: 400;
}

.text-69 {
  letter-spacing: -0.05em;
  font-size: 90rem;
  line-height: 0.8;
  font-weight: 400;
}

.text-70 {
  letter-spacing: -0.075em;
  font-size: 111rem;
  line-height: 1;
  font-weight: 400;
}

.text-71 {
  letter-spacing: -0.05em;
  font-size: 138rem;
  line-height: 1;
  font-weight: 400;
}

.text-72 {
  letter-spacing: -0.11em;
  font-size: 199rem;
  line-height: 1;
  font-weight: 400;
}

.text-73 {
  letter-spacing: -0.05em;
  font-size: 272rem;
  line-height: 1;
  font-weight: 400;
}

.text-74 {
  letter-spacing: -0.085em;
  font-size: 274rem;
  line-height: 1;
  font-weight: 400;
}

.text-75 {
  letter-spacing: -0.11em;
  font-size: 700rem;
  line-height: 1;
  font-weight: 400;
}

@media (min-width: 1280px) {
  .text-1-desktop {
    letter-spacing: 0.075em;
    font-size: 7.19375rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-2-desktop {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 8rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-3-desktop {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 10rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-4-desktop {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 10rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-5-desktop {
    text-transform: uppercase;
    letter-spacing: -0.09em;
    font-size: 10rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-6-desktop {
    letter-spacing: 0.075em;
    font-size: 12rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-7-desktop {
    letter-spacing: 0.025em;
    font-size: 12rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-8-desktop {
    letter-spacing: -0.005em;
    font-size: 12rem;
    line-height: 1.3;
    font-weight: 300;
  }
  .text-9-desktop {
    letter-spacing: -0.07em;
    font-size: 12rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-10-desktop {
    letter-spacing: -0.07em;
    font-size: 13rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-11-desktop {
    letter-spacing: -0.07em;
    font-size: 13rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-12-desktop {
    letter-spacing: -0.025em;
    font-size: 14rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-13-desktop {
    letter-spacing: -0.05em;
    font-size: 14rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-14-desktop {
    letter-spacing: -0.005em;
    font-size: 14rem;
    line-height: 1.3;
    font-weight: 300;
  }
  .text-15-desktop {
    letter-spacing: -0.05em;
    font-size: 14rem;
    line-height: 1.3;
    font-weight: 400;
    text-decoration-line: underline;
  }
  .text-16-desktop {
    letter-spacing: -0.02em;
    font-size: 14rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .text-17-desktop {
    letter-spacing: -0.025em;
    font-size: 14rem;
    line-height: 1.4;
    font-weight: 400;
  }
  .text-18-desktop {
    letter-spacing: -0.055em;
    font-size: 15rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-19-desktop {
    letter-spacing: -0.095em;
    font-size: 16rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-20-desktop {
    letter-spacing: -0.05em;
    font-size: 16rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-21-desktop {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-22-desktop {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .text-23-desktop {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.4;
    font-weight: 400;
  }
  .text-24-desktop {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.5;
    font-weight: 600;
  }
  .text-25-desktop {
    letter-spacing: -0.025em;
    font-size: 17rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-26-desktop {
    letter-spacing: -0.025em;
    font-size: 17rem;
    line-height: 1.4;
    font-weight: 400;
  }
  .text-27-desktop {
    letter-spacing: -0.02em;
    font-size: 18rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .text-28-desktop {
    letter-spacing: -0.02em;
    font-size: 18rem;
    line-height: 1.5;
    font-weight: 600;
  }
  .text-29-desktop {
    letter-spacing: -0.025em;
    font-size: 18rem;
    line-height: 1.1;
    font-weight: 400;
  }
  .text-30-desktop {
    letter-spacing: -0.025em;
    font-size: 18rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-31-desktop {
    letter-spacing: -0.03em;
    font-size: 18rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-32-desktop {
    letter-spacing: -0.05em;
    font-size: 18rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-33-desktop {
    letter-spacing: -0.035em;
    font-size: 19rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-34-desktop {
    letter-spacing: -0.055em;
    font-size: 20rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-35-desktop {
    letter-spacing: -0.055em;
    font-size: 22rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-36-desktop {
    letter-spacing: -0.05em;
    font-size: 22rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-37-desktop {
    letter-spacing: -0.05em;
    font-size: 24rem;
    line-height: 1.1;
    font-weight: 400;
  }
  .text-38-desktop {
    letter-spacing: -0.05em;
    font-size: 24rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-39-desktop {
    letter-spacing: -0.065em;
    font-size: 25rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-40-desktop {
    letter-spacing: -0.055em;
    font-size: 25rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-41-desktop {
    letter-spacing: -0.05em;
    font-size: 27rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-42-desktop {
    letter-spacing: -0.025em;
    font-size: 28rem;
    line-height: 1.1;
    font-weight: 400;
  }
  .text-43-desktop {
    letter-spacing: -0.065em;
    font-size: 28rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-44-desktop {
    letter-spacing: -0.055em;
    font-size: 28rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-45-desktop {
    letter-spacing: -0.025em;
    font-size: 32rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-46-desktop {
    letter-spacing: -0.055em;
    font-size: 32rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-47-desktop {
    letter-spacing: -0.065em;
    font-size: 34rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-48-desktop {
    letter-spacing: -0.065em;
    font-size: 35rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-49-desktop {
    letter-spacing: -0.05em;
    font-size: 36rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-50-desktop {
    letter-spacing: -0.05em;
    font-size: 38rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-51-desktop {
    letter-spacing: -0.065em;
    font-size: 38rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-52-desktop {
    letter-spacing: -0.05em;
    font-size: 38rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-53-desktop {
    letter-spacing: -0.055em;
    font-size: 40rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-54-desktop {
    letter-spacing: -0.05em;
    font-size: 42.0998rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-55-desktop {
    letter-spacing: -0.055em;
    font-size: 46rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-56-desktop {
    letter-spacing: -0.05em;
    font-size: 48rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-57-desktop {
    letter-spacing: -0.05em;
    font-size: 48.4615rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-58-desktop {
    letter-spacing: -0.05em;
    font-size: 49rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-59-desktop {
    letter-spacing: -0.05em;
    font-size: 49rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-60-desktop {
    letter-spacing: -0.055em;
    font-size: 56rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-61-desktop {
    letter-spacing: -0.055em;
    font-size: 56rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-62-desktop {
    letter-spacing: -0.065em;
    font-size: 58rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-63-desktop {
    letter-spacing: -0.065em;
    font-size: 58rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-64-desktop {
    letter-spacing: -0.075em;
    font-size: 60rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-65-desktop {
    letter-spacing: -0.05em;
    font-size: 70rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-66-desktop {
    letter-spacing: -0.05em;
    font-size: 70rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-67-desktop {
    letter-spacing: -0.085em;
    font-size: 77rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-68-desktop {
    letter-spacing: -0.05em;
    font-size: 90rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-69-desktop {
    letter-spacing: -0.05em;
    font-size: 90rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-70-desktop {
    letter-spacing: -0.075em;
    font-size: 111rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-71-desktop {
    letter-spacing: -0.05em;
    font-size: 138rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-72-desktop {
    letter-spacing: -0.11em;
    font-size: 199rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-73-desktop {
    letter-spacing: -0.05em;
    font-size: 272rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-74-desktop {
    letter-spacing: -0.085em;
    font-size: 274rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-75-desktop {
    letter-spacing: -0.11em;
    font-size: 700rem;
    line-height: 1;
    font-weight: 400;
  }
}
@media (max-width: 1279px) and (min-width: 600px) {
  .text-1-tablet {
    letter-spacing: 0.075em;
    font-size: 7.19375rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-2-tablet {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 8rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-3-tablet {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 10rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-4-tablet {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 10rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-5-tablet {
    text-transform: uppercase;
    letter-spacing: -0.09em;
    font-size: 10rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-6-tablet {
    letter-spacing: 0.075em;
    font-size: 12rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-7-tablet {
    letter-spacing: 0.025em;
    font-size: 12rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-8-tablet {
    letter-spacing: -0.005em;
    font-size: 12rem;
    line-height: 1.3;
    font-weight: 300;
  }
  .text-9-tablet {
    letter-spacing: -0.07em;
    font-size: 12rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-10-tablet {
    letter-spacing: -0.07em;
    font-size: 13rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-11-tablet {
    letter-spacing: -0.07em;
    font-size: 13rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-12-tablet {
    letter-spacing: -0.025em;
    font-size: 14rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-13-tablet {
    letter-spacing: -0.05em;
    font-size: 14rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-14-tablet {
    letter-spacing: -0.005em;
    font-size: 14rem;
    line-height: 1.3;
    font-weight: 300;
  }
  .text-15-tablet {
    letter-spacing: -0.05em;
    font-size: 14rem;
    line-height: 1.3;
    font-weight: 400;
    text-decoration-line: underline;
  }
  .text-16-tablet {
    letter-spacing: -0.02em;
    font-size: 14rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .text-17-tablet {
    letter-spacing: -0.025em;
    font-size: 14rem;
    line-height: 1.4;
    font-weight: 400;
  }
  .text-18-tablet {
    letter-spacing: -0.055em;
    font-size: 15rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-19-tablet {
    letter-spacing: -0.095em;
    font-size: 16rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-20-tablet {
    letter-spacing: -0.05em;
    font-size: 16rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-21-tablet {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-22-tablet {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .text-23-tablet {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.4;
    font-weight: 400;
  }
  .text-24-tablet {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.5;
    font-weight: 600;
  }
  .text-25-tablet {
    letter-spacing: -0.025em;
    font-size: 17rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-26-tablet {
    letter-spacing: -0.025em;
    font-size: 17rem;
    line-height: 1.4;
    font-weight: 400;
  }
  .text-27-tablet {
    letter-spacing: -0.02em;
    font-size: 18rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .text-28-tablet {
    letter-spacing: -0.02em;
    font-size: 18rem;
    line-height: 1.5;
    font-weight: 600;
  }
  .text-29-tablet {
    letter-spacing: -0.025em;
    font-size: 18rem;
    line-height: 1.1;
    font-weight: 400;
  }
  .text-30-tablet {
    letter-spacing: -0.025em;
    font-size: 18rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-31-tablet {
    letter-spacing: -0.03em;
    font-size: 18rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-32-tablet {
    letter-spacing: -0.05em;
    font-size: 18rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-33-tablet {
    letter-spacing: -0.035em;
    font-size: 19rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-34-tablet {
    letter-spacing: -0.055em;
    font-size: 20rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-35-tablet {
    letter-spacing: -0.055em;
    font-size: 22rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-36-tablet {
    letter-spacing: -0.05em;
    font-size: 22rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-37-tablet {
    letter-spacing: -0.05em;
    font-size: 24rem;
    line-height: 1.1;
    font-weight: 400;
  }
  .text-38-tablet {
    letter-spacing: -0.05em;
    font-size: 24rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-39-tablet {
    letter-spacing: -0.065em;
    font-size: 25rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-40-tablet {
    letter-spacing: -0.055em;
    font-size: 25rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-41-tablet {
    letter-spacing: -0.05em;
    font-size: 27rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-42-tablet {
    letter-spacing: -0.025em;
    font-size: 28rem;
    line-height: 1.1;
    font-weight: 400;
  }
  .text-43-tablet {
    letter-spacing: -0.065em;
    font-size: 28rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-44-tablet {
    letter-spacing: -0.055em;
    font-size: 28rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-45-tablet {
    letter-spacing: -0.025em;
    font-size: 32rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-46-tablet {
    letter-spacing: -0.055em;
    font-size: 32rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-47-tablet {
    letter-spacing: -0.065em;
    font-size: 34rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-48-tablet {
    letter-spacing: -0.065em;
    font-size: 35rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-49-tablet {
    letter-spacing: -0.05em;
    font-size: 36rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-50-tablet {
    letter-spacing: -0.05em;
    font-size: 38rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-51-tablet {
    letter-spacing: -0.065em;
    font-size: 38rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-52-tablet {
    letter-spacing: -0.05em;
    font-size: 38rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-53-tablet {
    letter-spacing: -0.055em;
    font-size: 40rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-54-tablet {
    letter-spacing: -0.05em;
    font-size: 42.0998rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-55-tablet {
    letter-spacing: -0.055em;
    font-size: 46rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-56-tablet {
    letter-spacing: -0.05em;
    font-size: 48rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-57-tablet {
    letter-spacing: -0.05em;
    font-size: 48.4615rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-58-tablet {
    letter-spacing: -0.05em;
    font-size: 49rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-59-tablet {
    letter-spacing: -0.05em;
    font-size: 49rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-60-tablet {
    letter-spacing: -0.055em;
    font-size: 56rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-61-tablet {
    letter-spacing: -0.055em;
    font-size: 56rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-62-tablet {
    letter-spacing: -0.065em;
    font-size: 58rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-63-tablet {
    letter-spacing: -0.065em;
    font-size: 58rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-64-tablet {
    letter-spacing: -0.075em;
    font-size: 60rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-65-tablet {
    letter-spacing: -0.05em;
    font-size: 70rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-66-tablet {
    letter-spacing: -0.05em;
    font-size: 70rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-67-tablet {
    letter-spacing: -0.085em;
    font-size: 77rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-68-tablet {
    letter-spacing: -0.05em;
    font-size: 90rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-69-tablet {
    letter-spacing: -0.05em;
    font-size: 90rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-70-tablet {
    letter-spacing: -0.075em;
    font-size: 111rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-71-tablet {
    letter-spacing: -0.05em;
    font-size: 138rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-72-tablet {
    letter-spacing: -0.11em;
    font-size: 199rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-73-tablet {
    letter-spacing: -0.05em;
    font-size: 272rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-74-tablet {
    letter-spacing: -0.085em;
    font-size: 274rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-75-tablet {
    letter-spacing: -0.11em;
    font-size: 700rem;
    line-height: 1;
    font-weight: 400;
  }
}
@media (max-width: 599px) {
  .text-1-mobile {
    letter-spacing: 0.075em;
    font-size: 7.19375rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-2-mobile {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 8rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-3-mobile {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 10rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-4-mobile {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 10rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-5-mobile {
    text-transform: uppercase;
    letter-spacing: -0.09em;
    font-size: 10rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-6-mobile {
    letter-spacing: 0.075em;
    font-size: 12rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-7-mobile {
    letter-spacing: 0.025em;
    font-size: 12rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-8-mobile {
    letter-spacing: -0.005em;
    font-size: 12rem;
    line-height: 1.3;
    font-weight: 300;
  }
  .text-9-mobile {
    letter-spacing: -0.07em;
    font-size: 12rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-10-mobile {
    letter-spacing: -0.07em;
    font-size: 13rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-11-mobile {
    letter-spacing: -0.07em;
    font-size: 13rem;
    line-height: 1;
    font-weight: 600;
  }
  .text-12-mobile {
    letter-spacing: -0.025em;
    font-size: 14rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-13-mobile {
    letter-spacing: -0.05em;
    font-size: 14rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-14-mobile {
    letter-spacing: -0.005em;
    font-size: 14rem;
    line-height: 1.3;
    font-weight: 300;
  }
  .text-15-mobile {
    letter-spacing: -0.05em;
    font-size: 14rem;
    line-height: 1.3;
    font-weight: 400;
    text-decoration-line: underline;
  }
  .text-16-mobile {
    letter-spacing: -0.02em;
    font-size: 14rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .text-17-mobile {
    letter-spacing: -0.025em;
    font-size: 14rem;
    line-height: 1.4;
    font-weight: 400;
  }
  .text-18-mobile {
    letter-spacing: -0.055em;
    font-size: 15rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-19-mobile {
    letter-spacing: -0.095em;
    font-size: 16rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-20-mobile {
    letter-spacing: -0.05em;
    font-size: 16rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-21-mobile {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-22-mobile {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .text-23-mobile {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.4;
    font-weight: 400;
  }
  .text-24-mobile {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.5;
    font-weight: 600;
  }
  .text-25-mobile {
    letter-spacing: -0.025em;
    font-size: 17rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-26-mobile {
    letter-spacing: -0.025em;
    font-size: 17rem;
    line-height: 1.4;
    font-weight: 400;
  }
  .text-27-mobile {
    letter-spacing: -0.02em;
    font-size: 18rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .text-28-mobile {
    letter-spacing: -0.02em;
    font-size: 18rem;
    line-height: 1.5;
    font-weight: 600;
  }
  .text-29-mobile {
    letter-spacing: -0.025em;
    font-size: 18rem;
    line-height: 1.1;
    font-weight: 400;
  }
  .text-30-mobile {
    letter-spacing: -0.025em;
    font-size: 18rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-31-mobile {
    letter-spacing: -0.03em;
    font-size: 18rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-32-mobile {
    letter-spacing: -0.05em;
    font-size: 18rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-33-mobile {
    letter-spacing: -0.035em;
    font-size: 19rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-34-mobile {
    letter-spacing: -0.055em;
    font-size: 20rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-35-mobile {
    letter-spacing: -0.055em;
    font-size: 22rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-36-mobile {
    letter-spacing: -0.05em;
    font-size: 22rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-37-mobile {
    letter-spacing: -0.05em;
    font-size: 24rem;
    line-height: 1.1;
    font-weight: 400;
  }
  .text-38-mobile {
    letter-spacing: -0.05em;
    font-size: 24rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-39-mobile {
    letter-spacing: -0.065em;
    font-size: 25rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-40-mobile {
    letter-spacing: -0.055em;
    font-size: 25rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-41-mobile {
    letter-spacing: -0.05em;
    font-size: 27rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-42-mobile {
    letter-spacing: -0.025em;
    font-size: 28rem;
    line-height: 1.1;
    font-weight: 400;
  }
  .text-43-mobile {
    letter-spacing: -0.065em;
    font-size: 28rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-44-mobile {
    letter-spacing: -0.055em;
    font-size: 28rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-45-mobile {
    letter-spacing: -0.025em;
    font-size: 32rem;
    line-height: 1.3;
    font-weight: 400;
  }
  .text-46-mobile {
    letter-spacing: -0.055em;
    font-size: 32rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-47-mobile {
    letter-spacing: -0.065em;
    font-size: 34rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-48-mobile {
    letter-spacing: -0.065em;
    font-size: 35rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-49-mobile {
    letter-spacing: -0.05em;
    font-size: 36rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-50-mobile {
    letter-spacing: -0.05em;
    font-size: 38rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-51-mobile {
    letter-spacing: -0.065em;
    font-size: 38rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-52-mobile {
    letter-spacing: -0.05em;
    font-size: 38rem;
    line-height: 1;
    font-weight: 500;
  }
  .text-53-mobile {
    letter-spacing: -0.055em;
    font-size: 40rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-54-mobile {
    letter-spacing: -0.05em;
    font-size: 42.0998rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-55-mobile {
    letter-spacing: -0.055em;
    font-size: 46rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-56-mobile {
    letter-spacing: -0.05em;
    font-size: 48rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-57-mobile {
    letter-spacing: -0.05em;
    font-size: 48.4615rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-58-mobile {
    letter-spacing: -0.05em;
    font-size: 49rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-59-mobile {
    letter-spacing: -0.05em;
    font-size: 49rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-60-mobile {
    letter-spacing: -0.055em;
    font-size: 56rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-61-mobile {
    letter-spacing: -0.055em;
    font-size: 56rem;
    line-height: 1.2;
    font-weight: 400;
  }
  .text-62-mobile {
    letter-spacing: -0.065em;
    font-size: 58rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-63-mobile {
    letter-spacing: -0.065em;
    font-size: 58rem;
    line-height: 1;
    font-weight: 300;
  }
  .text-64-mobile {
    letter-spacing: -0.075em;
    font-size: 60rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-65-mobile {
    letter-spacing: -0.05em;
    font-size: 70rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-66-mobile {
    letter-spacing: -0.05em;
    font-size: 70rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-67-mobile {
    letter-spacing: -0.085em;
    font-size: 77rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-68-mobile {
    letter-spacing: -0.05em;
    font-size: 90rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-69-mobile {
    letter-spacing: -0.05em;
    font-size: 90rem;
    line-height: 0.8;
    font-weight: 400;
  }
  .text-70-mobile {
    letter-spacing: -0.075em;
    font-size: 111rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-71-mobile {
    letter-spacing: -0.05em;
    font-size: 138rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-72-mobile {
    letter-spacing: -0.11em;
    font-size: 199rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-73-mobile {
    letter-spacing: -0.05em;
    font-size: 272rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-74-mobile {
    letter-spacing: -0.085em;
    font-size: 274rem;
    line-height: 1;
    font-weight: 400;
  }
  .text-75-mobile {
    letter-spacing: -0.11em;
    font-size: 700rem;
    line-height: 1;
    font-weight: 400;
  }
}
:root {
  --scrollbar: 0px;
  --header-height: 90rem;
  --base-font-family: "Inter";
  --base-font-size: 14rem;
  --base-font-weight: 400;
  --base-line-height: 1;
  --base-letter-spacing: -0.025em;
  --color-white: #fff;
  --color-white-rgb: 255, 255, 255;
  --color-black: #040101;
  --color-black-rgb: 4, 1, 1;
  --color-red: #ff4443;
  --color-red-rgb: 255, 68, 67;
  --color-gray: #dedede;
  --color-gray-rgb: 222, 222, 222;
  --color-1: #f0f0f0;
  --color-1-rgb: 240, 240, 240;
  --color-2: #fad8d3;
  --color-2-rgb: 250, 216, 211;
  --color-3: #efb8ac;
  --color-3-rgb: 239, 184, 172;
  --color-4: #cbc1c0;
  --color-4-rgb: 203, 193, 192;
  --color-5: #9aaac1;
  --color-5-rgb: 154, 170, 193;
  --color-6: #d9d9d9;
  --color-6-rgb: 217, 217, 217;
  --color-7: #e3e3e3;
  --color-7-rgb: 227, 227, 227;
  --color-8: #000;
  --color-8-rgb: 0, 0, 0;
  --color-9: #3c3c3c;
  --color-9-rgb: 60, 60, 60;
  --color-10: #9e9e9e;
  --color-10-rgb: 158, 158, 158;
  --color-11: #d8d8d8;
  --color-11-rgb: 216, 216, 216;
  --color-12: #999999;
  --color-12-rgb: 153, 153, 153;
  --color-13: #484848;
  --color-13-rgb: 72, 72, 72;
  --color-14: #4E4D4D;
  --color-14-rgb: 78, 77, 77;
  --color-15: #ADACAC;
  --color-15-rgb: 173, 172, 172;
  --color-16: #BE8B84;
  --color-16-rgb: 190, 139, 132;
  --color-17: #DB3218;
  --color-17-rgb: 219, 50, 24;
  --color-18: #080807;
  --color-18-rgb: 8, 8, 7;
  --color-19: #4F4D4D;
  --color-19-rgb: 79, 77, 77;
  --ease-in-power3: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-out-power3: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out-power3: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-bounce: cubic-bezier(0.47, 1.64, 0.41, 0.8);
  --ease-out-bounce: cubic-bezier(0.17, 0.67, 0.3, 1.33);
  --ease-in-out-cubic: cubic-bezier(0.38, 0, 0.215, 1);
  --duration-1: 0.2s;
  --duration-2: 0.4s;
  --duration-3: 0.6s;
  --duration-4: 0.8s;
  --duration-5: 1s;
  --duration-6: 1.2s;
  --duration-7: 1.4s;
  --duration-8: 1.6s;
  --duration-9: 1.8s;
  --duration-10: 2s;
}
@media (max-width: 599px) {
  :root {
    --header-height: 54rem;
  }
}

html {
  font-size: 0.0520833333vw;
}
@media (max-width: 1279px) {
  html {
    font-size: 0.09765625vw;
  }
}
@media (max-width: 599px) {
  html {
    font-size: 0.2777777778vw;
  }
}
html.lenis-stopped {
  width: calc(100% - var(--scrollbar));
}

body {
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  min-height: 100vh;
  min-height: 100dvh;
  letter-spacing: var(--base-letter-spacing);
  font-family: var(--base-font-family), sans-serif;
  font-size: var(--base-font-size);
  line-height: var(--base-line-height);
  font-weight: var(--base-font-weight);
  color: var(--color-black);
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@supports (scrollbar-width: thin) {
  * {
    scrollbar-color: var(--color-red) rgba(0, 0, 0, 0);
    scrollbar-width: thin;
  }
}
@supports (-webkit-scrollbar: auto) {
  * {
    scrollbar-color: revert;
    scrollbar-width: revert;
  }
}
*::-webkit-scrollbar {
  background-color: rgba(var(--color-red-rgb), 0.01);
  height: 6rem;
  width: 6rem;
}
@media (max-width: 599px) {
  *::-webkit-scrollbar {
    height: 4rem;
    width: 4rem;
  }
}
*::-webkit-scrollbar-thumb {
  border-radius: 3rem;
  background-color: var(--color-red);
}
@media (max-width: 599px) {
  *::-webkit-scrollbar-thumb {
    border-radius: 2rem;
  }
}
*::-moz-selection {
  background-color: rgba(var(--color-red-rgb), 0.06);
}
*::selection {
  background-color: rgba(var(--color-red-rgb), 0.06);
}
*:focus-visible {
  outline: 1rem solid currentColor;
  outline-offset: 2rem;
}

@keyframes slideUpLoop {
  0%, 100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  25%, 26% {
    opacity: 0;
  }
  25% {
    transform: translate3d(0, 25%, 0);
  }
  26% {
    transform: translate3d(0, -50%, 0);
  }
}
@keyframes slideRightLoop {
  0%, 100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  25%, 26% {
    opacity: 0;
  }
  25% {
    transform: translate3d(25%, 0, 0);
  }
  26% {
    transform: translate3d(-50%, 0, 0);
  }
}
@keyframes headerFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
[data-split][data-reveal] .line {
  margin-top: -0.15em;
  margin-bottom: -0.15em;
  padding-top: 0.15em;
  padding-bottom: 0.15em;
}
[data-split][data-reveal] .char {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  transition-property: transform, opacity;
  transition-duration: var(--duration-3);
  transition-timing-function: var(--ease-in-out-cubic);
  will-change: transform, opacity;
}
[data-split][data-reveal].is-visible .char {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-duration: var(--duration-5);
  transition-delay: calc(0.015s * var(--char-index, 0));
}

[data-fade-in][data-reveal] {
  opacity: 0;
  transition-property: opacity;
  transition-duration: var(--duration-6);
  transition-timing-function: var(--ease-in-out-power3);
  will-change: opacity;
}
[data-fade-in][data-reveal].is-visible {
  opacity: 1;
}

[data-fade-up][data-reveal] {
  opacity: 0;
  transform: translate3d(0, 16rem, 0);
  transition-property: transform, opacity;
  transition-duration: var(--duration-5);
  transition-timing-function: var(--ease-in-out-power3);
  will-change: transform, opacity;
}
[data-fade-up][data-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

h1:not([class]) {
  margin-top: 48rem;
  margin-bottom: 48rem;
  letter-spacing: -0.055em;
  font-size: 56rem;
  line-height: 1;
  font-weight: 400;
}
@media (max-width: 599px) {
  h1:not([class]) {
    margin-top: 25rem;
    margin-bottom: 25rem;
    letter-spacing: -0.05em;
    font-size: 49rem;
    line-height: 1;
    font-weight: 400;
  }
}
h1:not([class]):first-child {
  margin-top: 0;
}
h1:not([class]):last-child {
  margin-bottom: 0;
}

h2:not([class]),
h3:not([class]),
h4:not([class]),
h5:not([class]),
h6:not([class]) {
  margin-top: 24rem;
  margin-bottom: 24rem;
  letter-spacing: -0.02em;
  font-size: 18rem;
  line-height: 1.5;
  font-weight: 600;
}
@media (max-width: 599px) {
  h2:not([class]),
  h3:not([class]),
  h4:not([class]),
  h5:not([class]),
  h6:not([class]) {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.5;
    font-weight: 600;
  }
}
h2:not([class]):first-child,
h3:not([class]):first-child,
h4:not([class]):first-child,
h5:not([class]):first-child,
h6:not([class]):first-child {
  margin-top: 0;
}
h2:not([class]):last-child,
h3:not([class]):last-child,
h4:not([class]):last-child,
h5:not([class]):last-child,
h6:not([class]):last-child {
  margin-bottom: 0;
}

p:not([class]) {
  margin-top: 24rem;
  margin-bottom: 24rem;
}
p:not([class]):first-child {
  margin-top: 0;
}
p:not([class]):last-child {
  margin-bottom: 0;
}

a:not([class]) {
  position: relative;
  display: inline-block;
  letter-spacing: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: var(--color-red);
}
a:not([class])::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  transform: scaleX(0) translateZ(0);
  background: currentColor;
  height: 1rem;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
  transform-origin: right;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  a:not([class]):hover::after {
    transform: scaleX(1) translateZ(0);
    transform-origin: left;
  }
}

mark:not([class]) {
  background-color: var(--color-red);
  padding: 0.125em;
  color: var(--color-white);
}

small:not([class]) {
  font-size: 0.875em;
}

b:not([class]),
strong:not([class]) {
  font-weight: bolder;
}

hr:not([class]) {
  border: 0;
  border-top: 1rem solid currentColor;
  margin-top: 24rem;
  margin-bottom: 24rem;
  color: currentColor;
}
hr:not([class]):first-child {
  margin-top: 0;
}
hr:not([class]):last-child {
  margin-bottom: 0;
}

blockquote:not([class]) {
  margin: 0;
  margin-top: 24rem;
  margin-bottom: 24rem;
  background-color: var(--color-1);
  padding: 1.5em;
}
blockquote:not([class]):first-child {
  margin-top: 0;
}
blockquote:not([class]):last-child {
  margin-bottom: 0;
}
blockquote:not([class]) cite:not([class]) {
  margin-top: 24rem;
  margin-bottom: 24rem;
  font-style: normal;
}
blockquote:not([class]) cite:not([class]):first-child {
  margin-top: 0;
}
blockquote:not([class]) cite:not([class]):last-child {
  margin-bottom: 0;
}
blockquote:not([class]) cite:not([class])::before {
  content: "— ";
}

ul:not([class]) {
  margin-top: 24rem;
  margin-bottom: 24rem;
}
ul:not([class]):first-child {
  margin-top: 0;
}
ul:not([class]):last-child {
  margin-bottom: 0;
}
ul:not([class]) li:not([class]) {
  position: relative;
  margin-top: 16rem;
  margin-bottom: 16rem;
  padding-left: 30rem;
}
ul:not([class]) li:not([class])::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  content: "";
  border-radius: 1rem;
  background-color: var(--color-red);
  height: 6rem;
  width: 6rem;
}
ul:not([class]) li:not([class]):first-child {
  margin-top: 0;
}
ul:not([class]) li:not([class]):last-child {
  margin-bottom: 0;
}
ul:not([class]) ul:not([class]),
ul:not([class]) ol:not([class]) {
  margin-top: 24rem;
  margin-bottom: 24rem;
}

ol:not([class]) {
  margin-top: 24rem;
  margin-bottom: 24rem;
  counter-reset: item;
}
ol:not([class]):first-child {
  margin-top: 0;
}
ol:not([class]):last-child {
  margin-bottom: 0;
}
ol:not([class]) li:not([class]) {
  position: relative;
  margin-top: 16rem;
  margin-bottom: 16rem;
  padding-left: 30rem;
}
ol:not([class]) li:not([class])::before {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(item);
  font-weight: 600;
  color: var(--color-red);
  counter-increment: item;
}
ol:not([class]) li:not([class]):first-child {
  margin-top: 0;
}
ol:not([class]) li:not([class]):last-child {
  margin-bottom: 0;
}
ol:not([class]) ol:not([class]),
ol:not([class]) ul:not([class]) {
  margin-top: 24rem;
  margin-bottom: 24rem;
}

.table-wrapper {
  margin-top: 24rem;
  margin-right: -14rem;
  margin-bottom: 24rem;
  margin-left: -14rem;
  overflow-x: auto;
  padding-right: 14rem;
  padding-left: 14rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.table-wrapper::-webkit-scrollbar {
  display: none;
}
.table-wrapper:first-child {
  margin-top: 0;
}
.table-wrapper:last-child {
  margin-bottom: 0;
}

table:not([class]) {
  border-collapse: collapse;
  margin-top: 24rem;
  margin-bottom: 24rem;
  min-width: 100%;
  border-spacing: 0;
}
table:not([class]):first-child {
  margin-top: 0;
}
table:not([class]):last-child {
  margin-bottom: 0;
}
table:not([class]) th:not([class]) {
  font-weight: 600;
}
table:not([class]) th:not([class]),
table:not([class]) td:not([class]) {
  border: 1rem solid var(--color-gray);
  padding: 0.5em;
  text-align: left;
}

img:not([class]) {
  display: block;
  border-radius: 16rem;
  margin-top: 24rem;
  margin-right: auto;
  margin-bottom: 24rem;
  margin-left: auto;
  height: auto;
  max-width: 100%;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 599px) {
  img:not([class]) {
    border-radius: 8rem;
  }
}
img:not([class]):first-child {
  margin-top: 0;
}
img:not([class]):last-child {
  margin-bottom: 0;
}

video:not([class]) {
  display: block;
  border-radius: 16rem;
  margin-top: 24rem;
  margin-right: auto;
  margin-bottom: 24rem;
  margin-left: auto;
  height: auto;
  max-width: 100%;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 599px) {
  video:not([class]) {
    border-radius: 8rem;
  }
}
video:not([class]):first-child {
  margin-top: 0;
}
video:not([class]):last-child {
  margin-bottom: 0;
}

iframe:not([class]) {
  display: block;
  border-radius: 16rem;
  margin-top: 24rem;
  margin-right: auto;
  margin-bottom: 24rem;
  margin-left: auto;
  height: auto;
  max-width: 100%;
  width: 100%;
}
@supports (aspect-ratio: 16/9) {
  iframe:not([class]) {
    aspect-ratio: 16/9;
  }
}
iframe:not([class]):first-child {
  margin-top: 0;
}
iframe:not([class]):last-child {
  margin-bottom: 0;
}

.close {
  position: relative;
  display: block;
  height: 15rem;
  width: 15rem;
  color: currentColor;
  transition: transform var(--duration-3) var(--ease-out-bounce), color var(--duration-3) var(--ease-out-bounce);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .close:hover {
    transform: scale3d(1.1, 1.1, 1);
    color: var(--color-red);
  }
}
.close::before, .close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  background: currentColor;
  height: 1rem;
  width: 20rem;
}
.close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.btn {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 6rem;
  max-width: 100%;
  width: 242rem;
  overflow: hidden;
  padding: 12rem;
  transition: color var(--duration-3) var(--ease-out-bounce), border-color var(--duration-3) var(--ease-out-bounce);
  gap: 8rem;
}
.btn::after {
  z-index: -1;
  position: absolute;
  top: 100%;
  left: 0;
  content: "";
  transform: translate3d(0, 0, 0);
  height: 100%;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .btn:hover::after {
    transform: translate3d(0, -100%, 0);
  }
}
.btn--red {
  background: var(--color-red);
  color: var(--color-white);
}
.btn--red::after {
  background: var(--color-black);
}
.btn--glass {
  background: rgba(var(--color-white-rgb), 0.05);
  color: var(--color-white);
}
.btn--glass::after {
  background: var(--color-red);
}
.btn--outline {
  border: 1rem solid var(--color-gray);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .btn--outline:hover {
    color: var(--color-white);
  }
}
.btn--outline::after {
  background: var(--color-red);
}
.btn--outline.is-active {
  border-color: var(--color-red);
}
.btn__icon {
  margin-left: auto;
  height: 10rem;
  width: 10rem;
  -o-object-fit: contain;
     object-fit: contain;
  fill: none;
  stroke: currentColor;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .btn:not(.btn--down):hover .btn__icon {
    animation: slideRightLoop var(--duration-5) var(--ease-out-power3);
  }
  .btn--down:hover .btn__icon {
    animation: slideUpLoop var(--duration-5) var(--ease-out-power3);
  }
}

.btn-arrow {
  z-index: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 15rem;
  height: 46rem;
  width: 46rem;
  overflow: hidden;
  transition: color var(--duration-3) var(--ease-out-bounce);
}
@media (max-width: 599px) {
  .btn-arrow {
    border-radius: 8rem;
    height: 24rem;
    width: 24rem;
  }
}
.btn-arrow--white {
  color: var(--color-white);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .btn-arrow--white:hover {
    color: var(--color-black);
  }
}
.btn-arrow--black {
  color: var(--color-black);
}
.btn-arrow::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  border: 1rem solid transparent;
  border-radius: inherit;
  height: 100%;
  width: 100%;
  transition: opacity var(--duration-3) var(--ease-out-bounce), border-color var(--duration-3) var(--ease-out-bounce);
}
.btn-arrow--white::before {
  opacity: 0.4;
  border-color: var(--color-white);
}
.btn-arrow--black::before {
  opacity: 0.1;
  border-color: var(--color-black);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .btn-arrow:hover::before {
    opacity: 1;
  }
  .btn-arrow--black:hover::before {
    border-color: var(--color-white);
  }
}
.btn-arrow::after {
  z-index: -1;
  position: absolute;
  top: 100%;
  left: 0;
  content: "";
  height: 100%;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
}
.btn-arrow--white::after {
  background: var(--color-white);
}
.btn-arrow--black::after {
  background: var(--color-white);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .btn-arrow:hover::after {
    transform: translate3d(0, -100%, 0);
  }
}
.btn-arrow__icon {
  display: block;
  height: auto;
  width: 9rem;
  stroke: currentColor;
  fill: none;
}
@media (max-width: 599px) {
  .btn-arrow__icon {
    width: 5rem;
  }
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .btn-arrow:hover .btn-arrow__icon {
    animation: slideRightLoop var(--duration-5) var(--ease-out-power3);
  }
}

.btn-underline {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  max-width: 100%;
  width: 537rem;
  padding: 19rem 16rem;
  padding-top: 0;
  transition: opacity var(--duration-3) var(--ease-out-bounce);
  text-align: right;
  gap: 30rem;
}
@media (max-width: 599px) {
  .btn-underline {
    width: 100%;
    padding: 19rem 4rem;
    padding-top: 0;
    gap: 22rem;
  }
}
.btn-underline::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  transform: scale3d(1, 1, 1);
  background: currentColor;
  height: 1rem;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
  transform-origin: right;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .btn-underline:hover::after {
    transform: scale3d(0.9, 1, 1);
  }
}
.btn-underline__text {
  text-transform: uppercase;
}
.btn-underline__icon {
  display: block;
  height: auto;
  width: 10rem;
  fill: none;
  stroke: currentColor;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .btn-underline:not(.btn-underline--down):hover .btn-underline__icon {
    animation: slideRightLoop var(--duration-4) var(--ease-out-power3);
  }
  .btn-underline--down:hover .btn-underline__icon {
    animation: slideUpLoop var(--duration-5) var(--ease-out-power3);
  }
}

.marker {
  transform: translate3d(-50%, -50%, 0);
  background-image: url(../img/img-5.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  height: 101rem;
  width: 101rem;
  cursor: pointer;
  transition: transform var(--duration-3) var(--ease-out-bounce);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .marker:hover {
    transform: translate3d(-50%, -50%, 0) scale3d(1.05, 1.05, 1);
  }
}

.tag {
  border-radius: 32rem;
  background: var(--color-5);
  padding: 5rem 15rem;
  padding-top: 4rem;
  text-transform: lowercase;
  color: var(--color-white);
  backdrop-filter: blur(4px);
}
.tag--red {
  background: var(--color-red);
}
.tag--gray {
  background: var(--color-1);
  color: var(--color-black);
}

.pagination {
  position: relative !important;
  background: var(--color-6) !important;
  height: 1rem !important;
  width: 100%;
}
.pagination .swiper-pagination-progressbar-fill {
  background-color: var(--color-red) !important;
}

.header-logo {
  color: currentColor;
  transition: transform var(--duration-3) var(--ease-out-bounce);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .header-logo:hover {
    transform: scale3d(1.025, 1.025, 1);
  }
}
.header-logo__icon {
  display: block;
  height: auto;
  width: 189rem;
  fill: currentColor;
}
@media (max-width: 599px) {
  .header-logo__icon {
    width: 113rem;
  }
}

.header-burger {
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 40rem;
  padding: 12rem 30rem;
  color: rgba(var(--color-black-rgb), 0.8);
  transition: color var(--duration-3) var(--ease-out-bounce);
  gap: 27rem;
}
@media (max-width: 599px) {
  .header-burger {
    border-radius: 24rem;
    padding: 7rem 18rem;
    gap: 16rem;
  }
}
.header-burger__bg {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: inherit;
  background: var(--color-1);
  height: 100%;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-bounce), background-color var(--duration-3) var(--ease-out-bounce);
  backdrop-filter: blur(20px);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .header-burger:hover .header-burger__bg {
    transform: scale3d(1.1, 1.1, 1);
  }
}
.header-burger__text {
  text-transform: uppercase;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .header-burger:hover .header-burger__text {
    animation: slideUpLoop var(--duration-5) var(--ease-out-power3);
  }
}
.header-burger__icon {
  display: block;
  height: auto;
  width: 8rem;
  transition: transform var(--duration-3) var(--ease-out-bounce);
  fill: currentColor;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .header-burger:hover .header-burger__icon {
    transform: scale3d(1.1, 1.1, 1);
  }
}
@media (max-width: 599px) {
  .header-burger__icon {
    width: 5rem;
  }
}

.menu-nav-link {
  z-index: 1;
  position: relative;
  display: block;
  overflow: hidden;
  padding: 20rem 10rem;
  padding-right: 36rem;
  color: currentColor;
  transition: color var(--duration-3) var(--ease-out-bounce);
}
@media (max-width: 599px) {
  .menu-nav-link {
    padding: 16rem 30rem 8rem 6rem;
  }
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .menu-nav-link:hover {
    color: var(--color-white);
  }
}
.menu-nav-link::before {
  z-index: -1;
  position: absolute;
  top: 100%;
  left: 0;
  content: "";
  background: var(--color-black);
  height: 100%;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .menu-nav-link:hover::before {
    transform: translate3d(0, -100%, 0);
  }
}
.menu-nav-link__text {
  display: block;
  transition: transform var(--duration-3) var(--ease-out-bounce);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .menu-nav-link:hover .menu-nav-link__text {
    transform: translate3d(10rem, 0, 0);
  }
}
.menu-nav-link__icon {
  position: absolute;
  top: 35rem;
  right: 10rem;
  height: auto;
  width: 16rem;
  transition: transform var(--duration-3) var(--ease-out-bounce);
  stroke: currentColor;
  fill: none;
}
@media (max-width: 599px) {
  .menu-nav-link__icon {
    top: 27rem;
    width: 10rem;
  }
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .menu-nav-link:hover .menu-nav-link__icon {
    transform: translate3d(-10rem, 0, 0);
  }
}

.menu-contacts-link {
  position: relative;
  display: inline-block;
  color: currentColor;
}
.menu-contacts-link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  transform: scale3d(0, 1, 1);
  background: currentColor;
  height: 1rem;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
  transform-origin: right;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .menu-contacts-link:hover::after {
    transform: scale3d(1, 1, 1);
    transform-origin: left;
  }
}

.menu-contacts-address {
  position: relative;
  opacity: 0.8;
  display: inline-block;
  color: currentColor;
  transition: opacity var(--duration-3) var(--ease-out-bounce);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .menu-contacts-address:hover {
    opacity: 1;
  }
}

.footer-nav-link {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  padding-left: 22rem;
  color: currentColor;
}
.footer-nav-link__icon {
  position: absolute;
  top: 10rem;
  left: 0;
  height: auto;
  width: 10rem;
  transition: transform var(--duration-3) var(--ease-out-bounce);
  stroke: currentColor;
  fill: none;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .footer-nav-link:hover .footer-nav-link__icon {
    transform: translate3d(4rem, 0, 0);
  }
}
.footer-nav-link__text {
  position: relative;
  display: block;
}
.footer-nav-link__text::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  transform: scale3d(0, 1, 1);
  background: currentColor;
  height: 1rem;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
  transform-origin: right;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .footer-nav-link:hover .footer-nav-link__text::after {
    transform: scale3d(1, 1, 1);
    transform-origin: left;
  }
}

.footer-contacts-link {
  position: relative;
  display: inline-block;
  color: currentColor;
}
.footer-contacts-link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  transform: scale3d(1, 1, 1);
  background: var(--color-3);
  height: 1rem;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
  transform-origin: left;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .footer-contacts-link:hover::after {
    transform: scale3d(0, 1, 1);
    transform-origin: right;
  }
}

.footer-logo {
  height: auto;
  max-width: 100%;
  width: 569rem;
  fill: currentColor;
}

.footer-privacy-link {
  opacity: 0.3;
  display: inline-block;
  transition: opacity var(--duration-3) var(--ease-out-bounce);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .footer-privacy-link:hover {
    opacity: 1;
  }
}

.footer-developer-link {
  display: inline-block;
  color: currentColor;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .footer-developer-link:hover {
    animation: slideUpLoop var(--duration-5) var(--ease-out-power3);
  }
}

.breadcrumbs-link {
  color: currentColor;
  transition: color var(--duration-3) var(--ease-out-bounce);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .breadcrumbs-link:hover {
    color: var(--color-red);
  }
}

.form-input {
  display: block;
  background: transparent;
  height: 126rem;
  width: 100%;
  overflow: hidden;
  padding: 56rem 0;
  color: currentColor;
}
@media (max-width: 599px) {
  .form-input {
    height: 87rem;
    padding: 38rem 0;
  }
}
.form-input:focus-visible {
  outline: 0;
}
.form-input::-moz-placeholder {
  opacity: 1;
  color: currentColor;
}
.form-input::placeholder {
  opacity: 1;
  color: currentColor;
}

.form-textarea {
  display: block;
  background: transparent;
  min-height: 126rem;
  height: 126rem;
  width: 100%;
  resize: none;
  overflow: hidden;
  padding: 56rem 0;
  color: currentColor;
}
@media (max-width: 599px) {
  .form-textarea {
    min-height: 87rem;
    height: 87rem;
    padding: 38rem 0;
  }
}
.form-textarea:focus-visible {
  outline: 0;
}
.form-textarea::-moz-placeholder {
  opacity: 1;
  color: currentColor;
}
.form-textarea::placeholder {
  opacity: 1;
  color: currentColor;
}

.form-checkbox {
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.form-checkbox__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12rem;
}
@media (max-width: 599px) {
  .form-checkbox__label {
    gap: 10rem;
  }
}
.form-checkbox__box {
  position: relative;
  display: block;
  flex-shrink: 0;
  height: 20rem;
  width: 20rem;
}
@media (max-width: 599px) {
  .form-checkbox__box {
    height: 16rem;
    width: 16rem;
  }
}
.form-checkbox__box::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  border: 1rem solid var(--color-gray);
  border-radius: 4rem;
  height: 100%;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-bounce), border-color var(--duration-3) var(--ease-out-bounce);
}
@media (max-width: 599px) {
  .form-checkbox__box::before {
    border-radius: 2rem;
  }
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .form-checkbox:hover .form-checkbox__box::before {
    transform: scale(1.05);
  }
}
.is-error ~ .form-checkbox__label .form-checkbox__box::before {
  border-color: red;
}
.form-checkbox__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  display: block;
  height: auto;
  width: 12rem;
  transition: opacity var(--duration-3) var(--ease-out-bounce);
  fill: none;
  stroke: var(--color-red);
  stroke-linecap: round;
  stroke-width: 2;
}
@media (max-width: 599px) {
  .form-checkbox__icon {
    width: 10rem;
  }
}
:checked ~ .form-checkbox__label .form-checkbox__icon {
  opacity: 1;
}
.form-checkbox .error {
  position: absolute;
  top: calc(100% + 6rem);
  left: 32rem;
  font-size: 12rem;
  color: red;
}
@media (max-width: 599px) {
  .form-checkbox .error {
    left: 26rem;
    font-size: 10rem;
  }
}

.cta-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 6rem;
  background: rgba(var(--color-11-rgb), 0.5);
  max-width: 100%;
  width: 562rem;
  overflow: hidden;
  padding: 16rem 25rem;
  transition: color var(--duration-3) var(--ease-out-bounce), transform var(--duration-5) var(--ease-in-out-power3), opacity var(--duration-5) var(--ease-in-out-power3);
  gap: 43rem;
  backdrop-filter: blur(10.5px);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .cta-btn:hover {
    color: var(--color-white);
  }
}
.cta-btn::before {
  z-index: -1;
  position: absolute;
  top: 100%;
  left: 0;
  content: "";
  transform: translate3d(0, 0, 0);
  background: var(--color-red);
  height: 100%;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .cta-btn:hover::before {
    transform: translate3d(0, -100%, 0);
  }
}
.cta-btn::after {
  position: absolute;
  top: 7rem;
  right: 97rem;
  content: "";
  background: var(--color-12);
  height: calc(100% - 14rem);
  width: 1rem;
  transition: background var(--duration-3) var(--ease-out-bounce);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .cta-btn:hover::after {
    background: var(--color-white);
  }
}
.cta-btn__icon {
  display: block;
  margin-left: auto;
  height: auto;
  width: 20rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .cta-btn:hover .cta-btn__icon {
    animation: slideRightLoop var(--duration-5) var(--ease-out-power3);
  }
}

.subscribe-input {
  display: block;
  background: transparent;
  height: 56rem;
  width: 100%;
  overflow: hidden;
  padding: 21rem 0;
  color: currentColor;
}
.subscribe-input:focus-visible {
  outline: 0;
}
.subscribe-input::-moz-placeholder {
  opacity: 1;
  color: currentColor;
}
.subscribe-input::placeholder {
  opacity: 1;
  color: currentColor;
}

.contacts-link {
  position: relative;
  display: inline-block;
  color: currentColor;
}
.contacts-link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  transform: scale3d(0, 1, 1);
  background: currentColor;
  height: 1rem;
  width: 100%;
  transition: transform var(--duration-3) var(--ease-out-power3);
  transform-origin: right;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .contacts-link:hover::after {
    transform: scale3d(1, 1, 1);
    transform-origin: left;
  }
}

.map {
  position: relative;
  height: 700rem;
  width: 100%;
}
@media (max-width: 599px) {
  .map {
    max-height: calc(100vh - var(--header-height) - 50rem);
    max-height: calc(100svh - var(--header-height) - 50rem);
    height: 640rem;
  }
}
.map .balloon {
  position: absolute;
  bottom: 32rem;
  left: 50%;
  transform: translateX(-50%);
  max-width: calc(100% - 20rem);
  width: 474rem;
}
@media (max-width: 599px) {
  .map .balloon {
    bottom: 10rem;
  }
}
.map .ymaps3x0--controls_right {
  right: 12rem;
  filter: grayscale(1);
  align-items: center;
  padding: 0;
}
@media (max-width: 599px) {
  .map .ymaps3x0--controls_right {
    right: 7rem;
  }
}
.map .ymaps3x0--map-copyrights_right {
  filter: grayscale(1);
}
.map .ymaps3x0--main-engine-container {
  filter: grayscale(1);
}

.balloon {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 8rem;
  background: var(--color-white);
  padding: 32rem;
  color: var(--color-black);
  gap: 32rem;
}
@media (max-width: 599px) {
  .balloon {
    padding: 15rem;
  }
}
.balloon__title {
  opacity: 0.5;
  text-transform: uppercase;
}
.balloon__close {
  position: absolute;
  top: 18rem;
  right: 18rem;
}
@media (max-width: 599px) {
  .balloon__close {
    top: 12rem;
    right: 12rem;
  }
}

.news-card {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  clip-path: inset(calc(var(--shift) * (1 - var(--progress))) 0 0 0 round 16rem);
  will-change: clip-path;
}
@media (max-width: 599px) {
  .news-card {
    clip-path: inset(calc(var(--shift) * (1 - var(--progress))) 0 0 0 round 8rem);
  }
}
.news-card__tags {
  z-index: 1;
  position: absolute;
  top: 16rem;
  left: 16rem;
  right: 16rem;
  transform: translate3d(0, calc(var(--shift) * (1 - var(--progress))), 0);
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  will-change: transform;
}
@media (max-width: 599px) {
  .news-card__tags {
    top: 8rem;
    left: 8rem;
    right: 8rem;
  }
}
.news-card__link {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.news-card__media {
  position: relative;
  border-radius: 16rem;
  overflow: hidden;
  pointer-events: none;
  clip-path: inset(0 0 calc(var(--shift) * (1 - var(--progress))) 0 round 16rem);
  will-change: clip-path;
}
@media (max-width: 599px) {
  .news-card__media {
    border-radius: 8rem;
    clip-path: inset(0 0 calc(var(--shift) * (1 - var(--progress))) 0 round 8rem);
  }
}
.news-card__media:not(:last-child) {
  margin-bottom: 40rem;
}
@media (max-width: 599px) {
  .news-card__media:not(:last-child) {
    margin-bottom: 20rem;
  }
}
.news-card__media::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 123.04964539%;
}
@media (max-width: 599px) {
  .news-card__media::after {
    padding-bottom: 122.54901961%;
  }
}
.news-card__parallax {
  --shift: 10svh;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.news-card__image {
  --px: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  transition: transform var(--duration-3) var(--ease-out-bounce);
  will-change: transform;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .news-card:hover .news-card__image {
    transform: scale3d(1.025, 1.025, 1);
  }
}
.news-card__img {
  --px-shift: 5svh;
  transform: translate3d(0, calc(var(--px-shift) * var(--px) * -1), 0);
  display: block;
  max-height: none;
  height: calc(100% + var(--px-shift));
  -o-object-fit: cover;
     object-fit: cover;
}
.news-card__arrow {
  position: absolute;
  bottom: 24rem;
  right: 24rem;
  transform: translate3d(0, calc(var(--shift) * (1 - var(--progress)) * -1), 0);
  will-change: transform;
}
@media (max-width: 599px) {
  .news-card__arrow {
    bottom: 12rem;
    right: 12rem;
  }
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .news-card:hover .news-card__arrow::before {
    opacity: 1;
    border-color: var(--color-white);
  }
  .news-card:hover .news-card__arrow::after {
    transform: translate3d(0, -100%, 0);
  }
  .news-card:hover .news-card__arrow .btn-arrow__icon {
    animation: slideRightLoop var(--duration-5) var(--ease-out-power3);
  }
}
.news-card__info {
  transform: translate3d(0, calc(var(--shift) * (1 - var(--progress)) * -1), 0);
  display: flex;
  flex-direction: column;
  padding: 0 16rem;
  gap: 18rem;
  will-change: transform;
}
@media (max-width: 599px) {
  .news-card__info {
    padding: 0;
    gap: 10rem;
  }
}
@media (max-width: 599px) {
  .news-card__title {
    padding-right: 43rem;
  }
}
.news-card__date {
  color: var(--color-red);
}

.news-slider {
  overflow: visible;
}
.news-slider__item {
  --shift: 80rem;
  --progress: 1;
  margin: 0 8rem;
  height: auto;
  width: 563rem;
}
@media (max-width: 599px) {
  .news-slider__item {
    --shift: 0;
    margin: 0;
    width: 306rem;
  }
}
@media (max-width: 599px) {
  .news-slider__item:not(:last-child) {
    margin-right: 10rem;
  }
}
.news-slider__pagination {
  display: none;
  margin-top: 30rem;
}
@media (max-width: 599px) {
  .news-slider__pagination {
    display: block;
  }
}

.services-card {
  z-index: 1;
  position: relative;
  display: flex;
  padding: 24rem 0;
}
@media (max-width: 599px) {
  .services-card {
    flex-direction: column;
    padding: 14rem 0;
  }
}
.services-card .btn::after {
  background: var(--color-white);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .services-card:hover .btn {
    color: var(--color-black);
  }
  .services-card:hover .btn::after {
    transform: translate3d(0, -100%, 0);
  }
  .services-card:hover .btn__icon {
    animation: slideRightLoop var(--duration-5) var(--ease-out-power3);
  }
}
.services-card__left {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 50%;
  padding-right: 24rem;
}
@media (max-width: 599px) {
  .services-card__left {
    order: 1;
    width: 100%;
    padding-right: 0;
  }
}
.services-card__title {
  max-width: 726rem;
}
.services-card__right {
  --progress: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 16rem;
  margin-left: auto;
  min-height: 276rem;
  width: 50%;
  overflow: hidden;
  padding: 32rem;
  clip-path: inset(0% calc(100% * (1 - var(--progress))) 0% 0% round 16rem);
}
@media (max-width: 599px) {
  .services-card__right {
    border-radius: 8rem;
    margin-bottom: 20rem;
    min-height: auto;
    min-height: 224rem;
    width: 100%;
    padding: 14rem;
    clip-path: inset(0% calc(100% * (1 - var(--progress))) 0% 0% round 8rem);
  }
}
.services-card__pic {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.services-card__img {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate3d(-15%, 0, 0) scale(1.1);
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
  backface-visibility: hidden;
}
.services-card__link {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.services-item {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 8rem;
  background: var(--color-black);
  min-height: 796rem;
  height: 100%;
  width: 100%;
  overflow: hidden;
  color: var(--color-white);
}
@media (max-width: 599px) {
  .services-item {
    min-height: 406rem;
  }
}
.services-item .btn::after {
  background: var(--color-white);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .services-item:hover .btn {
    color: var(--color-black);
  }
  .services-item:hover .btn::after {
    transform: translate3d(0, -100%, 0);
  }
  .services-item:hover .btn__icon {
    animation: slideRightLoop var(--duration-5) var(--ease-out-power3);
  }
}
.services-item__img {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.services-item__inner {
  display: flex;
  flex-direction: column;
  padding: 42rem 0;
  flex: 1 1 auto;
}
@media (max-width: 599px) {
  .services-item__inner {
    padding: 20rem 0;
  }
}
.services-item__top {
  margin-top: auto;
  padding: 32rem;
  text-align: center;
}
@media (max-width: 599px) {
  .services-item__top {
    padding: 24rem;
  }
}
.services-item__title {
  margin-right: auto;
  margin-left: auto;
  max-width: 480rem;
}
.services-item__lines {
  display: flex;
  flex-shrink: 0;
  margin-right: 6rem;
  margin-left: 6rem;
  height: 36rem;
  overflow: hidden;
}
.services-item__lines:not(:last-child) {
  margin-bottom: 6rem;
}
.services-item__item {
  position: relative;
  height: 217rem;
  width: 50%;
}
@media (max-width: 599px) {
  .services-item__item {
    height: 76rem;
  }
}
.services-item__item:nth-child(2n) {
  margin-left: -1rem;
}
.services-item__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.services-item__line {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  fill: none;
  stroke-width: 1;
  stroke: rgba(var(--color-white-rgb), 0.2);
  stroke-dasharray: 1123.7827148438;
  stroke-dashoffset: 0;
}
.services-item__item:nth-child(2n) .services-item__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
  margin-left: -1rem;
}
.services-item__btn {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
}
.services-item__link {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.services-slider {
  overflow: visible;
}
@media (min-width: 600px) {
  .services-slider .swiper-wrapper {
    perspective: 1600rem;
  }
}
@media (max-width: 599px) {
  .services-slider__item {
    height: auto;
    width: 306rem;
  }
}
@media (max-width: 599px) {
  .services-slider__item:not(:last-child) {
    margin-right: 10rem;
  }
}
.services-slider__item .services-item__inner {
  opacity: 0;
  transition: opacity var(--duration-5) var(--ease-in-out-power3);
}
@media (max-width: 599px) {
  .services-slider__item .services-item__inner {
    opacity: 1;
  }
}
.services-slider__item.swiper-slide-active .services-item__inner {
  opacity: 1;
}
.services-slider__pagination {
  display: none;
  margin-top: 30rem;
}
@media (max-width: 599px) {
  .services-slider__pagination {
    display: block;
  }
}

.menu-nav__list {
  display: flex;
  flex-direction: column;
}
.menu-nav__item:not(:last-child) {
  border-bottom: 1rem solid currentColor;
}

.menu-contacts {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 8rem;
  background: var(--color-black);
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 309rem;
  overflow: hidden;
  color: var(--color-white);
}
@media (max-width: 599px) {
  .menu-contacts {
    border-radius: 4rem;
    min-height: 174rem;
  }
}
html.no-avif .menu-contacts {
  background-image: url("../img/img-3.jpg?v=1");
}
@media (max-width: 599px) {
  html.no-avif .menu-contacts {
    background-image: url("../img/img-4.jpg?v=1");
  }
}
html.avif .menu-contacts {
  background-image: url("../img/img-3.avif?v=1");
}
@media (max-width: 599px) {
  html.avif .menu-contacts {
    background-image: url("../img/img-4.avif?v=1");
  }
}
.menu-contacts__top {
  padding: 32rem;
}
@media (max-width: 599px) {
  .menu-contacts__top {
    padding: 16rem;
    padding-right: 10rem;
  }
}
.menu-contacts__bottom {
  border-top: 1rem solid rgba(var(--color-white-rgb), 0.4);
  padding: 32rem;
}
@media (max-width: 599px) {
  .menu-contacts__bottom {
    padding: 16rem;
    padding-right: 10rem;
  }
}

.menu-contacts-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10rem;
}

.menu-contacts-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10rem;
}
@media (max-width: 599px) {
  .menu-contacts-info {
    gap: 0;
  }
}

.menu-contacts-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10rem;
}
@media (max-width: 599px) {
  .menu-contacts-bottom {
    align-items: flex-start;
  }
}

.footer-info {
  display: flex;
  flex-direction: column;
  gap: 24rem;
}
.footer-info__title {
  color: var(--color-2);
}

.footer-top {
  display: flex;
  align-items: flex-start;
  gap: 48rem;
}
@media (max-width: 1279px) {
  .footer-top {
    flex-direction: column;
  }
}
.footer-top__col-1 {
  width: 50%;
}
@media (max-width: 1279px) {
  .footer-top__col-1 {
    width: 40%;
  }
}
@media (max-width: 599px) {
  .footer-top__col-1 {
    width: 100%;
  }
}
.footer-top__info {
  max-width: 300rem;
}
.footer-top__col-2 {
  margin-left: -22rem;
}
@media (max-width: 599px) {
  .footer-top__col-2 {
    margin-left: 0;
  }
}
.footer-top__col-3 {
  margin-left: auto;
}
@media (max-width: 599px) {
  .footer-top__col-3 {
    margin-left: 0;
  }
}

.footer-nav {
  display: flex;
  flex-direction: column;
  gap: 22rem;
}
.footer-nav__title {
  padding-left: 22rem;
  color: var(--color-2);
}
.footer-nav__list {
  display: flex;
  flex-direction: column;
  gap: 10rem;
}

.footer-contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15rem;
}
.footer-contacts__title {
  color: var(--color-2);
}

.footer-bottom {
  display: flex;
  align-items: flex-end;
  gap: 56rem;
}
@media (max-width: 599px) {
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 14rem;
  }
}
.footer-bottom__col-1 {
  width: 50%;
}
@media (max-width: 1279px) {
  .footer-bottom__col-1 {
    width: 40%;
  }
}
@media (max-width: 599px) {
  .footer-bottom__col-1 {
    order: 1;
    margin-top: 66rem;
    width: 100%;
  }
}
.footer-bottom__col-3 {
  margin-left: auto;
}
@media (max-width: 599px) {
  .footer-bottom__col-3 {
    margin-left: 57rem;
  }
}

.footer-legal {
  display: flex;
  align-items: center;
  gap: 24rem;
}
.footer-legal__copyright {
  color: var(--color-4);
}

.footer-developer {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.footer-developer__text {
  opacity: 0.3;
}

.form-item {
  position: relative;
  border: 1rem solid transparent;
  transition: border-color var(--duration-3) var(--ease-out-bounce);
  border-left-width: 0;
  border-right-width: 0;
  border-top-width: 1rem;
  border-bottom-width: 1rem;
  border-color: var(--color-gray);
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .form-item:hover {
    z-index: 1;
    border-color: var(--color-black);
  }
}
.form-item.is-focused, .form-item.is-filled {
  border-color: var(--color-black);
}
.form-item__label {
  position: absolute;
  top: 50%;
  left: 0;
  opacity: 0.5;
  transform: translateY(-50%) translateZ(0);
  text-transform: uppercase;
  pointer-events: none;
  transition: top var(--duration-3) var(--ease-out-power3), transform var(--duration-3) var(--ease-out-power3);
  transform-origin: left top;
}
.form-item.is-focused .form-item__label, .form-item.is-filled .form-item__label {
  top: 24rem;
  transform: translateY(0) scale(0.9) translateZ(0);
}
@media (max-width: 599px) {
  .form-item.is-focused .form-item__label, .form-item.is-filled .form-item__label {
    top: 12rem;
  }
}
.form-item .error {
  position: absolute;
  bottom: 24rem;
  left: 0;
  font-size: 12rem;
  color: red;
  pointer-events: none;
}
@media (max-width: 599px) {
  .form-item .error {
    bottom: 12rem;
    font-size: 10rem;
  }
}

.main-about-card {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  border-radius: 8rem;
  background: var(--color-black);
  min-height: 563rem;
  width: 100%;
  overflow: hidden;
  padding: 25rem;
  color: var(--color-white);
  text-align: center;
}
@media (max-width: 599px) {
  .main-about-card {
    min-height: 211rem;
    padding: 20rem;
  }
}
.main-about-card__image {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.main-about-card__img {
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform var(--duration-3) var(--ease-out-power3);
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.main-about-card:hover .main-about-card__img {
  transform: scale(1.05) translateZ(0);
}
.main-about-card__title {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6rem;
  margin: auto;
  margin-bottom: 65rem;
  background: var(--color-red);
  padding: 64rem 36rem;
  text-align: center;
}
@media (max-width: 599px) {
  .main-about-card__title {
    margin-bottom: 20rem;
    padding: 19rem 22rem;
  }
}
.main-about-card__text {
  min-height: 70rem;
  max-width: 420rem;
}
@media (max-width: 599px) {
  .main-about-card__text {
    min-height: 40rem;
    max-width: 242rem;
  }
}
.main-about-card__text:not(:last-child) {
  margin-bottom: 20rem;
}
@media (max-width: 599px) {
  .main-about-card__text:not(:last-child) {
    margin-bottom: 16rem;
  }
}
.main-about-card__tag {
  border-radius: 32rem;
  background: rgba(var(--color-1-rgb), 0.1);
  padding: 8rem 20rem;
}

.main-numbers-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 8rem;
  background: rgba(var(--color-white-rgb), 0.1);
  min-height: 461rem;
  width: 100%;
  padding: 16rem;
  color: var(--color-white);
  backdrop-filter: blur(10px);
  gap: 30rem;
}
@media (max-width: 599px) {
  .main-numbers-card {
    border-radius: 4rem;
    min-height: 140rem;
    gap: 8rem;
  }
}
.main-numbers-card--red {
  background: var(--color-red);
}
.main-numbers-card__text {
  max-width: 200rem;
}

.materials-top {
  position: relative;
  min-height: 100%;
  width: 100%;
  padding-top: 16rem !important;
  padding-bottom: 16rem !important;
}
@media (max-width: 599px) {
  .materials-top {
    min-height: auto;
    padding-top: 12rem !important;
    padding-bottom: 50rem !important;
  }
}
.materials-top__top {
  display: flex;
  overflow: hidden;
}
@media (max-width: 599px) {
  .materials-top__top:not(:last-child) {
    margin-bottom: 50rem;
  }
}
.materials-top__item {
  position: relative;
  height: 217rem;
  width: 50%;
}
@media (max-width: 599px) {
  .materials-top__item {
    height: 76rem;
  }
}
.materials-top__item:nth-child(2n) {
  margin-left: -1rem;
}
.materials-top__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.materials-top__line {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  transition: stroke-dashoffset var(--duration-6) var(--ease-in-out-power3);
  fill: none;
  stroke-width: 1;
  stroke: var(--color-9);
  stroke-dashoffset: 1123.7827148438;
  stroke-dasharray: 1123.7827148438;
}
.materials-top__item[data-reveal].is-visible .materials-top__line {
  stroke-dashoffset: 0;
}
.materials-top__item:nth-child(2n) .materials-top__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
  margin-left: -1rem;
}
.materials-top__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
@media (max-width: 599px) {
  .materials-top__content {
    position: static;
    transform: none;
    flex-direction: column;
  }
}
.materials-top__left {
  margin-right: 0.11em;
  will-change: transform;
  backface-visibility: hidden;
}
@media (max-width: 599px) {
  .materials-top__left {
    margin-right: 0;
  }
}
.materials-top__right {
  margin-left: 0.11em;
  will-change: transform;
  backface-visibility: hidden;
}
@media (max-width: 599px) {
  .materials-top__right {
    margin-left: 0;
  }
}
.materials-top__pic {
  overflow: hidden;
  will-change: transform;
  backface-visibility: hidden;
}
.materials-top__img {
  border-radius: 16rem;
  margin: 0 40rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  height: 449rem;
  width: 886rem;
  overflow: hidden;
}
@media (max-width: 1279px) {
  .materials-top__img {
    margin: 0 20rem;
    height: 224.5rem;
    width: 443rem;
  }
}
@media (max-width: 599px) {
  .materials-top__img {
    border-radius: 8rem;
    margin: 32rem 0;
    height: 169rem;
    width: 334rem;
  }
}
html.no-avif .materials-top__img {
  background-image: url("../img/img-19.png?v=3");
}
html.avif .materials-top__img {
  background-image: url("../img/img-19.avif?v=3");
}

.materials-bottom {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100%;
  width: 100%;
}
@media (max-width: 599px) {
  .materials-bottom {
    min-height: auto;
    padding-top: 294rem !important;
    padding-bottom: 291rem !important;
  }
}
.materials-bottom__images {
  position: absolute;
  top: 0;
  left: 0;
  perspective: 100vh;
  perspective: 100svh;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 599px) {
  .materials-bottom__images {
    perspective: none;
  }
}
.materials-bottom__item {
  position: absolute;
  top: 50%;
  left: 50%;
  will-change: transform;
  backface-visibility: hidden;
}
@media (max-width: 599px) {
  .materials-bottom__item {
    display: none;
  }
}
.materials-bottom__item--1 {
  transform: translate3d(-50%, -50%, 1620rem) translate3d(-921rem, -203rem, 0);
  height: 175rem;
  width: 178rem;
}
.materials--bottom .materials-bottom__item--1 {
  transform: translate3d(-50%, -50%, 0) translate3d(-921rem, -203rem, 0);
}
.materials-bottom__item--2 {
  z-index: 1;
  transform: translate3d(-50%, -50%, 810rem) translate3d(-312rem, -308rem, 0);
  height: 125rem;
  width: 178rem;
}
@media (max-width: 599px) {
  .materials-bottom__item--2 {
    transform: translate3d(-50%, -50%, 0) translate3d(-112rem, -180rem, 0);
    display: block;
    height: 77rem;
    width: 108rem;
  }
}
.materials--bottom .materials-bottom__item--2 {
  z-index: 1;
  transform: translate3d(-50%, -50%, 0) translate3d(-312rem, -308rem, 0);
}
@media (max-width: 599px) {
  .materials--bottom .materials-bottom__item--2 {
    transform: translate3d(-50%, -50%, 0) translate3d(-112rem, -180rem, 0);
  }
}
.materials-bottom__item--3 {
  transform: translate3d(-50%, -50%, 2430rem) translate3d(-152rem, -382rem, 0);
  height: 193rem;
  width: 240rem;
}
@media (max-width: 599px) {
  .materials-bottom__item--3 {
    transform: translate3d(-50%, -50%, 0) translate3d(0, -224rem, 0);
    display: block;
    height: 115rem;
    width: 150rem;
  }
}
.materials--bottom .materials-bottom__item--3 {
  transform: translate3d(-50%, -50%, 0) translate3d(-152rem, -382rem, 0);
}
@media (max-width: 599px) {
  .materials--bottom .materials-bottom__item--3 {
    transform: translate3d(-50%, -50%, 0) translate3d(0, -224rem, 0);
  }
}
.materials-bottom__item--4 {
  transform: translate3d(-50%, -50%, 810rem) translate3d(290rem, -325rem, 0);
  height: 191rem;
  width: 165rem;
}
.materials--bottom .materials-bottom__item--4 {
  transform: translate3d(-50%, -50%, 0) translate3d(290rem, -325rem, 0);
}
.materials-bottom__item--5 {
  transform: translate3d(-50%, -50%, 810rem) translate3d(863rem, -448rem, 0);
  height: 77rem;
  width: 113rem;
}
.materials--bottom .materials-bottom__item--5 {
  transform: translate3d(-50%, -50%, 0) translate3d(863rem, -448rem, 0);
}
.materials-bottom__item--6 {
  transform: translate3d(-50%, -50%, 2430rem) translate3d(732rem, -118rem, 0);
  height: 237rem;
  width: 294rem;
}
.materials--bottom .materials-bottom__item--6 {
  transform: translate3d(-50%, -50%, 0) translate3d(732rem, -118rem, 0);
}
.materials-bottom__item--7 {
  transform: translate3d(-50%, -50%, 810rem) translate3d(965rem, 86rem, 0);
  height: 101rem;
  width: 103rem;
}
.materials--bottom .materials-bottom__item--7 {
  transform: translate3d(-50%, -50%, 0) translate3d(965rem, 86rem, 0);
}
.materials-bottom__item--8 {
  transform: translate3d(-50%, -50%, 1620rem) translate3d(528rem, 303rem, 0);
  height: 206rem;
  width: 289rem;
}
.materials--bottom .materials-bottom__item--8 {
  transform: translate3d(-50%, -50%, 0) translate3d(528rem, 303rem, 0);
}
.materials-bottom__item--9 {
  transform: translate3d(-50%, -50%, 1215rem) translate3d(146rem, 388rem, 0);
  height: 125rem;
  width: 175rem;
}
.materials--bottom .materials-bottom__item--9 {
  transform: translate3d(-50%, -50%, 0) translate3d(146rem, 388rem, 0);
}
.materials-bottom__item--10 {
  transform: translate3d(-50%, -50%, 810rem) translate3d(-362rem, 178rem, 0);
  height: 66rem;
  width: 118rem;
}
@media (max-width: 599px) {
  .materials-bottom__item--10 {
    transform: translate3d(-50%, -50%, 0) translate3d(130rem, 164rem, 0);
    display: block;
    height: 62rem;
    width: 83rem;
  }
}
.materials--bottom .materials-bottom__item--10 {
  transform: translate3d(-50%, -50%, 0) translate3d(-362rem, 178rem, 0);
}
@media (max-width: 599px) {
  .materials--bottom .materials-bottom__item--10 {
    transform: translate3d(-50%, -50%, 0) translate3d(130rem, 164rem, 0);
  }
}
.materials-bottom__item--11 {
  z-index: 1;
  transform: translate3d(-50%, -50%, 1620rem) translate3d(-557rem, 248rem, 0);
  height: 176rem;
  width: 218rem;
}
@media (max-width: 599px) {
  .materials-bottom__item--11 {
    transform: translate3d(-50%, -50%, 0) translate3d(-20rem, 224rem, 0);
    display: block;
    height: 123rem;
    width: 153rem;
  }
}
.materials--bottom .materials-bottom__item--11 {
  transform: translate3d(-50%, -50%, 0) translate3d(-557rem, 248rem, 0);
}
@media (max-width: 599px) {
  .materials--bottom .materials-bottom__item--11 {
    transform: translate3d(-50%, -50%, 0) translate3d(-20rem, 224rem, 0);
  }
}
.materials-bottom__item--12 {
  transform: translate3d(-50%, -50%, 810rem) translate3d(-760rem, 18rem, 0);
  height: 82rem;
  width: 111rem;
}
.materials--bottom .materials-bottom__item--12 {
  transform: translate3d(-50%, -50%, 0) translate3d(-760rem, 18rem, 0);
}
.materials-bottom__img {
  position: absolute;
  top: 0;
  left: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  will-change: transform;
  backface-visibility: hidden;
}
html.no-avif .materials-bottom__img--1 {
  background-image: url("../img/img-20.png?v=2");
}
html.avif .materials-bottom__img--1 {
  background-image: url("../img/img-20.avif?v=2");
}
html.no-avif .materials-bottom__img--2 {
  background-image: url("../img/img-21.png?v=2");
}
html.avif .materials-bottom__img--2 {
  background-image: url("../img/img-21.avif?v=2");
}
html.no-avif .materials-bottom__img--3 {
  background-image: url("../img/img-22.png?v=2");
}
html.avif .materials-bottom__img--3 {
  background-image: url("../img/img-22.avif?v=2");
}
html.no-avif .materials-bottom__img--4 {
  background-image: url("../img/img-23.png?v=2");
}
html.avif .materials-bottom__img--4 {
  background-image: url("../img/img-23.avif?v=2");
}
html.no-avif .materials-bottom__img--5 {
  background-image: url("../img/img-24.png?v=2");
}
html.avif .materials-bottom__img--5 {
  background-image: url("../img/img-24.avif?v=2");
}
html.no-avif .materials-bottom__img--6 {
  background-image: url("../img/img-25.png?v=2");
}
html.avif .materials-bottom__img--6 {
  background-image: url("../img/img-25.avif?v=2");
}
html.no-avif .materials-bottom__img--7 {
  background-image: url("../img/img-26.png?v=2");
}
html.avif .materials-bottom__img--7 {
  background-image: url("../img/img-26.avif?v=2");
}
html.no-avif .materials-bottom__img--8 {
  background-image: url("../img/img-27.png?v=2");
}
html.avif .materials-bottom__img--8 {
  background-image: url("../img/img-27.avif?v=2");
}
html.no-avif .materials-bottom__img--9 {
  background-image: url("../img/img-28.png?v=2");
}
html.avif .materials-bottom__img--9 {
  background-image: url("../img/img-28.avif?v=2");
}
html.no-avif .materials-bottom__img--10 {
  background-image: url("../img/img-30.png?v=2");
}
html.avif .materials-bottom__img--10 {
  background-image: url("../img/img-30.avif?v=2");
}
html.no-avif .materials-bottom__img--11 {
  background-image: url("../img/img-29.png?v=2");
}
html.avif .materials-bottom__img--11 {
  background-image: url("../img/img-29.avif?v=2");
}
html.no-avif .materials-bottom__img--12 {
  background-image: url("../img/img-31.png?v=2");
}
html.avif .materials-bottom__img--12 {
  background-image: url("../img/img-31.avif?v=2");
}
.materials-bottom__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 700rem;
  text-align: center;
  gap: 48rem;
}
@media (max-width: 599px) {
  .materials-bottom__content {
    gap: 32rem;
  }
}
.materials-bottom__title {
  visibility: hidden;
  opacity: 0;
  transform: translate3d(0, -5%, 0);
  will-change: opacity, transform;
  backface-visibility: hidden;
}
@media (max-width: 599px) {
  .materials-bottom__title {
    visibility: visible;
    opacity: 1;
    transform: none;
  }
}
.materials--bottom .materials-bottom__title {
  visibility: visible;
  opacity: 1;
  transform: none;
}
.materials-bottom__title .line-mask:nth-child(2) {
  opacity: 0;
}
@media (max-width: 599px) {
  .materials-bottom__title .line-mask:nth-child(2) {
    opacity: 1;
  }
}
.materials--bottom .materials-bottom__title .line-mask:nth-child(2) {
  opacity: 1;
}
.materials-bottom__btn {
  visibility: hidden;
  opacity: 0;
  will-change: opacity;
  backface-visibility: hidden;
}
@media (max-width: 599px) {
  .materials-bottom__btn {
    visibility: visible;
    opacity: 1;
  }
}
.materials--bottom .materials-bottom__btn {
  visibility: visible;
  opacity: 1;
}

.catalog-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  will-change: transform;
}
.catalog-card__image {
  position: relative;
  border-radius: 12rem;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 599px) {
  .catalog-card__image {
    border-radius: 4rem;
  }
}
.catalog-card__image:not(:last-child) {
  margin-bottom: 24rem;
}
@media (max-width: 599px) {
  .catalog-card__image:not(:last-child) {
    margin-bottom: 10rem;
  }
}
.catalog-card__image::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 120.83333333%;
}
@media (max-width: 599px) {
  .catalog-card__image::after {
    padding-bottom: 121.73913043%;
  }
}
.catalog-card__img {
  position: absolute;
  top: 0;
  left: 0;
  transform: scale3d(1.1, 1.1, 1) translate3d(0, -5%, 0);
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
  backface-visibility: hidden;
}
.catalog-card__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 68rem;
  gap: 14rem;
}
@media (max-width: 599px) {
  .catalog-card__content {
    height: 46rem;
    gap: 5rem;
  }
}

.services-detail-top {
  position: relative;
  min-height: 487rem;
}
@media (max-width: 1279px) {
  .services-detail-top {
    min-height: auto;
  }
}
.services-detail-top__title {
  max-width: 1040rem;
}
.services-detail-top__title:not(:last-child) {
  margin-bottom: 136rem;
}
@media (max-width: 1279px) {
  .services-detail-top__title:not(:last-child) {
    margin-bottom: 48rem;
  }
}
@media (max-width: 599px) {
  .services-detail-top__title:not(:last-child) {
    margin-bottom: 25rem;
  }
}
.services-detail-top__pic {
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 8rem;
  height: 487rem;
  width: 771rem;
  overflow: hidden;
}
@media (max-width: 1279px) {
  .services-detail-top__pic {
    position: relative;
    height: auto;
    width: 100%;
  }
}
@media (max-width: 1279px) {
  .services-detail-top__pic:not(:last-child) {
    margin-bottom: 48rem;
  }
}
@media (max-width: 599px) {
  .services-detail-top__pic:not(:last-child) {
    margin-bottom: 30rem;
  }
}
@media (max-width: 1279px) {
  .services-detail-top__pic::after {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 63.16472114%;
  }
}
@media (max-width: 599px) {
  .services-detail-top__pic::after {
    padding-bottom: 67.87878788%;
  }
}
.services-detail-top__img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.services-detail-top__text {
  position: relative;
  max-width: 770rem;
  padding-left: 157rem;
}
@media (max-width: 599px) {
  .services-detail-top__text {
    padding-left: 0;
  }
}
.services-detail-top__text::before {
  position: absolute;
  top: 13rem;
  left: 0;
  content: "";
  transform: scale3d(0, 1, 1);
  background: var(--color-gray);
  height: 1rem;
  width: 128rem;
  transition: transform var(--duration-6) var(--ease-in-out-power3);
  transform-origin: left;
  will-change: transform;
}
@media (max-width: 599px) {
  .services-detail-top__text::before {
    display: none;
  }
}
.services-detail-top__text[data-reveal].is-visible::before {
  transform: scale3d(1, 1, 1);
}
.services-detail-top__content {
  opacity: 0.6;
}

.services-detail-list__title:not(:last-child) {
  margin-bottom: 48rem;
}
@media (max-width: 599px) {
  .services-detail-list__title:not(:last-child) {
    margin-bottom: 32rem;
  }
}
.services-detail-list__content {
  position: relative;
}
.services-detail-list__top {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 599px) {
  .services-detail-list__top {
    display: none;
  }
}
.services-detail-list__top-item {
  position: relative;
  height: 100%;
  width: 50%;
}
.services-detail-list__top-item:nth-child(2n) {
  margin-left: -1rem;
}
.services-detail-list__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.services-detail-list__line {
  position: absolute;
  top: 0;
  right: 0;
  height: auto;
  width: 100%;
  transition: stroke-dashoffset calc(var(--duration-10) * 1.5) var(--ease-in-out-power3);
  fill: none;
  stroke-width: 1;
  stroke: var(--color-gray);
  stroke-dashoffset: 4023.7810058594;
  stroke-dasharray: 4023.7810058594;
}
.services-detail-list__top-item[data-reveal].is-visible .services-detail-list__line {
  stroke-dashoffset: 0;
}
.services-detail-list__top-item:nth-child(2n) .services-detail-list__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
  margin-left: -1rem;
}
.services-detail-list__list {
  display: flex;
  flex-wrap: wrap;
}
.services-detail-list__item {
  position: relative;
  width: 50%;
  padding-right: 48rem;
}
@media (max-width: 599px) {
  .services-detail-list__item {
    width: 100%;
    padding-right: 0;
  }
}
.services-detail-list__item::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  transform: scale3d(0, 1, 1);
  background: var(--color-gray);
  height: 1rem;
  width: calc(100% - 48rem);
  transition: transform var(--duration-6) var(--ease-in-out-power3);
  transform-origin: left;
  will-change: transform;
}
@media (max-width: 599px) {
  .services-detail-list__item::after {
    width: 100%;
  }
}
.services-detail-list__item[data-reveal].is-visible::after {
  transform: scale3d(1, 1, 1);
}
.services-detail-list__item:nth-child(2n) {
  padding-right: 0;
  padding-left: 48rem;
}
@media (max-width: 599px) {
  .services-detail-list__item:nth-child(2n) {
    padding-left: 0;
  }
}
.services-detail-list__item:nth-child(2n)::after {
  left: 48rem;
  transform-origin: right;
}
@media (max-width: 599px) {
  .services-detail-list__item:nth-child(2n)::after {
    left: 0;
    transform-origin: left;
  }
}
@media (max-width: 599px) {
  .services-detail-list__item:nth-child(1)::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    transform: scale3d(0, 1, 1);
    background: var(--color-gray);
    height: 1rem;
    width: 100%;
    transition: transform var(--duration-6) var(--ease-in-out-power3);
    transform-origin: left;
    will-change: transform;
  }
  .services-detail-list__item:nth-child(1)[data-reveal].is-visible::before {
    transform: scale3d(1, 1, 1);
  }
}

.services-detail-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 48rem 0;
  gap: 40rem 0;
}
@media (max-width: 599px) {
  .services-detail-card {
    padding: 32rem 0;
  }
}
.services-detail-card__title {
  max-width: 620rem;
}
.services-detail-card__text {
  opacity: 0.6;
  max-width: 620rem;
}

.news-filter {
  display: flex;
  align-items: center;
  gap: 6rem;
}

.news-list {
  display: flex;
  flex-direction: column;
  gap: 120rem;
}
.news-list__list {
  display: flex;
  flex-wrap: wrap;
  gap: 80rem 16rem;
}
@media (max-width: 599px) {
  .news-list__list {
    gap: 40rem 0;
  }
}
.news-list__item {
  --shift: 0;
  --progress: 1;
  width: calc(33.333% - 10.66666667rem);
}
@media (max-width: 1279px) {
  .news-list__item {
    width: calc(50% - 8rem);
  }
}
@media (max-width: 599px) {
  .news-list__item {
    width: 100%;
  }
}
.news-list__btn {
  margin-right: auto;
  margin-left: auto;
}

.subscribe-form {
  display: flex;
  align-items: flex-end;
  width: 100%;
  gap: 27rem;
}
@media (max-width: 599px) {
  .subscribe-form {
    flex-direction: column;
    align-items: stretch;
    gap: 50rem;
  }
}
.subscribe-form__left {
  flex: 1 1 100%;
}
.subscribe-form__left .subscribe-item .error {
  color: currentColor;
}
.subscribe-form__right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-shrink: 0;
  margin-left: auto;
  max-width: 242rem;
  gap: 24rem;
}
@media (max-width: 599px) {
  .subscribe-form__right {
    margin-left: 0;
  }
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .subscribe-form__right .btn:hover {
    color: var(--color-black);
  }
}
.subscribe-form__right .btn::after {
  background: var(--color-white);
}

.subscribe-item {
  position: relative;
  display: flex;
  flex-direction: column;
}
.subscribe-item::after {
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  opacity: 0.4;
  background: currentColor;
  height: 1rem;
  width: 100%;
  transition: opacity var(--duration-3) var(--ease-out-bounce);
}
.subscribe-item.is-focused .subscribe-item::after, .subscribe-item.is-filled .subscribe-item::after {
  opacity: 1;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .subscribe-item:hover::after {
    opacity: 1;
  }
}
.subscribe-item__label {
  text-transform: uppercase;
}
.subscribe-item .error {
  position: absolute;
  top: calc(100% + 12rem);
  left: 0;
  font-size: 12rem;
  color: red;
  pointer-events: none;
}
@media (max-width: 599px) {
  .subscribe-item .error {
    top: calc(100% + 6rem);
    bottom: 12rem;
    font-size: 10rem;
  }
}

.detail-info {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 35rem;
}
@media (max-width: 599px) {
  .detail-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 14rem;
  }
}
.detail-info__date {
  color: var(--color-red);
}
.detail-info__tags {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.contacts-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 32rem;
  padding-bottom: 0;
  gap: 32rem;
}
@media (max-width: 1279px) {
  .contacts-item {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (max-width: 599px) {
  .contacts-item {
    padding: 25rem 0;
    gap: 70rem;
  }
}
.contacts-item__label {
  opacity: 0.5;
  text-transform: uppercase;
}

.preloader {
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  backface-visibility: hidden;
  background-color: var(--color-black);
  height: 100%;
  width: 100vw;
  color: var(--color-19);
  will-change: opacity;
}
.preloader__content {
  position: absolute;
  top: 50%;
  left: 50%;
  backface-visibility: hidden;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28rem;
}
.preloader__icon {
  backface-visibility: hidden;
  display: block;
  height: auto;
  width: 96rem;
  fill: none;
}
.preloader__fill {
  backface-visibility: hidden;
  transform: translate3d(0, -100%, 0);
  stroke: currentColor;
  stroke-width: 18;
  will-change: transform;
}
.preloader__line {
  backface-visibility: hidden;
  stroke: currentColor;
  stroke-width: 18;
  stroke-dashoffset: 598.4164428711;
  stroke-dasharray: 598.4164428711;
}
.preloader__text {
  backface-visibility: hidden;
  opacity: 0;
  display: block;
  height: auto;
  width: 103rem;
  will-change: opacity;
  fill: currentColor;
}

.wrapper {
  width: 100%;
  padding-right: 24rem;
  padding-left: 24rem;
}
@media (max-width: 599px) {
  .wrapper {
    padding-right: 14rem;
    padding-left: 14rem;
  }
}

.header {
  z-index: 5;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: var(--header-height);
  width: 100%;
  transition: color var(--duration-3) var(--ease-out-bounce);
  gap: 14rem;
}
html.is-header-light .header {
  color: var(--color-white);
}
html.lenis-stopped .header {
  width: calc(100% - var(--scrollbar));
}
.header[data-reveal] .header__logo {
  opacity: 0;
}
.header[data-reveal].is-visible .header__logo {
  animation: headerFadeIn var(--duration-6) var(--ease-in-out-power3) forwards;
}
.preloader ~ .header[data-reveal].is-visible .header__logo {
  animation: none;
}
.header[data-reveal] .header__burger .header-burger__text, .header[data-reveal] .header__burger .header-burger__bg, .header[data-reveal] .header__burger .header-burger__icon {
  opacity: 0;
}
.header[data-reveal].is-visible .header__burger .header-burger__text, .header[data-reveal].is-visible .header__burger .header-burger__bg, .header[data-reveal].is-visible .header__burger .header-burger__icon {
  animation: headerFadeIn var(--duration-6) var(--ease-in-out-power3) forwards;
}
.preloader ~ .header[data-reveal].is-visible .header__burger .header-burger__text, .preloader ~ .header[data-reveal].is-visible .header__burger .header-burger__bg, .preloader ~ .header[data-reveal].is-visible .header__burger .header-burger__icon {
  animation: none;
}
html.is-header-light .header__burger {
  color: rgba(var(--color-white-rgb), 0.7);
}
html.is-header-light .header__burger .header-burger__bg {
  background: rgba(var(--color-1-rgb), 0.1);
}

.menu {
  z-index: 6;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  display: flex;
  flex-direction: column;
  background: rgba(var(--color-black-rgb), 0.1);
  height: 100%;
  width: 100%;
  padding-top: 24rem !important;
  padding-bottom: 24rem !important;
  pointer-events: none;
  transition: opacity var(--duration-2) var(--ease-out-power3);
  transition-delay: var(--duration-9);
  will-change: opacity;
}
html.is-menu-active .menu {
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}
html.lenis-stopped .menu {
  width: calc(100% - var(--scrollbar));
}
@media (max-width: 599px) {
  .menu {
    padding-top: 14rem !important;
    padding-bottom: 14rem !important;
  }
}
.menu__content {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 12rem;
  margin-left: auto;
  max-width: 928rem;
  width: 100%;
  overflow: hidden;
  flex: 1 1 auto;
}
@media (max-width: 1279px) {
  .menu__content {
    border-radius: 6rem;
    max-width: none;
  }
}
.menu__content::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  transform: scale3d(0, 0, 1);
  border-radius: inherit;
  background: var(--color-white);
  height: 100%;
  width: 100%;
  overflow: hidden;
  transition: transform var(--duration-6) var(--ease-in-out-power3);
  transition-delay: var(--duration-3);
  transform-origin: right top;
  will-change: transform;
}
@media (max-width: 599px) {
  .menu__content::before {
    border-radius: 6rem;
  }
}
html.is-menu-active .menu__content::before {
  transform: scale3d(1, 1, 1);
  transition-delay: 0s;
}
.menu__close {
  z-index: 1;
  position: absolute;
  top: 24rem;
  right: 24rem;
}
@media (max-width: 599px) {
  .menu__close {
    top: 16rem;
    right: 16rem;
  }
}
.menu__inner {
  position: relative;
  opacity: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 20rem;
  padding-top: 28rem;
  transition: opacity var(--duration-4) var(--ease-in-out-power3);
  transition-delay: 0s;
  flex: 1 1 auto;
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
  gap: 48rem;
  will-change: opacity;
}
html.is-menu-active .menu__inner {
  opacity: 1;
  transition-duration: var(--duration-6);
  transition-delay: var(--duration-4);
}
@media (max-width: 599px) {
  .menu__inner {
    border-radius: 6rem;
    padding: 10rem;
    padding-top: 32rem;
    gap: 24rem;
  }
}
.menu__nav {
  padding-right: 60rem;
  padding-left: 18rem;
}
@media (max-width: 599px) {
  .menu__nav {
    padding-right: 0;
    padding-left: 0;
  }
}

.main {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  flex: 1 1 auto;
}

.footer {
  overflow: hidden;
  color: var(--color-white);
}
.footer__wrapper {
  transform: translate3d(0, -100%, 0);
  display: flex;
  flex-direction: column;
  background: var(--color-black);
  background-position: 50% 100%;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 47rem;
  padding-bottom: 19rem;
  gap: 229rem;
  will-change: transform;
  backface-visibility: hidden;
}
@media (max-width: 599px) {
  .footer__wrapper {
    padding-top: 24rem;
    padding-bottom: 17rem;
    gap: 56rem;
  }
}
html.no-avif .footer__wrapper {
  background-image: url("../img/img-1.jpg?v=1");
}
@media (max-width: 599px) {
  html.no-avif .footer__wrapper {
    background-image: url("../img/img-2.jpg?v=1");
  }
}
html.avif .footer__wrapper {
  background-image: url("../img/img-1.avif?v=1");
}
@media (max-width: 599px) {
  html.avif .footer__wrapper {
    background-image: url("../img/img-2.avif?v=1");
  }
}

.breadcrumbs {
  display: flex;
  padding-top: calc(var(--header-height) + 28rem);
  padding-bottom: 30rem;
}
@media (max-width: 599px) {
  .breadcrumbs {
    padding-top: calc(var(--header-height) + 36rem);
    padding-bottom: 18rem;
  }
}
.breadcrumbs__wrapper {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.breadcrumbs__wrapper::-webkit-scrollbar {
  display: none;
}
.breadcrumbs__list {
  display: flex;
  flex-shrink: 0;
}
.breadcrumbs__item {
  flex-shrink: 0;
  color: rgba(var(--color-black-rgb), 0.5);
}
.breadcrumbs__item:last-child {
  color: var(--color-black-rgb);
  pointer-events: none;
}
.breadcrumbs__item:not(:last-child) {
  display: inline-flex;
  align-items: center;
}
.breadcrumbs__item:not(:last-child)::after {
  content: "-";
  margin-right: 13rem;
  margin-left: 13rem;
}
@media (max-width: 599px) {
  .breadcrumbs__item:not(:last-child)::after {
    margin-right: 10rem;
    margin-left: 10rem;
  }
}

.page-title {
  padding-top: 30rem;
  padding-bottom: 30rem;
}
@media (max-width: 599px) {
  .page-title {
    padding-top: 18rem;
    padding-bottom: 12.5rem;
  }
}

.form {
  padding-top: 125rem !important;
  padding-bottom: 100rem !important;
}
@media (max-width: 599px) {
  .form {
    padding-top: 50rem !important;
    padding-bottom: 50rem !important;
  }
}
.form:last-child {
  padding-bottom: 180rem !important;
}
@media (max-width: 599px) {
  .form:last-child {
    padding-bottom: 130rem !important;
  }
}
.contacts + .form {
  padding-top: 77rem !important;
}
@media (max-width: 599px) {
  .contacts + .form {
    padding-top: 50rem !important;
  }
}
@media (max-width: 599px) {
  .form__header {
    max-width: 260rem;
  }
}
.form__header:not(:last-child) {
  margin-bottom: 80rem;
}
@media (max-width: 599px) {
  .form__header:not(:last-child) {
    margin-bottom: 56rem;
  }
}
.form__body {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1rem solid var(--color-gray);
}
.form__body:not(:last-child) {
  margin-bottom: 60rem;
}
@media (max-width: 599px) {
  .form__body:not(:last-child) {
    margin-bottom: 70rem;
  }
}
.form__item {
  width: 50%;
}
@media (max-width: 599px) {
  .form__item {
    width: 100%;
  }
}
.form__item:not(.form__item--wide):nth-child(2n-1) {
  border-right-width: 1rem;
}
@media (max-width: 599px) {
  .form__item:not(.form__item--wide):nth-child(2n-1) {
    border-right-width: 0;
  }
}
.form__item:not(.form__item--wide):nth-child(2n) {
  border-left-width: 1rem;
}
@media (max-width: 599px) {
  .form__item:not(.form__item--wide):nth-child(2n) {
    margin-left: 0;
    border-left-width: 0;
  }
}
.form__item:not(.form__item--wide):nth-child(2n) .form-item__label {
  left: 58rem;
}
@media (max-width: 599px) {
  .form__item:not(.form__item--wide):nth-child(2n) .form-item__label {
    left: 0;
  }
}
.form__item:not(.form__item--wide):nth-child(2n) .form-input,
.form__item:not(.form__item--wide):nth-child(2n) .form-textarea {
  padding-left: 58rem;
}
@media (max-width: 599px) {
  .form__item:not(.form__item--wide):nth-child(2n) .form-input,
  .form__item:not(.form__item--wide):nth-child(2n) .form-textarea {
    padding-left: 0;
  }
}
.form__item:not(.form__item--wide):nth-child(2n) .error {
  left: 58rem;
}
@media (max-width: 599px) {
  .form__item:not(.form__item--wide):nth-child(2n) .error {
    left: 0;
  }
}
.form__item--wide {
  width: 100%;
}
.form__footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  max-width: 242rem;
  gap: 24rem;
}

.popup-form {
  z-index: 7;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  display: flex;
  flex-direction: column;
  background: rgba(var(--color-black-rgb), 0.1);
  height: 100%;
  width: 100%;
  pointer-events: none;
  transition: opacity var(--duration-2) var(--ease-out-power3);
  transition-delay: var(--duration-6);
  will-change: opacity;
}
html.is-popup-form-active .popup-form {
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}
html.lenis-stopped .popup-form {
  width: calc(100% - var(--scrollbar));
}
.popup-form__content {
  position: relative;
  transform: translate3d(0, -100%, 0);
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  transition: transform var(--duration-6) var(--ease-in-out-power3);
  overscroll-behavior: none;
  will-change: transform;
  -webkit-overflow-scrolling: touch;
}
html.is-popup-form-active .popup-form__content {
  transform: translate3d(0, 0, 0);
}
.popup-form__close {
  z-index: 1;
  position: absolute;
  top: 52rem;
  right: 52rem;
}
@media (max-width: 599px) {
  .popup-form__close {
    top: 17rem;
    right: 17rem;
  }
}
.popup-form .form {
  padding-top: 80rem !important;
  padding-bottom: 80rem !important;
}
@media (max-width: 599px) {
  .popup-form .form {
    padding-top: 50rem !important;
    padding-bottom: 50rem !important;
  }
}
.popup-form .form__header br {
  display: none;
}

.main-hero {
  z-index: 1;
  position: relative;
  background: var(--color-8);
  background-position: 50% 100%;
  min-height: 100vh;
  overflow: hidden;
  color: var(--color-white);
}
.main-hero__bg {
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  transform: scale3d(1.1, 1.1, 1);
  background-position: 50% 100%;
  background-size: cover;
  background-repeat: no-repeat;
  height: 73.56%;
  width: 100%;
}
html.no-avif .main-hero__bg {
  background-image: url("../img/img-66.png?v=1");
}
html.avif .main-hero__bg {
  background-image: url("../img/img-66.avif?v=1");
}
.main-hero__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
  padding-top: 14rem !important;
  padding-bottom: 42rem !important;
}
@media (max-width: 599px) {
  .main-hero__inner {
    padding-bottom: 14rem !important;
  }
}
.main-hero__canvas-wrapper {
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 630rem;
  width: 630rem;
}
@media (max-width: 599px) {
  .main-hero__canvas-wrapper {
    height: 340rem;
    width: 340rem;
    transform: translate(-50%, -60%);
  }
}
.main-hero__blur-wrapper {
  position: absolute;
  top: -50rem;
  left: 50%;
  opacity: 0;
  transform: translateX(-50%);
}
@media (max-width: 599px) {
  .main-hero__blur-wrapper {
    top: -30rem;
  }
}
.main-hero__blur {
  background-position: 50% 50%;
  background-size: contain;
  background-repeat: no-repeat;
  height: 488rem;
  width: 910rem;
  will-change: transform;
}
@media (max-width: 599px) {
  .main-hero__blur {
    height: 292.8rem;
    width: 546rem;
  }
}
html.no-avif .main-hero__blur {
  background-image: url("../img/img-67.png?v=1");
}
html.avif .main-hero__blur {
  background-image: url("../img/img-67.avif?v=1");
}
.main-hero__canvas {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: translate3d(0, 16rem, 0);
  height: 100%;
  width: 100%;
  pointer-events: none;
}
.main-hero__canvas canvas {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.main-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1 1 auto;
  gap: 24rem;
}
.main-hero__top {
  z-index: -1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 22rem;
}
@media (max-width: 599px) {
  .main-hero__top {
    gap: 16rem;
  }
}
.main-hero__logo-wrapper {
  position: relative;
  height: 334rem;
  width: 100%;
  overflow: clip;
}
@media (max-width: 1279px) {
  .main-hero__logo-wrapper {
    height: 184rem;
  }
}
@media (max-width: 599px) {
  .main-hero__logo-wrapper {
    height: 58rem;
  }
}
.main-hero__logo {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  background-image: url("../img/img-65.svg?v=1");
  background-position: 50% 50%;
  background-size: contain;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  will-change: transform, opacity;
}
.main-hero__logo:not(:last-child) {
  margin-bottom: 4rem;
}
.main-hero__text {
  opacity: 0;
  transform: translate3d(0, 16rem, 0);
  max-width: 300rem;
  color: var(--color-14);
  will-change: transform, opacity;
}
.main-hero__bottom {
  z-index: 3;
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 24rem;
}
@media (max-width: 1279px) {
  .main-hero__bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 12rem;
  }
}
.main-hero__info {
  display: flex;
  flex-direction: column;
  gap: 50rem;
}
@media (max-width: 599px) {
  .main-hero__info {
    gap: 24rem;
  }
}
.main-hero__title {
  opacity: 0;
  transform: translate3d(0, 16rem, 0);
  color: var(--color-15);
  will-change: transform, opacity;
}
.main-hero__copyright {
  opacity: 0;
  transform: translate3d(0, 16rem, 0);
  color: var(--color-16);
  will-change: transform, opacity;
}
.main-hero__scroll {
  opacity: 0;
  margin-top: 55rem;
  margin-left: auto;
}
@media (max-width: 599px) {
  .main-hero__scroll {
    margin-top: 0;
    margin-left: 0;
  }
}
.main-hero__scroll .btn-underline {
  opacity: 0.3;
}
@media (any-hover: hover), (hover: hover) and (pointer: fine) {
  .main-hero__scroll .btn-underline:hover {
    opacity: 1;
  }
}

.main-news {
  z-index: 1;
  position: relative;
  margin-top: -1px;
  background: var(--color-white);
  overflow: hidden;
  padding-top: 210rem !important;
  padding-bottom: 163rem !important;
}
@media (max-width: 599px) {
  .main-news {
    padding-top: 100rem !important;
    padding-bottom: 84rem !important;
  }
}
.main-news__top {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  max-width: 540rem;
  text-align: center;
  gap: 42rem;
}
@media (max-width: 599px) {
  .main-news__top {
    gap: 24rem;
  }
}
.main-news__top:not(:last-child) {
  margin-bottom: 50rem;
}
@media (max-width: 599px) {
  .main-news__top:not(:last-child) {
    margin-bottom: 40rem;
  }
}
.main-news__lines {
  z-index: -1;
  display: flex;
  height: 115rem;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 599px) {
  .main-news__lines {
    height: 76rem;
  }
}
.main-news__lines:not(:last-child) {
  margin-bottom: 14rem;
}
.main-news__item {
  position: relative;
  height: 217rem;
  width: 50%;
}
@media (max-width: 599px) {
  .main-news__item {
    height: 76rem;
  }
}
.main-news__item:nth-child(2n) {
  margin-left: -1rem;
}
.main-news__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.main-news__line {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  transition: stroke-dashoffset var(--duration-6) var(--ease-in-out-power3);
  fill: none;
  stroke-width: 1;
  stroke: var(--color-7);
  stroke-dashoffset: 1123.7827148438;
  stroke-dasharray: 1123.7827148438;
}
.main-news__item[data-reveal].is-visible .main-news__line {
  stroke-dashoffset: 0;
}
.main-news__item:nth-child(2n) .main-news__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
  margin-left: -1rem;
}
.main-news__btn {
  display: flex;
  justify-content: center;
  margin-top: 84rem;
}
@media (max-width: 599px) {
  .main-news__btn {
    margin-top: 48rem;
  }
}

.main-about {
  padding-top: 282rem !important;
}
@media (max-width: 599px) {
  .main-about {
    padding-top: 73rem !important;
  }
}
.main-about__top {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  max-width: 540rem;
  text-align: center;
  gap: 42rem;
}
@media (max-width: 599px) {
  .main-about__top {
    gap: 24rem;
  }
}
.main-about__top:not(:last-child) {
  margin-bottom: 34rem;
}
@media (max-width: 599px) {
  .main-about__top:not(:last-child) {
    margin-bottom: 24rem;
  }
}
.main-about__content {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: 330rem;
  padding-bottom: 25rem;
}
@media (max-width: 599px) {
  .main-about__content {
    padding-top: 172rem;
    padding-bottom: 32rem;
  }
}
.main-about__lines {
  z-index: -1;
  position: absolute;
  top: 16rem;
  left: 0;
  right: 0;
  display: flex;
  height: 191rem;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 599px) {
  .main-about__lines {
    height: 76rem;
  }
}
.main-about__item {
  position: relative;
  height: 217rem;
  width: 50%;
}
@media (max-width: 599px) {
  .main-about__item {
    height: 76rem;
  }
}
.main-about__item:nth-child(2n) {
  margin-left: -1rem;
}
.main-about__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.main-about__line {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  transition: stroke-dashoffset var(--duration-6) var(--ease-in-out-power3);
  fill: none;
  stroke-width: 1;
  stroke: var(--color-7);
  stroke-dashoffset: 1123.7827148438;
  stroke-dasharray: 1123.7827148438;
}
.main-about__item[data-reveal].is-visible .main-about__line {
  stroke-dashoffset: 0;
}
.main-about__item:nth-child(2n) .main-about__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
  margin-left: -1rem;
}
.main-about__marquee {
  z-index: -1;
  position: absolute;
  top: 144rem;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  margin-right: -24rem;
  margin-left: -24rem;
  width: calc(100% + 48rem);
  overflow: hidden;
  padding-right: 24rem;
  padding-left: 24rem;
}
@media (max-width: 599px) {
  .main-about__marquee {
    top: 100rem;
    margin-right: -14rem;
    margin-left: -14rem;
    width: calc(100% + 28rem);
    padding-right: 14rem;
    padding-left: 14rem;
  }
}
.main-about__marquee-item {
  flex-shrink: 0;
  padding-right: 0.3em;
  white-space: nowrap;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.main-about__list {
  display: flex;
  flex-direction: column;
  margin-right: auto;
  margin-left: auto;
  max-width: 886rem;
  width: 100%;
}
.main-about__card {
  z-index: 1;
  position: relative;
  padding: 8rem 0;
  transform-origin: top;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
@media (max-width: 599px) {
  .main-about__card {
    padding: 4rem;
  }
}
.main-about__btn {
  display: flex;
  justify-content: center;
  margin-top: 60rem;
}

.main-numbers {
  z-index: 2;
  position: relative;
  background-color: var(--color-18);
  padding-top: 80rem !important;
  padding-bottom: 768rem !important;
  color: var(--color-white);
}
@media (max-width: 1279px) {
  .main-numbers {
    padding-bottom: 409.6rem !important;
  }
}
@media (max-width: 599px) {
  .main-numbers {
    padding-top: 51rem !important;
    padding-bottom: 174rem !important;
  }
}
.main-numbers__bg {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  background-position: 50% 0%;
  background-size: cover;
  background-repeat: no-repeat;
  height: 1722rem;
  width: 100%;
  pointer-events: none;
}
@media (max-width: 599px) {
  .main-numbers__bg {
    height: 1289rem;
  }
}
html.no-avif .main-numbers__bg {
  background-image: url("../img/img-69.jpg?v=1");
}
@media (max-width: 599px) {
  html.no-avif .main-numbers__bg {
    background-image: url("../img/img-70.jpg?v=1");
  }
}
html.avif .main-numbers__bg {
  background-image: url("../img/img-69.avif?v=1");
}
@media (max-width: 599px) {
  html.avif .main-numbers__bg {
    background-image: url("../img/img-70.avif?v=1");
  }
}
.main-numbers__canvas-wrapper {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  height: 100svh;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.main-numbers__canvas {
  position: absolute;
  top: 336rem;
  left: 50%;
  transform: translateX(-50%);
  height: 630rem;
  width: 630rem;
}
@media (max-width: 599px) {
  .main-numbers__canvas {
    top: 131rem;
    height: 330rem;
    width: 330rem;
  }
}
.main-numbers__canvas canvas {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.main-numbers__top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 390rem;
  gap: 42rem;
}
@media (max-width: 599px) {
  .main-numbers__top {
    align-items: center;
    gap: 24rem;
    text-align: center;
  }
}
.main-numbers__top:not(:last-child) {
  margin-bottom: 156rem;
}
@media (max-width: 1279px) {
  .main-numbers__top:not(:last-child) {
    margin-bottom: 800rem;
  }
}
@media (max-width: 599px) {
  .main-numbers__top:not(:last-child) {
    margin-bottom: 217rem;
  }
}
.main-numbers__top .tag {
  background-color: rgba(var(--color-white-rgb), 0.2);
}
.main-numbers__list {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0 24rem;
}
@media (max-width: 1279px) {
  .main-numbers__list {
    gap: 24rem;
  }
}
@media (max-width: 599px) {
  .main-numbers__list {
    gap: 12rem 0;
  }
}
.main-numbers__list:not(:last-child) {
  margin-bottom: 150rem;
}
@media (max-width: 599px) {
  .main-numbers__list:not(:last-child) {
    margin-bottom: 100rem;
  }
}
.main-numbers__item {
  width: calc(20% - 19.2rem);
}
@media (max-width: 1279px) {
  .main-numbers__item {
    width: calc(50% - 12rem);
  }
}
@media (max-width: 599px) {
  .main-numbers__item {
    width: 100%;
  }
}
.main-numbers__item:nth-child(4n+2) {
  margin-top: 245rem;
}
@media (max-width: 1279px) {
  .main-numbers__item:nth-child(4n+2) {
    margin-top: 0;
  }
}
.main-numbers__item:nth-child(4n+3) {
  margin-top: 378rem;
  margin-left: auto;
}
@media (max-width: 1279px) {
  .main-numbers__item:nth-child(4n+3) {
    margin-top: 0;
    margin-left: 0;
  }
}
.main-numbers__main {
  margin-right: auto;
  margin-left: auto;
  width: calc(20% - 19.2rem);
}
@media (max-width: 1279px) {
  .main-numbers__main {
    width: calc(50% - 12rem);
  }
}
@media (max-width: 599px) {
  .main-numbers__main {
    min-height: 264rem;
    max-width: 210rem;
    width: 100%;
    gap: 18rem;
  }
}
.main-numbers__mask {
  position: absolute;
  bottom: -1px;
  left: 0;
  background-color: var(--color-white);
  height: 768rem;
  width: 100%;
  pointer-events: none;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
@media (max-width: 1279px) {
  .main-numbers__mask {
    height: 409.6rem;
  }
}
@media (max-width: 599px) {
  .main-numbers__mask {
    height: 144rem;
  }
}
.main-numbers__track-wrapper {
  position: absolute;
  bottom: -1076rem;
  right: 0;
  height: 3228rem;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 1279px) {
  .main-numbers__track-wrapper {
    bottom: -430.4rem;
    height: 1291.2rem;
  }
}
@media (max-width: 599px) {
  .main-numbers__track-wrapper {
    bottom: -268rem;
    height: 804rem;
  }
}
.main-numbers__track {
  z-index: 1;
  position: absolute;
  top: 1216rem;
  right: 0;
  transform: translate3d(33%, -24.75%, 0);
  height: 1076rem;
  width: 2005rem;
  pointer-events: none;
  transform-origin: top right;
  will-change: transform;
}
@media (max-width: 1279px) {
  .main-numbers__track {
    top: 304rem;
    height: 807rem;
    width: 1503.75rem;
  }
}
@media (max-width: 599px) {
  .main-numbers__track {
    top: 342rem;
    height: 268rem;
    width: 475rem;
  }
}
.main-numbers__track-canvas {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.main-numbers__track-canvas canvas {
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.cta {
  z-index: 1;
  position: relative;
  background: var(--color-white);
  overflow: hidden;
  padding-top: 323rem !important;
  padding-bottom: 172rem !important;
}
@media (max-width: 599px) {
  .cta {
    padding-top: 180rem !important;
    padding-bottom: 100rem !important;
  }
}
.cta__lines {
  z-index: -1;
  position: absolute;
  top: 16rem;
  left: 24rem;
  right: 24rem;
  display: flex;
  height: 167rem;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 599px) {
  .cta__lines {
    left: 14rem;
    right: 14rem;
    height: 76rem;
  }
}
.cta__item {
  position: relative;
  height: 217rem;
  width: 50%;
}
@media (max-width: 599px) {
  .cta__item {
    height: 76rem;
  }
}
.cta__item:nth-child(2n) {
  margin-left: -1rem;
}
.cta__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.cta__line {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  transition: stroke-dashoffset var(--duration-6) var(--ease-in-out-power3);
  fill: none;
  stroke-width: 1;
  stroke: var(--color-7);
  stroke-dashoffset: 1123.7827148438;
  stroke-dasharray: 1123.7827148438;
}
.cta__item[data-reveal].is-visible .cta__line {
  stroke-dashoffset: 0;
}
.cta__item:nth-child(2n) .cta__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
  margin-left: -1rem;
}
.cta__marquee {
  z-index: -1;
  position: absolute;
  top: 130rem;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
.cta__marquee-item {
  backface-visibility: hidden;
  transform: translateZ(0);
  flex-shrink: 0;
  padding-right: 0.3em;
  white-space: nowrap;
  will-change: transform;
}
.cta__content {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 42rem;
}
@media (max-width: 599px) {
  .cta__content {
    gap: 32rem;
  }
}
.cta__text {
  max-width: 332rem;
  color: var(--color-13);
  text-align: center;
}

.services-list {
  z-index: 1;
  position: relative;
  overflow: hidden;
  padding-top: 290rem !important;
  padding-bottom: 316rem !important;
}
@media (max-width: 599px) {
  .services-list {
    padding-top: 116rem !important;
    padding-bottom: 150rem !important;
  }
}
.services-list__top {
  z-index: -1;
  position: absolute;
  top: 39rem;
  left: 24rem;
  right: 24rem;
  display: flex;
  height: 189rem;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 599px) {
  .services-list__top {
    top: 16rem;
    left: 14rem;
    right: 14rem;
    height: 76rem;
  }
}
.services-list__item {
  position: relative;
  height: 217rem;
  width: 50%;
}
@media (max-width: 599px) {
  .services-list__item {
    height: 76rem;
  }
}
.services-list__item:nth-child(2n) {
  margin-left: -1rem;
}
.services-list__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.services-list__line {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  transition: stroke-dashoffset var(--duration-6) var(--ease-in-out-power3);
  fill: none;
  stroke-width: 1;
  stroke: var(--color-7);
  stroke-dashoffset: 1123.7827148438;
  stroke-dasharray: 1123.7827148438;
}
.services-list__item[data-reveal].is-visible .services-list__line {
  stroke-dashoffset: 0;
}
.services-list__item:nth-child(2n) .services-list__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
  margin-left: -1rem;
}
.services-list__list {
  position: relative;
  display: flex;
  align-items: center;
}
@media (max-width: 1279px) {
  .services-list__list {
    flex-direction: column;
    align-items: center;
  }
}
.services-list__left {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 496rem;
  width: 100%;
  transition: opacity var(--duration-3) var(--ease-in-out-power3);
  gap: 42rem;
}
@media (min-width: 1280px) {
  .services-list__left.is-hidden {
    opacity: 0;
    pointer-events: none;
  }
}
@media (max-width: 1279px) {
  .services-list__left {
    position: static;
    transform: none;
    align-items: center;
    text-align: center;
  }
}
@media (max-width: 599px) {
  .services-list__left {
    max-width: 270rem;
    gap: 24rem;
  }
}
@media (max-width: 1279px) {
  .services-list__left:not(:last-child) {
    margin-bottom: 60rem;
  }
}
@media (max-width: 599px) {
  .services-list__left:not(:last-child) {
    margin-bottom: 48rem;
  }
}
.services-list__slider {
  margin-right: auto;
  margin-left: auto;
  width: 596rem;
}
@media (max-width: 599px) {
  .services-list__slider {
    width: 100%;
  }
}
.services-list__btn {
  display: flex;
  justify-content: center;
  margin-top: 60rem;
}
@media (max-width: 599px) {
  .services-list__btn {
    margin-top: 40rem;
  }
}

.materials {
  position: relative;
  background: var(--color-8);
  min-height: 100vh;
  min-height: 100svh;
  z-index: 2;
  overflow: hidden;
  color: var(--color-white);
  margin-top: -1px;
}
@media (max-width: 599px) {
  .materials {
    min-height: auto;
  }
}
.form + .materials {
  margin-top: 75rem;
}
@media (max-width: 599px) {
  .form + .materials {
    margin-top: 50rem;
  }
}
.materials__top {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
@media (max-width: 599px) {
  .materials__top {
    position: static;
    height: auto;
  }
}
.materials__bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
@media (max-width: 599px) {
  .materials__bottom {
    position: relative;
    height: auto;
  }
}

.about-hero {
  z-index: 1;
  position: relative;
  background: var(--color-black);
  background-position: 50% 100%;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 100vh;
  overflow: hidden;
  color: var(--color-white);
}
html.no-avif .about-hero {
  background-image: url("../img/img-6.jpg?v=1");
}
@media (max-width: 599px) {
  html.no-avif .about-hero {
    background-image: url("../img/img-7.jpg?v=1");
  }
}
html.avif .about-hero {
  background-image: url("../img/img-6.avif?v=1");
}
@media (max-width: 599px) {
  html.avif .about-hero {
    background-image: url("../img/img-7.avif?v=1");
  }
}
.about-hero__inner {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
  padding-top: 144rem !important;
  padding-bottom: 24rem !important;
  gap: 24rem;
}
@media (max-width: 599px) {
  .about-hero__inner {
    padding-top: 80rem !important;
    padding-bottom: 16rem !important;
    gap: 20rem;
  }
}
.about-hero__canvas {
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -30%);
  height: 630rem;
  width: 630rem;
  pointer-events: none;
}
@media (max-width: 599px) {
  .about-hero__canvas {
    transform: translate(-50%, -15%);
    height: 240rem;
    width: 240rem;
  }
}
.about-hero__canvas canvas {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.about-hero__content {
  z-index: 2;
  position: relative;
  display: flex;
  flex-direction: column;
  padding-bottom: 95rem;
  flex: 1 1 auto;
  gap: 24rem;
}
@media (max-width: 599px) {
  .about-hero__content {
    padding-bottom: 0;
    gap: 20rem;
  }
}
.about-hero__title {
  max-width: 1045rem;
}
.about-hero__text-wrapper {
  margin-top: auto;
  margin-right: 145rem;
  margin-left: auto;
  max-width: 392rem;
}
@media (max-width: 599px) {
  .about-hero__text-wrapper {
    margin-right: 0;
    max-width: none;
  }
}
.about-hero__text {
  opacity: 0.7;
}
.about-hero__scroll {
  z-index: 2;
  position: relative;
  margin-left: auto;
}
@media (max-width: 599px) {
  .about-hero__scroll {
    margin-left: 0;
  }
}

.about-text {
  z-index: 1;
  position: relative;
  background: var(--color-18);
  overflow: hidden;
  padding-top: 150rem !important;
  padding-bottom: 616rem !important;
  color: var(--color-white);
  margin-top: -1px;
}
@media (max-width: 599px) {
  .about-text {
    padding-top: 58rem !important;
    padding-bottom: 118rem !important;
  }
}
.about-text__text {
  max-width: 1545rem;
}
@media (max-width: 1279px) {
  .about-text__text {
    max-width: 875rem;
  }
}
.about-text__text .char {
  color: var(--color-10);
  transition: color var(--duration-2) var(--ease-out-bounce);
}
.about-text__text span .char {
  border-bottom: 1rem solid currentColor;
}
.about-text__item {
  z-index: -1;
  position: absolute;
  border-radius: 8rem;
  overflow: hidden;
  will-change: transform;
  backface-visibility: hidden;
}
@media (max-width: 599px) {
  .about-text__item {
    border-radius: 2rem;
  }
}
.about-text__item--1 {
  top: 196rem;
  left: 1260rem;
  height: 547rem;
  width: 364rem;
}
@media (max-width: 1279px) {
  .about-text__item--1 {
    top: 176rem;
    left: 775rem;
    height: 328.2rem;
    width: 218.4rem;
  }
}
@media (max-width: 599px) {
  .about-text__item--1 {
    top: 136rem;
    left: 222rem;
    height: 166rem;
    width: 111rem;
  }
}
.about-text__item--2 {
  top: 923rem;
  right: 0;
  height: 774rem;
  width: 515rem;
}
@media (max-width: 1279px) {
  .about-text__item--2 {
    top: 636rem;
    height: 464.4rem;
    width: 309rem;
  }
}
@media (max-width: 599px) {
  .about-text__item--2 {
    top: 400rem;
    height: 150rem;
    width: 100rem;
  }
}
.about-text__item--3 {
  top: 1501rem;
  left: 0;
  height: 438rem;
  width: 515rem;
}
@media (max-width: 1279px) {
  .about-text__item--3 {
    top: 1241rem;
    height: 262.8rem;
    width: 309rem;
  }
}
@media (max-width: 599px) {
  .about-text__item--3 {
    top: 680rem;
    left: 14rem;
    height: 95rem;
    width: 110rem;
  }
}
.about-text__img {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale3d(1.2, 1.2, 1) translate3d(0, -10%, 0);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  will-change: transform;
  backface-visibility: hidden;
}
html.no-avif .about-text__img--1 {
  background-image: url("../img/img-54.jpg?v=1");
}
html.avif .about-text__img--1 {
  background-image: url("../img/img-54.avif?v=1");
}
html.no-avif .about-text__img--2 {
  background-image: url("../img/img-55.jpg?v=1");
}
html.avif .about-text__img--2 {
  background-image: url("../img/img-55.avif?v=1");
}
html.no-avif .about-text__img--3 {
  background-image: url("../img/img-56.jpg?v=1");
}
html.avif .about-text__img--3 {
  background-image: url("../img/img-56.avif?v=1");
}

.about-tabs {
  z-index: 1;
  position: relative;
  margin-top: -1px;
  background: var(--color-18);
  min-height: 100vh;
  min-height: 100svh;
  padding-top: 16rem !important;
  padding-bottom: 16rem !important;
  color: var(--color-white);
}
@media (max-width: 599px) {
  .about-tabs {
    min-height: auto;
    padding-top: 150rem !important;
    padding-bottom: 126rem !important;
  }
}
.about-tabs__images {
  z-index: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 150vh;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.about-tabs__img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: translate3d(0, 0, 0);
  border-radius: 8rem;
  background-position: 0 0;
  background-size: cover;
  background-repeat: no-repeat;
  height: 316rem;
  width: 316rem;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
  will-change: opacity, transform;
  backface-visibility: hidden;
}
@media (max-width: 599px) {
  .about-tabs__img {
    border-radius: 4rem;
    height: 102rem;
    width: 102rem;
  }
}
html.no-avif .about-tabs__img--1 {
  background-image: url("../img/img-57.jpg?v=1");
}
html.avif .about-tabs__img--1 {
  background-image: url("../img/img-57.avif?v=1");
}
html.no-avif .about-tabs__img--2 {
  background-image: url("../img/img-58.jpg?v=1");
}
html.avif .about-tabs__img--2 {
  background-image: url("../img/img-58.avif?v=1");
}
html.no-avif .about-tabs__img--3 {
  background-image: url("../img/img-59.jpg?v=1");
}
html.avif .about-tabs__img--3 {
  background-image: url("../img/img-59.avif?v=1");
}
html.no-avif .about-tabs__img--4 {
  background-image: url("../img/img-60.jpg?v=1");
}
html.avif .about-tabs__img--4 {
  background-image: url("../img/img-60.avif?v=1");
}
html.no-avif .about-tabs__img--5 {
  background-image: url("../img/img-57.jpg?v=1");
}
html.avif .about-tabs__img--5 {
  background-image: url("../img/img-57.avif?v=1");
}
html.no-avif .about-tabs__img--6 {
  background-image: url("../img/img-58.jpg?v=1");
}
html.avif .about-tabs__img--6 {
  background-image: url("../img/img-58.avif?v=1");
}
html.no-avif .about-tabs__img--7 {
  background-image: url("../img/img-59.jpg?v=1");
}
html.avif .about-tabs__img--7 {
  background-image: url("../img/img-59.avif?v=1");
}
html.no-avif .about-tabs__img--8 {
  background-image: url("../img/img-60.jpg?v=1");
}
html.avif .about-tabs__img--8 {
  background-image: url("../img/img-60.avif?v=1");
}
.about-tabs__top {
  z-index: -1;
  position: relative;
  display: flex;
  height: 136rem;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 599px) {
  .about-tabs__top {
    display: none;
  }
}
.about-tabs__item {
  position: relative;
  height: 217rem;
  width: 50%;
}
@media (max-width: 599px) {
  .about-tabs__item {
    height: 76rem;
  }
}
.about-tabs__item:nth-child(2n) {
  margin-left: -1rem;
}
.about-tabs__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.about-tabs__line {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  transition: stroke-dashoffset var(--duration-6) var(--ease-in-out-power3);
  fill: none;
  stroke-width: 1;
  stroke: rgba(var(--color-white-rgb), 0.2);
  stroke-dashoffset: 1123.7827148438;
  stroke-dasharray: 1123.7827148438;
}
.about-tabs__item[data-reveal].is-visible .about-tabs__line {
  stroke-dashoffset: 0;
}
.about-tabs__item:nth-child(2n) .about-tabs__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
  margin-left: -1rem;
}
.about-tabs__content {
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.about-tabs__toggle {
  position: relative;
  display: flex;
  justify-content: space-between;
  border-radius: 256rem;
  background: rgba(var(--color-white-rgb), 0.1);
  max-width: 100%;
  width: 1390rem;
  overflow: hidden;
  pointer-events: none;
  backdrop-filter: blur(30px);
}
@media (max-width: 1279px) {
  .about-tabs__toggle {
    border-radius: 153.6rem;
    max-width: calc(100% - 48rem);
  }
}
@media (max-width: 599px) {
  .about-tabs__toggle {
    border-radius: 60rem;
    max-width: calc(100% - 28rem);
    backdrop-filter: blur(7px);
  }
}
.about-tabs__fill {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 144rem;
  background: var(--color-red);
  height: 100%;
  width: auto;
  will-change: transform, width;
  backface-visibility: hidden;
}
@media (max-width: 1279px) {
  .about-tabs__fill {
    border-radius: 86.4rem;
  }
}
@media (max-width: 599px) {
  .about-tabs__fill {
    border-radius: 34rem;
  }
}
.about-tabs__tab {
  padding: 110rem 170rem;
}
@media (max-width: 1279px) {
  .about-tabs__tab {
    padding: 66rem 102rem;
  }
}
@media (max-width: 599px) {
  .about-tabs__tab {
    padding: 25rem 35rem;
  }
}
.about-tabs__left {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 50%;
}
.about-tabs__right {
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 50%;
}

.services {
  padding-top: 50rem !important;
  padding-bottom: 150rem !important;
}
@media (max-width: 599px) {
  .services {
    padding-top: 12.5rem !important;
    padding-bottom: 50rem !important;
  }
}
.form + .services {
  padding-top: 75rem !important;
}
@media (max-width: 599px) {
  .form + .services {
    padding-top: 50rem !important;
  }
}
.services:last-child {
  padding-bottom: 200rem !important;
}
@media (max-width: 599px) {
  .services:last-child {
    padding-bottom: 130rem !important;
  }
}
.services__title:not(:last-child) {
  margin-bottom: 86rem;
}
@media (max-width: 599px) {
  .services__title:not(:last-child) {
    margin-bottom: 70rem;
    max-width: 180rem;
  }
}
.services__item {
  position: relative;
}
.services__item::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  transform: scale3d(0, 1, 1);
  background: var(--color-gray);
  height: 1rem;
  width: 100%;
  transition: transform var(--duration-6) var(--ease-in-out-power3);
  transform-origin: left;
  will-change: transform;
}
.services__item[data-reveal].is-visible::before {
  transform: scale3d(1, 1, 1);
}
.services__item:last-child::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  transform: scale3d(0, 1, 1);
  background: var(--color-gray);
  height: 1rem;
  width: 100%;
  transition: transform var(--duration-6) var(--ease-in-out-power3);
  transform-origin: left;
  will-change: transform;
}
.services__item:last-child[data-reveal].is-visible::after {
  transform: scale3d(1, 1, 1);
}

.services-detail {
  padding-top: 30rem !important;
  padding-bottom: 75rem !important;
}
@media (max-width: 599px) {
  .services-detail {
    padding-top: 18rem !important;
    padding-bottom: 20rem !important;
  }
}
.services-detail__top:not(:last-child) {
  margin-bottom: 128rem;
}
@media (max-width: 1279px) {
  .services-detail__top:not(:last-child) {
    margin-bottom: 30rem;
  }
}

.catalog-hero {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--color-black);
  background-position: 50% 100%;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  padding-top: 24rem !important;
  padding-bottom: 24rem !important;
  color: var(--color-white);
  gap: 24rem;
}
@media (max-width: 599px) {
  .catalog-hero {
    padding-top: 88rem !important;
    padding-bottom: 16rem !important;
    gap: 16rem;
  }
}
html.no-avif .catalog-hero {
  background-image: url("../img/img-6.jpg?v=1");
}
@media (max-width: 599px) {
  html.no-avif .catalog-hero {
    background-image: url("../img/img-7.jpg?v=1");
  }
}
html.avif .catalog-hero {
  background-image: url("../img/img-6.avif?v=1");
}
@media (max-width: 599px) {
  html.avif .catalog-hero {
    background-image: url("../img/img-7.avif?v=1");
  }
}
.catalog-hero__images {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  pointer-events: none;
}
.catalog-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1 1 auto;
}
.catalog-hero__logo-wrapper {
  position: relative;
  height: 334rem;
  width: 100%;
  overflow: clip;
}
@media (max-width: 1279px) {
  .catalog-hero__logo-wrapper {
    height: 184rem;
  }
}
@media (max-width: 599px) {
  .catalog-hero__logo-wrapper {
    display: none;
  }
}
.catalog-hero__logo {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  background-image: url("../img/img-33.svg?v=1");
  background-position: 50% 50%;
  background-size: contain;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  transition-property: transform, opacity;
  transition-duration: var(--duration-3);
  transition-timing-function: var(--ease-in-out-cubic);
  will-change: transform, opacity;
}
.catalog-hero__logo-wrapper.is-visible .catalog-hero__logo {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-duration: var(--duration-5);
  transition-delay: calc(0.015s * var(--char-index, 0));
}
.catalog-hero__logo:not(:last-child) {
  margin-bottom: 4rem;
}
.catalog-hero__text {
  text-align: center;
}
.catalog-hero__text:not(:last-child) {
  margin-bottom: 60rem;
}
.catalog-hero__btn {
  z-index: 2;
  position: relative;
}
.catalog-hero__scroll {
  z-index: 2;
  position: relative;
  margin-left: auto;
}
@media (max-width: 599px) {
  .catalog-hero__scroll {
    margin-left: 0;
  }
}

.catalog-text {
  padding-top: 32rem !important;
  padding-bottom: 410rem !important;
}
@media (max-width: 1279px) {
  .catalog-text {
    padding-bottom: 32rem !important;
  }
}
@media (max-width: 599px) {
  .catalog-text {
    padding-top: 24rem !important;
    padding-bottom: 24rem !important;
  }
}
.catalog-text__content {
  position: relative;
  padding-top: 50rem;
}
@media (max-width: 1279px) {
  .catalog-text__content {
    padding-top: 0;
  }
}
.catalog-text__top {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  height: 136rem;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 1279px) {
  .catalog-text__top {
    display: none;
  }
}
.catalog-text__top-item {
  position: relative;
  flex-shrink: 0;
  height: 100%;
  width: 1305rem;
}
.catalog-text__top-item:nth-child(2n) {
  flex-shrink: unset;
  width: calc(100% - 1305rem);
}
.catalog-text__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 1305rem;
  overflow: hidden;
  pointer-events: none;
}
.catalog-text__line {
  position: absolute;
  top: 0;
  right: 0;
  height: auto;
  width: 100%;
  transition: stroke-dashoffset calc(var(--duration-10) * 1.5) var(--ease-in-out-power3);
  fill: none;
  stroke-width: 1;
  stroke: var(--color-gray);
  stroke-dashoffset: 4023.7810058594;
  stroke-dasharray: 4023.7810058594;
}
.catalog-text__top-item[data-reveal].is-visible .catalog-text__line {
  stroke-dashoffset: 0;
}
.catalog-text__top-item:nth-child(2n) .catalog-text__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
}
.catalog-text__left {
  max-width: 1280rem;
}
.catalog-text__text:not(:last-child) {
  margin-bottom: 48rem;
}
@media (max-width: 1279px) {
  .catalog-text__text:not(:last-child) {
    margin-bottom: 600rem;
  }
}
@media (max-width: 599px) {
  .catalog-text__text:not(:last-child) {
    margin-bottom: 383rem;
  }
}
.catalog-text__text .char {
  color: var(--color-gray);
  transition: color var(--duration-3) var(--ease-out-bounce);
}
.catalog-text__text span .char {
  border-bottom: 1rem solid currentColor;
}

.catalog-list {
  padding-top: 80rem !important;
  padding-bottom: 200rem !important;
}
@media (max-width: 599px) {
  .catalog-list {
    padding-top: 50rem !important;
    padding-bottom: 130rem !important;
  }
}
.catalog-list__top {
  display: flex;
  flex-direction: column;
  margin-right: auto;
  margin-left: auto;
  max-width: 661rem;
  width: 100%;
  text-align: center;
  gap: 40rem;
}
@media (max-width: 599px) {
  .catalog-list__top {
    max-width: 305rem;
    gap: 25rem;
  }
}
.catalog-list__top:not(:last-child) {
  margin-bottom: 80rem;
}
@media (max-width: 599px) {
  .catalog-list__top:not(:last-child) {
    margin-bottom: 50rem;
  }
}
.catalog-list__text {
  opacity: 0.6;
}
.catalog-list__list {
  display: flex;
  flex-wrap: wrap;
  gap: 68rem 16rem;
}
@media (max-width: 599px) {
  .catalog-list__list {
    gap: 25rem 8rem;
  }
}
.catalog-list__item {
  width: calc(25% - 12rem);
  will-change: transform;
  backface-visibility: hidden;
}
@media (max-width: 1279px) {
  .catalog-list__item {
    width: calc(33.333% - 10.66666667rem);
  }
}
@media (max-width: 599px) {
  .catalog-list__item {
    width: calc(50% - 4rem);
  }
}
.catalog-list__item:nth-child(1) {
  z-index: 2;
  position: relative;
  transform: translate3d(310.5%, -166.5%, 0);
}
@media (max-width: 1279px) {
  .catalog-list__item:nth-child(1) {
    transform: translate3d(210%, -209%, 0);
  }
}
@media (max-width: 599px) {
  .catalog-list__item:nth-child(1) {
    transform: translate3d(105%, -285%, 0);
  }
}
@media (min-width: 1280px) {
  .catalog-list__item:nth-child(8n+2) .catalog-card__image::after {
    padding-bottom: 107.89473684%;
  }
  .catalog-list__item:nth-child(8n+3) .catalog-card__image::after {
    padding-bottom: 85.74561404%;
  }
  .catalog-list__item:nth-child(8n+4) .catalog-card__image::after {
    padding-bottom: 120.83333333%;
  }
  .catalog-list__item:nth-child(8n+5) .catalog-card__image::after {
    padding-bottom: 85.74561404%;
  }
  .catalog-list__item:nth-child(8n+6) .catalog-card__image::after {
    padding-bottom: 98.68421053%;
  }
  .catalog-list__item:nth-child(8n+8) .catalog-card__image::after {
    padding-bottom: 85.74561404%;
  }
  .catalog-list__item:nth-child(8n+6) {
    margin-top: -58rem;
  }
  .catalog-list__item:nth-child(8n+7) {
    margin-top: -160rem;
  }
}
@media (max-width: 1279px) and (min-width: 600px) {
  .catalog-list__item:nth-child(6n+2) .catalog-card__image::after {
    padding-bottom: 107.89473684%;
  }
  .catalog-list__item:nth-child(6n+3) .catalog-card__image::after {
    padding-bottom: 85.74561404%;
  }
  .catalog-list__item:nth-child(6n+4) .catalog-card__image::after {
    padding-bottom: 85.74561404%;
  }
  .catalog-list__item:nth-child(6n+5) .catalog-card__image::after {
    padding-bottom: 98.68421053%;
  }
  .catalog-list__item:nth-child(6n+5) {
    margin-top: -40rem;
  }
  .catalog-list__item:nth-child(6n+6) {
    margin-top: -108rem;
  }
}
@media (max-width: 599px) {
  .catalog-list__item:nth-child(4n+2) .catalog-card__image::after {
    padding-bottom: 108.02469136%;
  }
  .catalog-list__item:nth-child(4n+3) .catalog-card__image::after {
    padding-bottom: 108.02469136%;
  }
}

.news {
  padding-top: 30rem !important;
  padding-bottom: 80rem !important;
}
@media (max-width: 599px) {
  .news {
    padding-top: 12.5rem !important;
    padding-bottom: 50rem !important;
  }
}
.news__filter:not(:last-child) {
  margin-bottom: 48rem;
}
@media (max-width: 599px) {
  .news__filter:not(:last-child) {
    margin-bottom: 25rem;
  }
}

.subscribe {
  padding-top: 80rem !important;
  padding-bottom: 200rem !important;
}
@media (max-width: 599px) {
  .subscribe {
    padding-top: 50rem !important;
    padding-bottom: 130rem !important;
  }
}
.detail-others + .subscribe {
  padding-bottom: 167rem !important;
}
@media (max-width: 599px) {
  .detail-others + .subscribe {
    padding-bottom: 130rem !important;
  }
}
.subscribe__inner {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 16rem;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  padding: 32rem;
  padding-right: 526rem;
  padding-bottom: 100rem;
  color: var(--color-white);
}
@media (max-width: 1279px) {
  .subscribe__inner {
    padding-right: 32rem;
  }
}
@media (max-width: 599px) {
  .subscribe__inner {
    padding: 20rem;
    padding-bottom: 32rem;
  }
}
html.no-avif .subscribe__inner {
  background-image: url("../img/img-11.jpg?v=1");
}
@media (max-width: 599px) {
  html.no-avif .subscribe__inner {
    background-image: url("../img/img-12.jpg?v=1");
  }
}
html.avif .subscribe__inner {
  background-image: url("../img/img-11.avif?v=1");
}
@media (max-width: 599px) {
  html.avif .subscribe__inner {
    background-image: url("../img/img-12.avif?v=1");
  }
}
.subscribe__img {
  z-index: -1;
  position: absolute;
  top: 49rem;
  right: 64rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  height: 538rem;
  width: 382rem;
}
@media (max-width: 599px) {
  .subscribe__img {
    top: 225rem;
    right: -22rem;
    height: 218rem;
    width: 154rem;
  }
}
html.no-avif .subscribe__img {
  background-image: url("../img/img-13.png?v=2");
}
html.avif .subscribe__img {
  background-image: url("../img/img-13.avif?v=2");
}
.subscribe__info {
  display: flex;
  flex-direction: column;
  max-width: 423rem;
  gap: 24rem;
}
.subscribe__info:not(:last-child) {
  margin-bottom: 120rem;
}
@media (max-width: 599px) {
  .subscribe__info:not(:last-child) {
    margin-bottom: 140rem;
  }
}
.subscribe__text {
  text-wrap: balance;
}
@media (max-width: 599px) {
  .subscribe__text {
    padding-right: 20rem;
  }
}

.detail {
  padding-top: 30rem !important;
  padding-bottom: 120rem !important;
}
@media (max-width: 599px) {
  .detail {
    padding-top: 18rem !important;
    padding-bottom: 35rem !important;
  }
}
.detail__wrapper {
  margin-right: auto;
  margin-left: auto;
  max-width: 1242rem;
  width: 100%;
}
.detail__title {
  text-align: center;
}
@media (max-width: 599px) {
  .detail__title {
    text-align: left;
  }
}
.detail__title:not(:last-child) {
  margin-bottom: 48rem;
}
@media (max-width: 599px) {
  .detail__title:not(:last-child) {
    margin-bottom: 25rem;
  }
}
.detail__info:not(:last-child) {
  margin-bottom: 70rem;
}
@media (max-width: 599px) {
  .detail__info:not(:last-child) {
    margin-bottom: 25rem;
  }
}
.detail__pic {
  position: relative;
  border-radius: 16rem;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 599px) {
  .detail__pic {
    border-radius: 8rem;
  }
}
.detail__pic:not(:last-child) {
  margin-bottom: 80rem;
}
@media (max-width: 599px) {
  .detail__pic:not(:last-child) {
    margin-bottom: 25rem;
  }
}
.detail__pic::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 55.87761675%;
}
@media (max-width: 599px) {
  .detail__pic::after {
    padding-bottom: 55.85585586%;
  }
}
.detail__img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.detail__content {
  margin-right: auto;
  margin-left: auto;
  max-width: 928rem;
  width: 100%;
  letter-spacing: -0.02em;
  font-size: 18rem;
  line-height: 1.5;
  font-weight: 400;
}
@media (max-width: 1279px) {
  .detail__content {
    max-width: none;
  }
}
@media (max-width: 599px) {
  .detail__content {
    letter-spacing: -0.02em;
    font-size: 16rem;
    line-height: 1.5;
    font-weight: 400;
  }
}

.detail-others {
  overflow: hidden;
  padding-top: 120rem !important;
  padding-bottom: 120rem !important;
}
@media (max-width: 599px) {
  .detail-others {
    padding-top: 35rem !important;
    padding-bottom: 50rem !important;
  }
}
.detail-others__title:not(:last-child) {
  margin-bottom: 80rem;
}
@media (max-width: 599px) {
  .detail-others__title:not(:last-child) {
    margin-bottom: 25rem;
  }
}

.contacts {
  padding-top: 18rem;
  padding-bottom: 77rem;
}
@media (max-width: 599px) {
  .contacts {
    padding-top: 12.5rem;
    padding-bottom: 50rem;
  }
}
.contacts__list {
  display: flex;
  flex-wrap: wrap;
}
.contacts__list:not(:last-child) {
  margin-bottom: 80rem;
}
@media (max-width: 599px) {
  .contacts__list:not(:last-child) {
    margin-bottom: 70rem;
  }
}
.contacts__item {
  position: relative;
  width: 50%;
}
@media (max-width: 1279px) {
  .contacts__item {
    width: 100%;
  }
}
.contacts__item:nth-child(2n-1) {
  padding-left: 0;
}
.contacts__item:nth-child(2n) {
  margin-left: -1rem;
}
@media (max-width: 1279px) {
  .contacts__item:nth-child(2n) {
    margin-left: 0;
    padding-left: 0;
  }
}
@media (max-width: 1279px) {
  .contacts__item:not(:last-child) {
    padding-bottom: 32rem;
  }
}
@media (max-width: 599px) {
  .contacts__item:not(:last-child) {
    padding-bottom: 25rem;
  }
}
.contacts__item::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  transform: scale3d(0, 1, 1);
  display: none;
  background: var(--color-gray);
  height: 1rem;
  width: 100%;
  transition: transform var(--duration-6) var(--ease-in-out-power3);
  will-change: transform;
  transform-origin: left;
}
@media (max-width: 1279px) {
  .contacts__item::after {
    display: block;
  }
}
.contacts__item[data-reveal].is-visible::after {
  transform: scale3d(1, 1, 1);
}
.contacts__line-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 1279px) {
  .contacts__line-wrapper {
    display: none;
  }
}
.contacts__line {
  position: absolute;
  top: 0;
  right: 0;
  height: auto;
  width: 100%;
  transition: stroke-dashoffset var(--duration-6) var(--ease-in-out-power3);
  fill: none;
  stroke-width: 1;
  stroke: var(--color-7);
  stroke-dashoffset: 1123.7827148438;
  stroke-dasharray: 1123.7827148438;
}
.contacts__item[data-reveal].is-visible .contacts__line {
  stroke-dashoffset: 0;
}
.contacts__item:nth-child(2n) .contacts__line {
  left: 0;
  right: auto;
  transform: scaleX(-1);
  margin-left: -1rem;
}

.error-block {
  display: flex;
  flex-direction: column;
  background-color: var(--color-black);
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 100vh;
  min-height: 100svh;
  padding-top: 24rem !important;
  padding-bottom: 24rem !important;
  color: var(--color-white);
  gap: 24rem;
}
@media (max-width: 599px) {
  .error-block {
    padding-top: 16rem !important;
    padding-bottom: 16rem !important;
    gap: 16rem;
  }
}
html.no-avif .error-block {
  background-image: url("../img/img-6.jpg?v=1");
}
@media (max-width: 599px) {
  html.no-avif .error-block {
    background-image: url("../img/img-7.jpg?v=1");
  }
}
html.avif .error-block {
  background-image: url("../img/img-6.avif?v=1");
}
@media (max-width: 599px) {
  html.avif .error-block {
    background-image: url("../img/img-7.avif?v=1");
  }
}
.error-block__top {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  flex: 1 1 auto;
}
@media (max-width: 1279px) {
  .error-block__top {
    gap: 50rem;
  }
}
.error-block__title-wrapper {
  transform: translateX(-2.5%);
  color: var(--color-gray);
}
@media (max-width: 599px) {
  .error-block__title-wrapper {
    transform: translateX(-5%);
  }
}
.error-block__btn {
  margin-left: auto;
}
@media (max-width: 599px) {
  .error-block__btn {
    margin-left: 0;
  }
}
/*# sourceMappingURL=app.css.map */
