@charset "UTF-8";
:root {
  --primary-900: #7F9C90;
  --primary-500: #000000;
  --secondary-900: #618073;
  --secondary-800: #618073;
  --secondary-700: #999999;
  --secondary-600: #4E4E4E;
  --secondary-400: #1A1818;
  --secondary-300: #1A1818;
  --secondary-200: #8A8A8A;
  --secondary-100: #858E9A;
  --neutral-100: #FFFFFF;
  --surfaces-500: #F8F8F8;
  --surfaces-300: #F6F6F6;
  --surfaces-100: #F0F0F0;
  --surfaces-60: #ECF0EF;
  --surfaces-50: #E6E6E6;
  --divider-800: #7F7F7F;
  --divider-600: #D1D1D1;
  --divider-100: #CBD1CE;
  --success-700: #289A22;
  --success-100: #DFF0DE;
  --warning-700: #DB6E00;
  --warning-100: #FAE9D9;
  --active-700: #7F9C90;
  --error-700: #CA2727;
  --error-100: #F7DFDF;
  --badges-300: #8A8A8A;
  --badges-500: #5D35B0;
  --header-100: var(--neutral-100);
  --header-300: var(--surfaces-300);
  --header-450: var(--secondary-300);
  --header-500: var(--primary-500);
  --newsletter-900: var(--secondary-900);
  --footer-50: color-mix(in srgb, var(--neutral-100) 20%, transparent);
  --footer-100: var(--secondary-900);
  --footer-200: var(--neutral-100);
  --footer-300: var(--neutral-100);
  --footer-450: var(--neutral-100);
  --footer-500: var(--neutral-100);
  --other-gradient: linear-gradient(87deg, #567266 -7.78%, #718C81 71.92%);
}

._display-l {
  font-size: clamp(5rem, -0.7192rem + 6.8493vw, 7.5rem);
  line-height: clamp(5.5rem, -1.9349rem + 8.9041vw, 8.75rem);
}
@media only screen and (max-width: 83.4375rem) {
  ._display-l {
    font-size: clamp(3rem, -0.3227rem + 6.3745vw, 5rem);
    line-height: clamp(3.375rem, -0.1554rem + 6.7729vw, 5.5rem);
  }
}
._display-lm {
  font-size: clamp(3rem, -2.1473rem + 6.1644vw, 5.25rem);
  line-height: clamp(3.375rem, -1.4863rem + 5.8219vw, 5.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  ._display-lm {
    font-size: clamp(2rem, 1.2405rem + 3.3755vw, 3rem);
    line-height: clamp(2.375rem, 1.6155rem + 3.3755vw, 3.375rem);
  }
}

._display-m {
  font-size: clamp(3rem, 0.7123rem + 2.7397vw, 4rem);
  line-height: clamp(3.375rem, 0.5154rem + 3.4247vw, 4.625rem);
}
@media only screen and (max-width: 83.4375rem) {
  ._display-m {
    font-size: clamp(2.25rem, 1.004rem + 2.3904vw, 3rem);
    line-height: clamp(2.75rem, 1.7117rem + 1.992vw, 3.375rem);
  }
}
@media only screen and (max-width: 52.0625rem) {
  ._display-m {
    font-size: clamp(2rem, 1.8101rem + 0.8439vw, 2.25rem);
    line-height: clamp(2.375rem, 2.0902rem + 1.2658vw, 2.75rem);
  }
}

._heading-l {
  font-size: clamp(2.25rem, 0.5342rem + 2.0548vw, 3rem);
  line-height: clamp(2.75rem, 1.0342rem + 2.0548vw, 3.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  ._heading-l {
    font-size: clamp(1.75rem, 1.3703rem + 1.6878vw, 2.25rem);
    line-height: clamp(2rem, 1.4304rem + 2.5316vw, 2.75rem);
  }
}

._heading-m {
  font-size: clamp(1.75rem, 1.1781rem + 0.6849vw, 2rem);
  line-height: 2.5rem;
}
@media only screen and (max-width: 83.4375rem) {
  ._heading-m {
    font-size: clamp(1.25rem, 0.4193rem + 1.5936vw, 1.75rem);
    line-height: clamp(1.75rem, 0.504rem + 2.3904vw, 2.5rem);
  }
}
._heading-s {
  font-size: clamp(1.375rem, 0.5171rem + 1.0274vw, 1.75rem);
  line-height: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  ._heading-s {
    font-size: clamp(1.125rem, 0.9351rem + 0.8439vw, 1.375rem);
    line-height: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  }
}

._subheading-l {
  font-size: clamp(1.125rem, 0.2671rem + 1.0274vw, 1.5rem);
  line-height: clamp(1.75rem, 1.1781rem + 0.6849vw, 2rem);
}
._subheading-m {
  font-size: clamp(1.125rem, 0.839rem + 0.3425vw, 1.25rem);
  line-height: 1.75rem;
}
._body-l {
  font-size: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
  line-height: clamp(1.5rem, 0.9281rem + 0.6849vw, 1.75rem);
}
._body-l2 {
  font-size: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
  line-height: clamp(1.5rem, 0.9281rem + 0.6849vw, 1.75rem);
  letter-spacing: clamp(0.375rem, 0.089rem + 0.3425vw, 0.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  ._body-l2 {
    letter-spacing: clamp(0.25rem, 0.1551rem + 0.4219vw, 0.375rem);
  }
}

._body-m {
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._body-m {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}

._body-m2 {
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  line-height: 1.75rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._body-m2 {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.5rem, 1.3101rem + 0.8439vw, 1.75rem);
  }
}

._body-sm {
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._body-sm {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}

._body-sm2 {
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._body-sm2 {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}

._body-s {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._body-s {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}

._body-s2 {
  font-size: 0.875rem;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._body-s2 {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}

._body-xs {
  font-size: 0.8125rem;
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._body-xs {
    font-size: clamp(0.75rem, 0.7025rem + 0.211vw, 0.8125rem);
  }
}

._body-xxs {
  font-size: 0.75rem;
  line-height: 1rem;
}

._label-m {
  font-size: 0.875rem;
  line-height: 0.75rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._label-m {
    font-size: clamp(0.75rem, 0.6551rem + 0.4219vw, 0.875rem);
  }
}

._label-xs {
  font-size: 0.6875rem;
  line-height: 0.75rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._label-xs {
    font-size: clamp(0.625rem, 0.5775rem + 0.211vw, 0.6875rem);
  }
}

._price-l {
  font-size: 1.625rem;
  line-height: 2rem;
}

._price-s {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

._faq-s {
  font-size: 0.875rem;
  line-height: 1.5rem;
}

._menu-m {
  font-size: clamp(0.8125rem, 0.3836rem + 0.5137vw, 1rem);
  line-height: 1.25rem;
}
._menu-sm {
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  line-height: 1.125rem;
}
._icons-xs {
  font-size: 0.8125rem;
  line-height: 1rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._icons-xs {
    font-size: clamp(0.75rem, 0.7025rem + 0.211vw, 0.8125rem);
    line-height: clamp(0.875rem, 0.7801rem + 0.4219vw, 1rem);
  }
}

._card-s {
  font-size: clamp(0.8125rem, 0.6695rem + 0.1712vw, 0.875rem);
  line-height: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
}
@media only screen and (max-width: 52.0625rem) {
  ._card-s {
    font-size: clamp(0.8125rem, 0.9225rem + -0.211vw, 0.875rem);
    line-height: clamp(1rem, 1.2199rem + -0.4219vw, 1.125rem);
  }
}

._navigation-m {
  font-size: clamp(0.75rem, 0.3211rem + 0.5137vw, 0.9375rem);
  line-height: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
}
@media only screen and (max-width: 83.4375rem) {
  ._navigation-m {
    font-size: clamp(0.75rem, 0.9163rem + -0.1992vw, 0.8125rem);
  }
}
._tabs-m {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  ._tabs-m {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
    line-height: clamp(1.125rem, 1.0301rem + 0.4219vw, 1.25rem);
  }
}

._numbers-m {
  font-size: clamp(2rem, 1.4281rem + 0.6849vw, 2.25rem);
  line-height: clamp(2.5rem, 1.9281rem + 0.6849vw, 2.75rem);
}
@media only screen and (max-width: 52.0625rem) {
  ._numbers-m {
    font-size: clamp(1.25rem, 0.6804rem + 2.5316vw, 2rem);
    line-height: clamp(1.5rem, 0.7405rem + 3.3755vw, 2.5rem);
  }
}

._numbers-m2 {
  font-size: clamp(3rem, 0.7123rem + 2.7397vw, 4rem);
  line-height: clamp(3.375rem, 2.5171rem + 1.0274vw, 3.75rem);
}
@media only screen and (max-width: 52.0625rem) {
  ._numbers-m2 {
    font-size: clamp(2rem, 1.2405rem + 3.3755vw, 3rem);
    line-height: clamp(2.75rem, 2.2753rem + 2.1097vw, 3.375rem);
  }
}

._numbers-s {
  font-size: clamp(1.625rem, 0.7671rem + 1.0274vw, 2rem);
  line-height: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  ._numbers-s {
    font-size: clamp(1.5rem, 1.4051rem + 0.4219vw, 1.625rem);
    line-height: clamp(1.75rem, 1.5601rem + 0.8439vw, 2rem);
  }
}

._200 {
  font-weight: 200;
}

._300 {
  font-weight: 300;
}

._400 {
  font-weight: 400;
}

._500 {
  font-weight: 500;
}

._600 {
  font-weight: 600;
}

._700 {
  font-weight: 700;
}

._800 {
  font-weight: 800;
}

._900 {
  font-weight: 900;
}

h1,
.h1 {
  color: var(--primary-500);
  font-size: clamp(2.25rem, 0.5342rem + 2.0548vw, 3rem);
  font-weight: 700;
  line-height: clamp(2.75rem, 1.0342rem + 2.0548vw, 3.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  h1,
  .h1 {
    font-size: clamp(1.75rem, 1.3703rem + 1.6878vw, 2.25rem);
    line-height: clamp(2rem, 1.4304rem + 2.5316vw, 2.75rem);
  }
}

h2,
.h2 {
  color: var(--primary-500);
  font-size: clamp(1.75rem, 1.1781rem + 0.6849vw, 2rem);
  font-weight: 600;
  line-height: 2.5rem;
}
@media only screen and (max-width: 83.4375rem) {
  h2,
  .h2 {
    font-size: clamp(1.25rem, 0.4193rem + 1.5936vw, 1.75rem);
    line-height: clamp(1.75rem, 0.504rem + 2.3904vw, 2.5rem);
  }
}
h3,
.h3 {
  color: var(--primary-500);
  font-size: clamp(1.375rem, 0.5171rem + 1.0274vw, 1.75rem);
  font-weight: 600;
  line-height: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  h3,
  .h3 {
    font-size: clamp(1.125rem, 0.9351rem + 0.8439vw, 1.375rem);
    line-height: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  }
}

h4,
.h4 {
  color: var(--primary-500);
  font-size: clamp(1.125rem, 0.2671rem + 1.0274vw, 1.5rem);
  font-weight: 600;
  line-height: clamp(1.75rem, 1.1781rem + 0.6849vw, 2rem);
}
h5,
.h5 {
  color: var(--primary-500);
  font-size: clamp(1.125rem, 0.839rem + 0.3425vw, 1.25rem);
  font-weight: 600;
  line-height: 1.75rem;
}
h6,
.h6 {
  color: var(--primary-500);
  font-size: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
  font-weight: 600;
  line-height: clamp(1.5rem, 0.9281rem + 0.6849vw, 1.75rem);
}
p,
.p {
  color: var(--primary-500);
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 400;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  p,
  .p {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}

ul li, ol li {
  color: var(--primary-500);
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 400;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  ul li, ol li {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}

ul {
  list-style: none;
}
ul li {
  position: relative;
  padding-left: 1.125rem;
}
ul li::before {
  content: "• ";
  position: absolute;
  top: auto;
  left: 0.1875rem;
}

ol ol {
  padding-left: 1.125rem;
}

strong,
b {
  font-weight: 600;
}

:root {
  --content: 112.5rem;
  --content-max: 120rem;
  --padding: clamp(3rem, 1.2842rem + 2.0548vw, 3.75rem);
}
@media only screen and (max-width: 52.0625rem) {
  :root {
    --padding: clamp(1rem, -0.519rem + 6.7511vw, 3rem);
  }
}
:root {
  --header__height: clamp(7.5rem, 4.0685rem + 4.1096vw, 9rem);
}
@media only screen and (max-width: 83.4375rem) {
  :root {
    --header__height: 5.125rem;
  }
}
@media only screen and (max-width: 52.0625rem) {
  :root {
    --header__height: 4.625rem;
  }
}
@media only screen and (max-width: 22.4375rem) {
  :root {
    --header__height: 4.03125rem;
  }
}
@media only screen and (min-width: 83.5rem) and (hover: none) and (pointer: coarse) {
  :root {
    --header__height: clamp(4.5rem, 1.0685rem + 4.1096vw, 6rem);
  }
}
:root {
  --body__menu__gap: 0rem;
  --menu__width: clamp(13.0625rem, -2.0933rem + 18.1507vw, 19.6875rem);
  --menu__padding-left: 1rem;
  --menu__padding-right: 2rem;
  --menu__open__background: var(--neutral-100);
  --menu__border-radius: 0.375rem;
  --padding-block: clamp(3.375rem, 1.9452rem + 1.7123vw, 4rem);
  --shadow-1: 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.15);
  --shadow-2: 0 0.1875rem 0.75rem 0 rgba(0, 0, 0, 0.15);
  --shadow-3: 0 0.1875rem 0.75rem 0 rgba(0, 0, 0, 0.25);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif;
}

html {
  scroll-behavior: smooth;
}

body,
main {
  display: flex;
  flex-direction: column;
}

body {
  height: 100%;
  min-height: 100svh;
}
body:not(:has(#company-checkbox:checked)) .company-form {
  display: none;
}

main {
  flex: 1;
  margin-bottom: auto;
}
@media only screen and (max-width: 83.4375rem) {
  main {
    border-top: 0.0625rem solid var(--surfaces-50);
  }
}

a {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  color: var(--primary-900);
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: var(--secondary-900);
    text-decoration: none;
  }
}

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

button,
input,
textarea,
select {
  appearance: none;
  outline: none;
  background: none;
  border: none;
}

ul,
ol {
  list-style-position: inside;
}

.hidden {
  display: none;
}

.button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  width: 100%;
  max-width: max-content;
  text-decoration: none !important;
  text-align: center;
  cursor: pointer;
  padding: 0.5rem 2.8125rem;
  border-width: 0.0625rem;
  border-radius: 0.25rem;
  border-style: solid;
}
.button:not(._socials) svg path[fill] {
  fill: currentColor;
}
.button:not(._socials) svg path[stroke] {
  stroke: currentColor;
}
.button svg {
  width: 1.5rem;
  min-width: 1.5rem;
  height: auto;
  aspect-ratio: 1;
}
.button._text-uppercase {
  text-transform: uppercase;
}
.button._mx-auto {
  margin-inline: auto;
}
.button._primary {
  background-color: var(--primary-900);
  border-color: var(--primary-900);
  color: var(--neutral-100);
}
@media (hover: hover) and (pointer: fine) {
  .button._primary:hover {
    background-color: var(--secondary-900);
    border-color: var(--secondary-900);
    color: var(--neutral-100);
  }
}
.button._primary:disabled {
  background-color: var(--secondary-700);
  border-color: var(--secondary-700);
  color: var(--neutral-100);
}
@media (hover: hover) and (pointer: fine) {
  .button._primary:disabled:hover {
    background-color: var(--secondary-700);
    border-color: var(--secondary-700);
    color: var(--neutral-100);
  }
}
.button._primary:disabled {
  cursor: not-allowed;
}
.button._primaryBordered {
  background-color: transparent;
  border-color: var(--primary-900);
  color: var(--primary-900);
}
@media (hover: hover) and (pointer: fine) {
  .button._primaryBordered:hover {
    background-color: var(--primary-900);
    border-color: var(--primary-900);
    color: var(--neutral-100);
  }
}
.button._whitePrimaryBordered {
  background-color: var(--neutral-100);
  border-color: var(--primary-900);
  color: var(--primary-900);
}
@media (hover: hover) and (pointer: fine) {
  .button._whitePrimaryBordered:hover {
    background-color: var(--neutral-100);
    border-color: var(--secondary-900);
    color: var(--secondary-900);
  }
}
@media (hover: hover) and (pointer: fine) {
  .button._whitePrimaryBordered:hover {
    text-decoration: underline !important;
  }
}
.button._grey {
  background-color: var(--surfaces-50);
  border-color: var(--surfaces-50);
  color: var(--secondary-300);
}
@media (hover: hover) and (pointer: fine) {
  .button._grey:hover {
    background-color: var(--neutral-100);
    border-color: var(--neutral-100);
    color: var(--secondary-300);
  }
}
.button._grey._active {
  background-color: var(--surfaces-60);
  border-color: var(--surfaces-60);
  color: var(--secondary-900);
}
@media (hover: hover) and (pointer: fine) {
  .button._grey._active:hover {
    background-color: var(--neutral-100);
    border-color: var(--neutral-100);
    color: var(--secondary-300);
  }
}
.button._blackBordered {
  background-color: transparent;
  border-color: var(--primary-500);
  color: var(--primary-500);
}
@media (hover: hover) and (pointer: fine) {
  .button._blackBordered:hover {
    background-color: transparent;
    border-color: var(--primary-500);
    color: var(--primary-500);
  }
}
@media (hover: hover) and (pointer: fine) {
  .button._blackBordered:hover {
    text-decoration: underline !important;
  }
}
.button._blackBordered:disabled {
  opacity: 0.25;
  cursor: not-allowed;
}
.button._black {
  background-color: var(--primary-500);
  border-color: var(--primary-500);
  color: var(--neutral-100);
}
@media (hover: hover) and (pointer: fine) {
  .button._black:hover {
    background-color: transparent;
    border-color: var(--primary-500);
    color: var(--primary-500);
  }
}
@media (hover: hover) and (pointer: fine) {
  .button._black:hover {
    text-decoration: underline !important;
  }
}
.button._white {
  background-color: var(--neutral-100);
  border-color: var(--neutral-100);
  color: var(--primary-500);
}
@media (hover: hover) and (pointer: fine) {
  .button._white:hover {
    background-color: var(--primary-900);
    border-color: var(--primary-900);
    color: var(--neutral-100);
  }
}
.button._whiteBordered {
  background-color: transparent;
  border-color: var(--neutral-100);
  color: var(--neutral-100);
}
@media (hover: hover) and (pointer: fine) {
  .button._whiteBordered:hover {
    background-color: var(--neutral-100);
    border-color: var(--neutral-100);
    color: var(--primary-500);
  }
}
.button._socials {
  background-color: transparent;
  border-color: var(--secondary-700);
  color: var(--primary-500);
}
@media (hover: hover) and (pointer: fine) {
  .button._socials:hover {
    background-color: transparent;
    border-color: var(--primary-900);
    color: var(--primary-900);
  }
}
.button._disabled {
  background-color: var(--secondary-700);
  border-color: var(--secondary-700);
  color: var(--neutral-100);
}
@media (hover: hover) and (pointer: fine) {
  .button._disabled:hover {
    background-color: var(--secondary-700);
    border-color: var(--secondary-700);
    color: var(--neutral-100);
  }
}
.button._disabled:disabled {
  cursor: not-allowed;
}
.button._max-w-140 {
  max-width: 8.75rem;
}
.button._max-w-180 {
  max-width: 11.25rem;
}
.button._max-w-200 {
  max-width: 12.5rem;
}
.button._max-w-300 {
  max-width: 18.75rem;
}
.button._max-w-336 {
  max-width: 21rem;
}
.button._max-w-380 {
  max-width: 23.75rem;
}
.button._max-w-full {
  max-width: 100%;
}
.button._h-32 {
  height: 2rem;
}
.button._h-40 {
  height: 2.5rem;
}
.button._h-48 {
  height: 3rem;
}
.button._h-56 {
  height: 3.5rem;
}
.button._h-64 {
  height: 4rem;
}
.button._px-27 {
  padding-inline: 1.6875rem;
}
.button._px-30 {
  padding-inline: 1.875rem;
}
.button._px-32 {
  padding-inline: 2rem;
}
.button._px-40 {
  padding-inline: 2.5rem;
}
.button._px-65 {
  padding-inline: clamp(2.75rem, -0.2526rem + 3.5959vw, 4.0625rem);
}
.button._px-123 {
  padding-inline: clamp(4.6875rem, -2.1755rem + 8.2192vw, 7.6875rem);
}

.checkbox {
  --checkbox__width: 1.125rem;
  --checkbox__gap: 0.75rem;
  --checkbox__box__background-color: var(--neutral-100);
  --checkbox__box__border-color: var(--divider-800);
  --checkbox__box__border-radius: 0.0625rem;
  --checkbox__box__margin-top: 0;
  --checkbox__box__background-size: var(--checkbox__width);
  --checkbox__text__color: var(--primary-500);
  display: flex;
  align-items: flex-start;
  gap: var(--checkbox__gap);
  position: relative;
  cursor: pointer;
}
.checkbox .checkbox__input {
  display: none;
}
.checkbox .checkbox__box {
  width: var(--checkbox__width);
  min-width: var(--checkbox__width);
  height: auto;
  aspect-ratio: 1;
  background-color: var(--checkbox__box__background-color);
  display: block;
  border: 0.0625rem solid var(--checkbox__box__border-color);
  border-radius: var(--checkbox__box__border-radius);
  margin-top: var(--checkbox__box__margin-top);
}
.checkbox .checkbox__text {
  display: block;
  color: var(--checkbox__text__color);
}
.checkbox:has(.checkbox__input:checked) {
  --checkbox__box__background-color: var(--primary-900);
  --checkbox__box__border-color: var(--primary-900);
}
.checkbox:has(.checkbox__input:checked) .checkbox__box {
  background-image: url("../images/icons/check_18x18.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: var(--checkbox__box__background-size);
}
.checkbox:has(.checkbox__input:disabled) {
  --checkbox__text__color: var(--divider-800) !important;
  cursor: not-allowed;
}
.checkbox:has(.checkbox__input:disabled:checked) {
  --checkbox__box__background-color: var(--divider-800);
  --checkbox__box__border-color: var(--divider-800);
}
.checkbox._block {
  background-color: var(--surfaces-300);
  padding: 0.625rem;
  border-radius: 0.25rem;
}
.checkbox._block:has(.checkbox__input:checked) {
  --checkbox__text__color: var(--secondary-900);
  background-color: var(--surfaces-500);
}
.checkbox._white {
  --checkbox__gap: 0.625rem;
  --checkbox__box__border-color: var(--neutral-100);
  --checkbox__box__background-color: transparent;
  --checkbox__text__color: var(--neutral-100);
}
.checkbox._white:has(.checkbox__input:checked) {
  --checkbox__box__border-color: var(--neutral-100);
  --checkbox__box__background-color: transparent;
}
.checkbox._white a {
  color: var(--neutral-100);
}
@media (hover: hover) and (pointer: fine) {
  .checkbox._white a:hover {
    text-decoration: unset;
  }
}
.checkbox._filter {
  --checkbox__gap: 0.875rem;
  --checkbox__box__border-radius: 0.125rem;
}
.checkbox._cookies:has(.checkbox__input:checked) {
  --checkbox__text__color: var(--secondary-900);
}
.checkbox._address {
  --checkbox__gap: 0.875rem;
  --checkbox_checked__text__color: var(--primary-900);
}
.checkbox._error:not(:has(.checkbox__input:checked)) {
  --checkbox__box__border-color: var(--error-700);
  --checkbox__text__color: var(--error-700);
}
.checkbox._body-m {
  --checkbox__box__margin-top: clamp(0.0625rem, -0.0324rem + 0.4219vw, 0.1875rem);
}
.checkbox._body-s {
  --checkbox__box__margin-top: 0.0625rem;
}

.input {
  --input__background: var(--neutral-100);
  --input__border-color: var(--divider-600);
  --input__label__color: var(--secondary-400);
  --input__text__color: var(--secondary-300);
  --input__error: var(--error-700);
  --input__textarea__height: 10.125rem;
  --input__svg__width: 1.375rem;
  --input__svg__color: var(--secondary-200);
  --input__padding-inline: 0.875rem;
  --input__gap: 0.875rem;
  width: 100%;
  margin-top: var(--input__margin-top, 1.5rem);
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .input:hover {
    --input__border-color: var(--secondary-700);
    --input__svg__color: var(--secondary-600);
  }
}
.input:has(.input__frame svg:first-child) .input__label {
  left: calc(var(--input__padding-inline) + var(--input__svg__width) + var(--input__gap) - var(--label__padding));
}
.input:has(.frame__pass) input[type=text] + .frame__pass .pass__on {
  display: none;
}
.input:has(.frame__pass) input[type=text] + .frame__pass .pass__off {
  display: flex;
}
.input:has(.frame__pass) input:not(:placeholder-shown) + .frame__pass {
  opacity: 1;
}
.input:has(.input__link) {
  display: flex;
  align-items: center;
}
.input .input__label {
  --label__padding: 0.375rem;
  display: flex;
  color: var(--input__label__color);
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  font-weight: 400;
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  .input .input__label {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.input .input__label {
  background-color: var(--input__background);
  padding-inline: var(--label__padding);
  position: absolute;
  z-index: 1;
  top: 0.875rem;
  left: calc(var(--input__padding-inline) - var(--label__padding));
  transition: top 0.15s ease-in-out, left 0.15s ease-in-out, font-size 0.15s ease-in-out, color 0.15s ease-in-out;
}
.input .input__frame {
  height: 3rem;
  display: flex;
  align-items: flex-start;
  gap: var(--input__gap);
  background-color: var(--input__background);
  padding: 0.75rem var(--input__padding-inline);
  border: 0.0625rem solid var(--input__border-color);
  border-radius: 0.25rem;
  position: relative;
}
.input .input__frame:has(textarea) {
  height: var(--input__textarea__height) !important;
}
.input .input__frame:has(textarea) textarea {
  resize: none;
}
.input .input__frame svg {
  width: var(--input__svg__width);
  min-width: var(--input__svg__width);
  height: auto;
  aspect-ratio: 1;
}
.input .input__frame svg path {
  stroke: var(--input__svg__color);
}
.input .input__frame input,
.input .input__frame textarea {
  width: 100%;
  height: 100%;
  color: var(--input__text__color);
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  font-weight: 500;
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  .input .input__frame input,
  .input .input__frame textarea {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.input .input__frame input::placeholder,
.input .input__frame textarea::placeholder {
  color: var(--input__background);
}
.input .input__frame input:-webkit-autofill, .input .input__frame input:-webkit-autofill:hover, .input .input__frame input:-webkit-autofill:focus, .input .input__frame input:-webkit-autofill:active,
.input .input__frame textarea:-webkit-autofill,
.input .input__frame textarea:-webkit-autofill:hover,
.input .input__frame textarea:-webkit-autofill:focus,
.input .input__frame textarea:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s, color 5000s ease-in-out 0s;
  -webkit-text-fill-color: var(--input__text__color) !important;
  background-color: transparent !important;
}
.input .input__frame input[type=password],
.input .input__frame textarea[type=password] {
  font-size: clamp(1.375rem, 0.5171rem + 1.0274vw, 1.75rem);
  font-weight: 600;
  line-height: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .input .input__frame input[type=password],
  .input .input__frame textarea[type=password] {
    font-size: clamp(1.125rem, 0.9351rem + 0.8439vw, 1.375rem);
    line-height: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  }
}
.input .input__frame .frame__pass {
  width: var(--input__svg__width);
  min-width: var(--input__svg__width);
  height: auto;
  aspect-ratio: 1;
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  .input .input__frame .frame__pass:hover {
    color: var(--secondary-900);
  }
}
.input .input__frame .frame__pass {
  display: flex;
  cursor: pointer;
  opacity: 0;
  color: var(--secondary-200);
}
.input .input__frame .frame__pass span {
  display: flex;
}
.input .input__frame .frame__pass span svg {
  width: 100%;
  min-width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.input .input__frame .frame__pass span svg path {
  stroke: currentColor;
  transition: stroke 0.3s ease-out;
}
.input .input__frame .frame__pass .pass__off {
  display: none;
}
.input .input__link {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  .input .input__link:hover {
    color: var(--secondary-900);
  }
}
.input .input__link {
  color: var(--primary-900);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  .input .input__link {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.input:has(input:focus) .input__label, .input:has(input:focus) .input__label, .input:has(textarea:focus) .input__label, .input:has(input:not(:focus):not(:placeholder-shown)) .input__label, .input:has(textarea:not(:focus):not(:placeholder-shown)) .input__label, .input:has(input:not(:empty)) .input__label, .input:has(textarea:not(:empty)) .input__label, .input:has(input:-webkit-autofill) .input__label, .input:has(select:-webkit-autofill) .input__label, .input:has(textarea:-webkit-autofill) .input__label {
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  .input:has(input:focus) .input__label, .input:has(input:focus) .input__label, .input:has(textarea:focus) .input__label, .input:has(input:not(:focus):not(:placeholder-shown)) .input__label, .input:has(textarea:not(:focus):not(:placeholder-shown)) .input__label, .input:has(input:not(:empty)) .input__label, .input:has(textarea:not(:empty)) .input__label, .input:has(input:-webkit-autofill) .input__label, .input:has(select:-webkit-autofill) .input__label, .input:has(textarea:-webkit-autofill) .input__label {
    font-size: clamp(0.75rem, 0.7025rem + 0.211vw, 0.8125rem);
  }
}
.input:has(input:focus) .input__label, .input:has(input:focus) .input__label, .input:has(textarea:focus) .input__label, .input:has(input:not(:focus):not(:placeholder-shown)) .input__label, .input:has(textarea:not(:focus):not(:placeholder-shown)) .input__label, .input:has(input:not(:empty)) .input__label, .input:has(textarea:not(:empty)) .input__label, .input:has(input:-webkit-autofill) .input__label, .input:has(select:-webkit-autofill) .input__label, .input:has(textarea:-webkit-autofill) .input__label {
  top: -0.625rem;
  left: calc(var(--input__padding-inline) - var(--label__padding)) !important;
}
.input .input__error {
  color: var(--input__error);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  display: none;
}
.input._required .input__label::after {
  content: "*";
  margin-left: 0.1875rem;
}
.input._error .input__label {
  color: var(--input__error);
}
.input._error .input__frame {
  border-color: var(--input__error);
  position: relative;
}
.input._error .input__frame::after {
  --icon__width: 1.5rem;
  display: flex;
  content: "";
  background-image: url("../images/icons/error_24x24.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: var(--icon__width);
  min-width: var(--icon__width);
  height: auto;
  aspect-ratio: 1;
}
.input._error .input__error {
  display: flex;
}

.double__input {
  --input__columns: repeat(2, minmax(0, 1fr));
  display: grid;
  grid-gap: 0 clamp(0.75rem, 0.1804rem + 2.5316vw, 1.5rem);
  grid-template-columns: var(--input__columns);
}
@media only screen and (max-width: 83.4375rem) {
  .double__input:has(.double__input) {
    --input__columns: minmax(0, 1fr);
  }
}
@media only screen and (max-width: 67.75rem) {
  .double__input:has(.double__input) {
    --input__columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 52.0625rem) {
  .double__input:has(.double__input) {
    --input__columns: minmax(0, 1fr);
  }
}

.floating__buttons {
  --floating__gap: 0.625rem;
  --floating__button__width: clamp(3.125rem, 2.8402rem + 1.2658vw, 3.5rem);
  --floating__buttons__height: var(--floating__button__width);
  --floating__button__background-color: var(--neutral-100);
  --floating__scroll__translateY: -100%;
  --floating__scroll__opacity: 0;
  --floating__icon__color: var(--secondary-900);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--floating__gap);
  height: var(--floating__buttons__height);
  position: fixed;
  z-index: 4;
  right: clamp(1rem, 0.6203rem + 1.6878vw, 1.5rem);
  bottom: clamp(1rem, 0.3354rem + 2.9536vw, 1.875rem);
}
.floating__buttons._active {
  --floating__scroll__translateY: 0;
  --floating__scroll__opacity: 1;
  --floating__buttons__height: calc(var(--floating__button__width) * 2 + var(--floating__gap));
}
.floating__buttons button {
  width: var(--floating__button__width);
  min-width: var(--floating__button__width);
  height: auto;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--floating__button__background-color);
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  border-radius: 50%;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .floating__buttons button:hover {
    --floating__button__background-color: var(--secondary-900);
    --floating__icon__color: var(--neutral-100);
  }
}
.floating__buttons .button__scroll {
  transform: translateY(var(--floating__scroll__translateY));
  opacity: var(--floating__scroll__opacity);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.floating__buttons .button__scroll svg {
  width: 1.25rem;
  min-width: 1.25rem;
  height: auto;
  aspect-ratio: 1;
}
.floating__buttons .button__scroll svg path {
  stroke: var(--floating__icon__color);
}
.floating__buttons .button__contacts svg {
  width: 1.5rem;
  min-width: 1.5rem;
  height: auto;
  aspect-ratio: 1;
}
.floating__buttons .button__contacts svg path {
  fill: var(--floating__icon__color);
}

.cookies {
  --cookies__logo__width: 10rem;
  --cookies__logo__aspect-ratio: 4;
  --cookies__button__width: 16rem;
  --cookies__buttons__gap: clamp(1.5rem, 0.3562rem + 1.3699vw, 2rem);
  --cookies__buttons__width: calc(var(--cookies__button__width) * 2 + var(--cookies__buttons__gap));
}
@media only screen and (max-width: 52.0625rem) {
  .cookies {
    --cookies__buttons__gap: 0.5rem;
    --cookies__button__width: 100%;
  }
}
.cookies {
  width: 100%;
  background-color: var(--neutral-100);
  position: fixed;
  z-index: 1000;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  box-shadow: var(--shadow-3);
}
.cookies._active {
  opacity: 1;
  visibility: visible;
}
.cookies .cookies__block {
  --block__columns: minmax(0, var(--cookies__logo__width)) minmax(0, 1fr);
  --block__template: 'logo text' 'logo checkboxes' 'buttons buttons';
}
@media only screen and (max-width: 52.0625rem) {
  .cookies .cookies__block {
    --block__columns: minmax(0, 1fr);
    --block__template: 'text' 'checkboxes' 'buttons';
  }
}
.cookies .cookies__block {
  display: grid;
  grid-gap: 0 clamp(2.5rem, 0.4233rem + 3.9841vw, 3.75rem);
  grid-template-columns: var(--block__columns);
  grid-template-rows: repeat(3, auto);
  padding-block: clamp(1rem, 0.6203rem + 1.6878vw, 1.5rem);
  align-items: flex-start;
  grid-template-areas: var(--block__template);
}
.cookies .cookies__logo {
  display: flex;
  grid-area: logo;
}
@media only screen and (max-width: 52.0625rem) {
  .cookies .cookies__logo {
    display: none;
  }
}
.cookies .cookies__logo img, .cookies .cookies__logo svg {
  width: var(--cookies__logo__width);
  min-width: var(--cookies__logo__width);
  height: auto;
  aspect-ratio: var(--cookies__logo__aspect-ratio);
  object-fit: contain;
}
.cookies .cookies__text {
  grid-area: text;
}
.cookies .cookies__text p,
.cookies .cookies__text .p {
  color: var(--primary-500);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  .cookies .cookies__text p,
  .cookies .cookies__text .p {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.cookies .cookies__text p:first-child,
.cookies .cookies__text .p:first-child {
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 500;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  .cookies .cookies__text p:first-child,
  .cookies .cookies__text .p:first-child {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
.cookies .cookies__text p:not(:first-child),
.cookies .cookies__text .p:not(:first-child) {
  margin-top: 0.375rem;
}
.cookies .cookies__text p strong,
.cookies .cookies__text p b,
.cookies .cookies__text .p strong,
.cookies .cookies__text .p b {
  font-weight: 500;
}
.cookies .cookies__checkboxes {
  --checkboxes__gap: clamp(1.875rem, -1.24rem + 5.9761vw, 3.75rem);
}
@media only screen and (max-width: 52.0625rem) {
  .cookies .cookies__checkboxes {
    --checkboxes__gap: 1rem;
  }
}
.cookies .cookies__checkboxes {
  display: flex;
  align-items: center;
  gap: var(--checkboxes__gap);
  grid-area: checkboxes;
  align-self: center;
  margin-top: clamp(1rem, -0.1438rem + 1.3699vw, 1.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .cookies .cookies__checkboxes {
    display: grid;
    grid-template-columns: repeat(2, auto);
  }
}
.cookies .cookies__buttons {
  --buttons__margin-left: auto;
}
@media only screen and (max-width: 52.0625rem) {
  .cookies .cookies__buttons {
    --buttons__direction: column-reverse;
    --buttons__margin-left: 0;
  }
}
.cookies .cookies__buttons {
  width: 100%;
  max-width: var(--cookies__buttons__width);
  display: flex;
  flex-direction: var(--buttons__direction);
  gap: var(--cookies__buttons__gap);
  grid-area: buttons;
  margin-left: var(--buttons__margin-left);
}
@media only screen and (max-width: 101.6875rem) {
  .cookies .cookies__buttons {
    margin-top: 1.5rem;
  }
}

.notification {
  width: 100%;
  position: fixed;
  z-index: 1000;
  left: 0;
  bottom: 1.875rem;
}
.notification .content {
  background-color: var(--neutral-100);
  width: 100%;
  display: flex;
  align-items: center;
  padding: 0.625rem;
  border-radius: 0.25rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.notification .content::after {
  background-color: var(--notification__background);
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
}
.notification .content::before {
  --icon__width: 1.5rem;
  display: flex;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: var(--icon__width);
  min-width: var(--icon__width);
  height: auto;
  aspect-ratio: 1;
  background-image: var(--notification__icon);
  margin-right: 0.375rem;
}
.notification p {
  color: var(--notification__color);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  .notification p {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.notification p {
  margin-right: auto;
}
.notification .close {
  --close__width: 1.25rem;
  display: flex;
  width: var(--close__width);
  min-width: var(--close__width);
  height: auto;
  aspect-ratio: 1;
  margin-left: 0.375rem;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .notification .close:hover svg path {
    stroke: var(--notification__color);
  }
}
.notification .close svg {
  width: 100%;
  min-width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.notification .close svg path {
  stroke: currentColor;
}
.notification._success {
  --notification__background: var(--success-100);
  --notification__icon: url(../images/icons/check-circle_24x24_success.svg);
  --notification__color: var(--success-700);
}
.notification._error {
  --notification__background: var(--error-100);
  --notification__icon: url(../images/icons/x-circle_24x24_red.svg);
  --notification__color: var(--error-700);
}

.header__mobile {
  background-color: var(--neutral-100);
  display: none;
  flex: 1;
}
@media only screen and (min-width: 83.5rem) and (hover: hover) and (pointer: fine) {
  .header__mobile {
    display: none !important;
  }
}
.header__mobile .mobile__info {
  display: flex;
  flex-direction: column;
  padding-block: 0.9375rem;
  border-top: 0.0625rem solid var(--surfaces-50);
  flex: 1;
}
@media only screen and (min-width: 120rem) {
  .header__mobile .mobile__info .info__pages,
  .header__mobile .mobile__info .info__websites {
    --wrap__padding: var(--padding);
    width: 100%;
    max-width: calc(var(--content) + 2 * var(--wrap__padding));
    padding-inline: var(--wrap__padding);
    margin-inline: auto;
    padding-inline: 0;
  }
}
.header__mobile .mobile__info .info__pages {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--secondary-300);
}
.header__mobile .mobile__info .info__pages .pages__item {
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .header__mobile .mobile__info .info__pages .pages__item:hover {
    color: var(--secondary-900);
  }
}
.header__mobile .mobile__info .info__pages .item__link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  .header__mobile .mobile__info .info__pages .item__link {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.header__mobile .mobile__info .info__pages .item__link {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  .header__mobile .mobile__info .info__pages .item__link:hover {
    color: var(--secondary-900);
  }
}
.header__mobile .mobile__info .info__pages .item__link {
  padding-block: 0.5625rem;
  padding-inline: var(--padding);
}
.header__mobile .mobile__info .info__websites {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-block: 1.125rem;
  margin-top: 0.5625rem;
  border-top: 0.0625rem solid var(--surfaces-50);
  padding-inline: var(--padding);
}
.header__mobile .mobile__info .info__websites .websites__item {
  --item__border-color: transparent;
  display: flex;
  width: var(--item__width);
  color: var(--item__color);
  border: 0.0625rem solid var(--item__border-color);
  border-radius: 0.375rem;
}
@media (hover: hover) and (pointer: fine) {
  .header__mobile .mobile__info .info__websites .websites__item:hover {
    opacity: 0.7;
  }
}
.header__mobile .mobile__info .info__websites .websites__item._active {
  --item__border-color: var(--item__color);
}
.header__mobile .mobile__info .info__websites .websites__item svg {
  width: 100%;
  height: auto;
}
.header__mobile .mobile__info .info__websites .websites__item svg path[stroke] {
  stroke: currentColor;
}
.header__mobile .mobile__info .info__websites .websites__item svg path[fill] {
  fill: currentColor;
}
.header__mobile .mobile__info .info__websites .websites__item._engineering {
  --item__color: #7C878E;
  --item__width: 12.5rem;
}
.header__mobile .mobile__info .info__websites .websites__item._components {
  --item__color: #008F8F;
  --item__width: 12.5625rem;
}
.header__mobile .mobile__info .info__websites .websites__item._property {
  --item__color: #7F9C90;
  --item__width: 10.5rem;
}

body:has(#menu__popup:checked) .header__mobile {
  display: flex;
  flex-direction: column;
}

header {
  --header__background: var(--header-100);
  --header__background-primary: var(--header-300);
  --header__text: var(--header-500);
  --header__text-primary: var(--header-450);
  --header__logo__width: clamp(12.5rem, 9.0685rem + 4.1096vw, 14rem);
  --header__logo__margin-right: 0rem;
  --header__languages__width: 3.375rem;
  --header__languages__padding-inline: 0.5625rem;
}
@media only screen and (max-width: 52.0625rem) {
  header {
    --header__logo__width: 10.5rem;
  }
}
@media only screen and (max-width: 22.4375rem) {
  header {
    --header__logo__width: 8.125rem;
  }
}
header {
  background-color: var(--header__background);
}
header ul li::before {
  content: none;
  position: unset;
  top: unset;
  left: unset;
}
header ul li {
  font-family: inherit;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
  position: unset;
  padding-left: unset;
}
header ul {
  list-style: none;
}
header a {
  text-decoration: none;
}
header {
  position: relative;
  z-index: 4;
}
header._sticky {
  position: sticky;
  top: calc(var(--header__height) * -1);
  transition: top 0.3s ease-in-out, background 0.3s ease-in-out;
}
header._sticky._active {
  top: 0;
  box-shadow: var(--shadow-1);
}
header._sticky:not(._active) .item__dropdown {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-1rem) !important;
}
header._sticky:not(._active) .nav {
  display: none !important;
}
header .header__mainbar {
  --mainbar__gap: clamp(1.5rem, -1.9315rem + 4.1096vw, 3rem);
  --mainbar__padding-block: clamp(0.6875rem, -0.5993rem + 1.5411vw, 1.25rem);
  --mainbar__burger: 1.5rem;
}
@media only screen and (max-width: 83.4375rem) {
  header .header__mainbar {
    --mainbar__gap: 1rem clamp(1rem, -0.1392rem + 5.0633vw, 2.5rem);
    --mainbar__padding-block: 1rem;
  }
}
header .header__mainbar {
  background-color: var(--header__background);
  padding-block: var(--mainbar__padding-block);
  color: var(--header__text);
}
header .header__mainbar .wrap {
  display: flex;
  align-items: center;
  gap: var(--mainbar__gap);
}
@media only screen and (max-width: 83.4375rem) {
  header .header__mainbar .wrap {
    display: grid;
    grid-template-columns: minmax(0, var(--mainbar__burger)) minmax(0, 1fr) auto;
    grid-template-areas: "burger logo actions";
  }
}
header .mainbar__burger {
  display: flex;
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  header .mainbar__burger:hover {
    color: var(--secondary-900);
  }
}
header .mainbar__burger {
  width: var(--mainbar__burger);
  min-width: var(--mainbar__burger);
  height: auto;
  aspect-ratio: 1;
  color: var(--header__text-primary);
  cursor: pointer;
}
@media only screen and (min-width: 83.5rem) and (hover: hover) and (pointer: fine) {
  header .mainbar__burger {
    display: none;
  }
}
header .mainbar__burger:has(input:checked) .burger__icon {
  display: none;
}
header .mainbar__burger:has(input:checked) .burger__close {
  display: block;
}
header .mainbar__burger svg {
  width: 100%;
  min-width: 100%;
  height: auto;
  aspect-ratio: 1;
}
header .mainbar__burger svg path {
  stroke: currentColor;
}
header .mainbar__burger .burger__close {
  display: none;
}
header .mainbar__logo {
  width: var(--header__logo__width);
  min-width: var(--header__logo__width);
  height: auto;
  aspect-ratio: 4;
  display: flex;
}
@media only screen and (min-width: 83.5rem) and (hover: none) and (pointer: coarse) {
  header .mainbar__logo {
    margin-inline: auto;
  }
}
@media only screen and (max-width: 83.4375rem) {
  header .mainbar__logo {
    grid-area: logo;
    margin-inline: auto;
  }
}
header .mainbar__logo svg {
  width: 100%;
  height: 100%;
}
header .mainbar__contacts {
  display: flex;
  align-items: center;
  color: inherit;
  margin-inline: auto;
}
@media only screen and (max-width: 83.4375rem) {
  header .mainbar__contacts {
    display: none;
  }
}
@media only screen and (max-width: 101.6875rem) and (hover: none) and (pointer: coarse) {
  header .mainbar__contacts {
    display: none;
  }
}
header .mainbar__contacts .contacts__phone {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
header .mainbar__contacts svg {
  width: 1.5rem;
  min-width: 1.5rem;
  height: auto;
  aspect-ratio: 1;
}
header .mainbar__contacts svg path {
  fill: currentColor;
}
header .mainbar__contacts .phone__title {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  header .mainbar__contacts .phone__title {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
@media only screen and (min-width: 83.5rem) and (hover: none) and (pointer: coarse) {
  header .mainbar__contacts .phone__title {
    display: none;
  }
}
@media only screen and (max-width: 101.6875rem) {
  header .mainbar__contacts .phone__title {
    display: none;
  }
}
header .mainbar__contacts .phone__value,
header .mainbar__contacts .contacts__email {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  header .mainbar__contacts .phone__value:hover,
  header .mainbar__contacts .contacts__email:hover {
    color: var(--secondary-900);
  }
}
header .mainbar__contacts .phone__value,
header .mainbar__contacts .contacts__email {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@supports (-webkit-line-clamp: 1) {
  header .mainbar__contacts .phone__value,
  header .mainbar__contacts .contacts__email {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: initial;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
}
header .mainbar__contacts .phone__value,
header .mainbar__contacts .contacts__email {
  word-break: break-all;
}
header .mainbar__contacts .phone__value {
  color: inherit;
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 600;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  header .mainbar__contacts .phone__value {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
header .mainbar__contacts .contacts__email {
  color: inherit;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  header .mainbar__contacts .contacts__email {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
header .mainbar__contacts .contacts__email {
  margin-left: 0.75rem;
  padding-left: 0.8125rem;
  position: relative;
}
header .mainbar__contacts .contacts__email::before {
  display: flex;
  width: 0.0625rem;
  height: 1rem;
  background-color: var(--primary-500);
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  opacity: 0.4;
}
header .mainbar__actions {
  --gap: clamp(1.5rem, -0.7877rem + 2.7397vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  header .mainbar__actions {
    --gap: clamp(0.875rem, 0.4003rem + 2.1097vw, 1.5rem);
  }
}
header .mainbar__actions {
  display: flex;
  align-items: center;
  gap: var(--gap);
}
@media only screen and (max-width: 83.4375rem) {
  header .mainbar__actions {
    grid-area: actions;
  }
}
header .mainbar__actions .actions__languages {
  margin-inline: calc(var(--header__languages__padding-inline) * -1);
  position: relative;
  z-index: 1;
  transition: filter 0.3s ease-in-out, background 0.3s ease-in-out;
  color: var(--header__text);
}
@media (hover: hover) and (pointer: fine) {
  header .mainbar__actions .actions__languages:active .languages__frame svg, header .mainbar__actions .actions__languages:focus .languages__frame svg, header .mainbar__actions .actions__languages:hover .languages__frame svg {
    transform: rotate(180deg);
  }
  header .mainbar__actions .actions__languages:active .languages__dropdown, header .mainbar__actions .actions__languages:focus .languages__dropdown, header .mainbar__actions .actions__languages:hover .languages__dropdown {
    background-color: var(--neutral-100);
    box-shadow: var(--shadow-1);
    opacity: 1;
    visibility: visible;
  }
}
@media (hover: none) and (pointer: coarse) {
  header .mainbar__actions .actions__languages._active .languages__frame svg {
    transform: rotate(180deg);
  }
  header .mainbar__actions .actions__languages._active .languages__dropdown {
    background-color: var(--neutral-100);
    box-shadow: var(--shadow-1);
    opacity: 1;
    visibility: visible;
  }
}
header .mainbar__actions .actions__languages .languages__frame,
header .mainbar__actions .actions__languages .dropdown__item,
header .mainbar__actions .actions__languages .item__link {
  text-transform: uppercase;
}
header .mainbar__actions .actions__languages .languages__frame,
header .mainbar__actions .actions__languages .dropdown__item {
  width: var(--header__languages__width);
  min-width: var(--header__languages__width);
  height: 2rem;
  padding-inline: var(--header__languages__padding-inline);
}
header .mainbar__actions .actions__languages .languages__frame {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  header .mainbar__actions .actions__languages .languages__frame {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
header .mainbar__actions .actions__languages .languages__frame svg {
  width: 0.875rem;
  min-width: 0.875rem;
  height: auto;
  aspect-ratio: 1;
}
header .mainbar__actions .actions__languages .languages__frame svg path {
  stroke: currentColor;
}
header .mainbar__actions .actions__languages .languages__dropdown {
  padding-block: 0.25rem;
  border-radius: 0.375rem;
  position: absolute;
  top: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, background 0.3s ease-in-out;
}
header .mainbar__actions .actions__languages .dropdown__item {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
header .mainbar__actions .actions__languages .dropdown__item:not(:first-child) {
  border-top: 0.0625rem solid var(--surfaces-50);
}
header .mainbar__actions .actions__languages .dropdown__item .item__link {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  header .mainbar__actions .actions__languages .dropdown__item .item__link:hover {
    color: var(--secondary-900);
  }
}
header .mainbar__actions .actions__languages .dropdown__item .item__link {
  color: var(--primary-500);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  header .mainbar__actions .actions__languages .dropdown__item .item__link {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
header .mainbar__actions .actions__languages .dropdown__item .item__link._active {
  color: var(--secondary-900);
}
header .header__navbar {
  background-color: var(--header__background-primary);
  display: none;
}
@media only screen and (min-width: 83.5rem) and (hover: hover) and (pointer: fine) {
  header .header__navbar {
    display: block;
  }
}
header .header__navbar .wrap {
  display: flex;
  gap: var(--body__menu__gap);
}
header .navbar__pages {
  --pages__direction: row;
  --pages__gap: clamp(1.625rem, -3.2363rem + 5.8219vw, 3.75rem);
  --pages__padding-block: clamp(0.9375rem, 1.143rem + -0.1712vw, 1rem);
  display: flex;
  flex-direction: var(--pages__direction);
  color: var(--header__text-primary);
}
header .navbar__pages .pages__item {
  display: flex;
  padding-block: var(--pages__padding-block);
  padding-inline: calc(var(--pages__gap) / 2);
}
header .navbar__pages .pages__item:first-child {
  padding-left: 0;
}
header .navbar__pages .pages__item:last-child {
  padding-right: 0;
}
@media (hover: hover) and (pointer: fine) {
  header .navbar__pages .pages__item:hover .item__link {
    color: var(--primary-900);
  }
}
header .navbar__pages .pages__item._active .item__link {
  color: var(--active-700);
}
header .navbar__pages .item__link {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  header .navbar__pages .item__link:hover {
    color: var(--secondary-900);
  }
}
header .navbar__pages .item__link {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: inherit;
  font-size: clamp(0.75rem, 0.3211rem + 0.5137vw, 0.9375rem);
  font-weight: 500;
  line-height: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
}
@media only screen and (max-width: 83.4375rem) {
  header .navbar__pages .item__link {
    font-size: clamp(0.75rem, 0.9163rem + -0.1992vw, 0.8125rem);
  }
}
header .navbar__pages .item__link svg {
  width: 0.875rem;
  min-width: 0.875rem;
  height: auto;
  aspect-ratio: 1;
}
header .navbar__pages .item__link svg path {
  stroke: currentColor;
}
header .navbar__websites {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, -2.9315rem + 4.1096vw, 2rem);
  margin-left: auto;
}
header .navbar__websites .websites__item {
  --item__border-color: transparent;
  display: flex;
  width: var(--item__width);
  color: var(--item__color);
  border: 0.0625rem solid var(--item__border-color);
  border-radius: 0.375rem;
}
@media (hover: hover) and (pointer: fine) {
  header .navbar__websites .websites__item:hover {
    opacity: 0.7;
  }
}
header .navbar__websites .websites__item._active {
  --item__border-color: var(--item__color);
}
header .navbar__websites .websites__item svg {
  width: 100%;
  height: auto;
}
header .navbar__websites .websites__item svg path[stroke] {
  stroke: currentColor;
}
header .navbar__websites .websites__item svg path[fill] {
  fill: currentColor;
}
header .navbar__websites .websites__item._engineering {
  --item__color: #7C878E;
  --item__width: clamp(10rem, 4.2808rem + 6.8493vw, 12.5rem);
}
header .navbar__websites .websites__item._components {
  --item__color: #008F8F;
  --item__width: clamp(10rem, 4.1378rem + 7.0205vw, 12.5625rem);
}
header .navbar__websites .websites__item._property {
  --item__color: #7F9C90;
  --item__width: clamp(8.3125rem, 3.3082rem + 5.9932vw, 10.5rem);
}
header:has(#menu__popup:checked) {
  display: flex;
  flex-direction: column;
  position: fixed;
  inset: 0;
  z-index: 10;
  overflow-y: auto;
}

body:has(#menu__popup:checked) {
  padding-top: var(--header__height);
  overflow: hidden;
}

footer {
  background-color: var(--footer-100);
}
footer .footer__infobar {
  --footer__logo__width: 10rem;
  --footer__logo__margin-right: clamp(0rem, -5.7192rem + 6.8493vw, 2.5rem);
  --footer__divider__margin-inline: clamp(0rem, -5.7192rem + 6.8493vw, 2.5rem);
}
@media only screen and (max-width: 83.4375rem) {
  footer .footer__infobar {
    --footer__logo__margin-right: 0;
  }
}
footer .footer__infobar ul li::before {
  content: none;
  position: unset;
  top: unset;
  left: unset;
}
footer .footer__infobar ul li {
  font-family: inherit;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
  position: unset;
  padding-left: unset;
}
footer .footer__infobar ul {
  list-style: none;
}
footer .footer__infobar a {
  text-decoration: none;
}
footer .footer__infobar {
  padding-top: var(--padding-block);
  padding-bottom: 2.5rem;
  color: var(--footer-450);
}
@media only screen and (max-width: 83.4375rem) {
  footer .footer__infobar {
    padding-bottom: 2rem;
  }
}
@media only screen and (max-width: 52.0625rem) {
  footer .footer__infobar {
    padding-bottom: 0;
  }
}
footer .footer__infobar .wrap {
  display: grid;
  grid-gap: 2.5rem clamp(3rem, -1.5753rem + 5.4795vw, 5rem);
  grid-template-columns: calc(var(--footer__logo__width) + var(--footer__logo__margin-right)) minmax(0, 1fr) calc(0.0625rem + var(--footer__divider__margin-inline) * 2) auto auto minmax(0, 1fr);
  grid-template-areas: "logo contacts divider services info websites";
}
@media only screen and (max-width: 83.4375rem) {
  footer .footer__infobar .wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) calc(0.0625rem + var(--footer__divider__margin-inline) * 2) auto auto auto;
    grid-template-rows: repeat(3, auto);
    grid-template-areas: "logo divider services info websites" "contacts divider services info websites" "contacts divider services info websites";
  }
}
@media only screen and (max-width: 67.75rem) {
  footer .footer__infobar .wrap {
    display: grid;
    grid-gap: 2.5rem 2.25rem;
    grid-template-columns: minmax(0, 1fr) calc(0.0625rem + var(--footer__divider__margin-inline) * 2) auto auto;
    grid-template-rows: repeat(5, auto);
    grid-template-areas: "logo divider services websites" "contacts divider services websites" "contacts divider services websites" "contacts divider services websites" "contacts divider info websites";
  }
}
@media only screen and (max-width: 52.0625rem) {
  footer .footer__infobar .wrap {
    display: flex;
    flex-direction: column;
    gap: 0rem;
  }
}
footer .footer__infobar .infobar__divider {
  width: calc(100% - var(--footer__divider__margin-inline) * 2);
  height: 100%;
  background-color: var(--footer-50);
  display: flex;
  margin-inline: var(--footer__divider__margin-inline);
  grid-area: divider;
}
footer .infobar__logo {
  width: var(--footer__logo__width);
  min-width: var(--footer__logo__width);
  height: auto;
  aspect-ratio: 4;
  display: flex;
  margin-right: var(--footer__logo__margin-right);
  grid-area: logo;
}
footer .infobar__logo svg {
  width: 100%;
  height: 100%;
}
footer .infobar__contacts {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  grid-area: contacts;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__contacts {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding-top: 2rem;
    padding-bottom: 1.5rem;
  }
}
footer .infobar__contacts .contacts__item {
  display: flex;
  align-items: flex-start;
  gap: clamp(0.5rem, 0.1203rem + 1.6878vw, 1rem);
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__contacts .contacts__item._clock {
    display: flex;
    align-items: center;
  }
}
footer .infobar__contacts a.contacts__item {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  footer .infobar__contacts a.contacts__item:hover {
    text-decoration: underline;
  }
}
footer .infobar__contacts a[href^=tel].contacts__item {
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 600;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__contacts a[href^=tel].contacts__item {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
footer .infobar__contacts .contacts__item:not(a[href^=tel]) {
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  font-weight: 400;
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__contacts .contacts__item:not(a[href^=tel]) {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
footer .infobar__contacts .contacts__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  min-width: 2rem;
  height: auto;
  aspect-ratio: 1;
}
footer .infobar__contacts .contacts__icon svg {
  width: 1.5rem;
  min-width: 1.5rem;
  height: auto;
  aspect-ratio: 1;
}
footer .infobar__contacts .contacts__icon svg path {
  stroke: var(--footer-200);
}
footer .infobar__contacts .contacts__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(0.125rem, -0.0649rem + 0.8439vw, 0.375rem);
  align-self: center;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__contacts .contacts__text {
    justify-content: flex-start;
  }
  footer .infobar__contacts .contacts__text:not(:has(.link-arrow)) {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
footer .infobar__contacts .link-arrow {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--footer-500);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__contacts .link-arrow {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
footer .infobar__contacts .link-arrow {
  margin-top: clamp(0rem, -0.1899rem + 0.8439vw, 0.25rem);
}
@media (hover: hover) and (pointer: fine) {
  footer .infobar__contacts .link-arrow:hover {
    text-decoration: underline;
  }
}
footer .infobar__contacts .link-arrow svg {
  width: 1.0625rem;
  min-width: 1.0625rem;
  height: auto;
  aspect-ratio: 1;
}
footer .infobar__contacts .link-arrow svg path {
  stroke: currentColor;
}
footer .infobar__col {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__col {
    padding-block: 1.5rem;
    border-top: 0.0625rem solid var(--footer-50);
  }
  footer .infobar__col:has(input:checked) .col__title svg path:nth-child(2) {
    display: none;
  }
  footer .infobar__col:has(input:checked) .col__list {
    display: flex;
  }
}
footer .infobar__col .col__title {
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  font-weight: 600;
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__col .col__title {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__col .col__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
    cursor: pointer;
    color: inherit;
  }
}
@media only screen and (max-width: 52.0625rem) and (hover: hover) and (pointer: fine) {
  footer .infobar__col .col__title:hover {
    text-decoration: underline;
  }
}
footer .infobar__col .col__title svg {
  display: none;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__col .col__title svg {
    width: 1.5rem;
    min-width: 1.5rem;
    height: auto;
    aspect-ratio: 1;
    display: block;
  }
  footer .infobar__col .col__title svg path {
    stroke: currentColor;
  }
}
footer .infobar__col .col__list {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__col .col__list {
    display: none;
  }
}
footer .infobar__col .item__link {
  color: inherit;
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  font-weight: 300;
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__col .item__link {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
@media (hover: hover) and (pointer: fine) {
  footer .infobar__col .item__link:hover {
    text-decoration: underline;
  }
}
footer .infobar__col._info {
  grid-area: info;
}
footer .infobar__col._services {
  grid-area: services;
}
footer .infobar__websites {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  grid-area: websites;
}
@media only screen and (max-width: 52.0625rem) {
  footer .infobar__websites {
    padding-block: 1.5rem;
    border-top: 0.0625rem solid var(--footer-50);
  }
}
footer .infobar__websites .websites__item {
  --item__color: var(--neutral-100);
  --item__border-color: transparent;
  display: flex;
  width: var(--item__width);
  color: var(--item__color);
  border: 0.0625rem solid var(--item__border-color);
  border-radius: 0.375rem;
}
@media (hover: hover) and (pointer: fine) {
  footer .infobar__websites .websites__item:hover {
    opacity: 0.7;
  }
}
footer .infobar__websites .websites__item._active {
  --item__border-color: var(--item__color);
}
footer .infobar__websites .websites__item svg {
  width: 100%;
  height: auto;
}
footer .infobar__websites .websites__item svg path[stroke] {
  stroke: currentColor;
}
footer .infobar__websites .websites__item svg path[fill] {
  fill: currentColor;
}
footer .infobar__websites .websites__item._engineering {
  --item__width: 12.5rem;
}
footer .infobar__websites .websites__item._components {
  --item__width: 12.5625rem;
}
footer .infobar__websites .websites__item._property {
  --item__width: 10.5rem;
}
footer .footer__copyright {
  color: var(--footer-300);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  footer .footer__copyright {
    font-size: clamp(0.75rem, 0.7025rem + 0.211vw, 0.8125rem);
  }
}
footer .footer__copyright {
  border-top: 0.0625rem solid var(--footer-50);
  padding-block: clamp(1rem, 0.8101rem + 0.8439vw, 1.25rem);
}
footer .footer__copyright .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.875rem;
}
@media only screen and (max-width: 52.0625rem) {
  footer .footer__copyright .wrap {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
}
footer .footer__copyright a {
  display: flex;
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  footer .footer__copyright a:hover {
    color: var(--secondary-900);
  }
}
footer .footer__copyright span:has(a) {
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
}
footer .footer__copyright span:has(a) svg {
  width: 5.6875rem;
  height: auto;
  aspect-ratio: 6.0666666667;
}
footer .footer__copyright span:has(a) svg path {
  fill: currentColor;
}

.popup {
  --popup__width: clamp(31.25rem, 16.6661rem + 17.4658vw, 37.625rem);
  background-color: rgba(0, 0, 0, 0.3);
  position: fixed;
  z-index: 10;
  inset: 0;
  display: none;
  padding: var(--padding);
  overflow-y: auto;
}
.popup._active {
  display: flex;
}
.popup .popup__card {
  width: 100%;
  max-width: var(--popup__width);
  background-color: var(--neutral-100);
  box-shadow: var(--shadow-1);
  border-radius: 0.75rem;
  position: relative;
  padding: clamp(2rem, 1.2405rem + 3.3755vw, 3rem) clamp(1rem, -0.519rem + 6.7511vw, 3rem);
  margin: auto;
}
.popup .popup__close {
  --close__position: clamp(1rem, 0.8101rem + 0.8439vw, 1.25rem);
  --close__color: var(--primary-500);
  --close__width: 1.5rem;
  width: var(--close__width);
  min-width: var(--close__width);
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: var(--close__position);
  right: var(--close__position);
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .popup .popup__close:hover {
    --close__color: var(--secondary-900);
  }
}
.popup .popup__close svg {
  width: 100%;
  min-width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.popup .popup__close svg path {
  stroke: var(--close__color);
}
.popup._contacts {
  --popup__width: clamp(37.5rem, 11.1918rem + 31.5068vw, 49rem);
  color: var(--primary-500);
}
.popup._contacts .popup__card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.popup._contacts .card__title {
  color: inherit;
  font-size: clamp(1.125rem, 0.839rem + 0.3425vw, 1.25rem);
  font-weight: 600;
  line-height: 1.75rem;
}
.popup._contacts .card__title {
  text-align: center;
}
.popup._contacts .card__form {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
}
.popup._contacts .input {
  --input__margin-top: 0;
}

.sell._card {
  display: flex;
  flex-direction: column;
  border-radius: 0.375rem;
  overflow: hidden;
}
.sell._card .sell__photo {
  width: 100%;
  height: auto;
  aspect-ratio: 1.5;
  display: flex;
}
.sell._card .sell__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sell._card .sell__content {
  --content__padding: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 83.4375rem) {
  .sell._card .sell__content {
    --content__padding: clamp(1.5rem, 0.6693rem + 1.5936vw, 2rem);
  }
}
.sell._card .sell__content {
  background-color: var(--neutral-100);
  display: flex;
  flex-direction: column;
  padding: var(--content__padding);
  flex: 1;
}
.sell._card .content__heading {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.sell._card .heading__title {
  color: var(--primary-500);
  font-size: clamp(1.125rem, 0.839rem + 0.3425vw, 1.25rem);
  font-weight: 600;
  line-height: 1.75rem;
}
.sell._card .heading__location {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--secondary-700);
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 500;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  .sell._card .heading__location {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
.sell._card .heading__location svg {
  width: 1.125rem;
  min-width: 1.125rem;
  height: auto;
  aspect-ratio: 1;
}
.sell._card .heading__location svg path {
  stroke: currentColor;
}
.sell._card .content__specs {
  --specs__gap: clamp(1rem, -0.1438rem + 1.3699vw, 1.5rem);
  --specs__columns: repeat(3, minmax(0, 1fr));
  --specs__margin-top: 1.5rem;
  --specs__padding-top: var(--specs__margin-top);
}
@media only screen and (max-width: 83.4375rem) {
  .sell._card .content__specs {
    --specs__columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 67.75rem) {
  .sell._card .content__specs {
    --specs__columns: minmax(0, 1fr);
  }
}
.sell._card .content__specs {
  display: grid;
  grid-gap: var(--specs__gap);
  grid-template-columns: var(--specs__columns);
  margin-top: var(--specs__margin-top);
  margin-bottom: auto;
  padding-top: var(--specs__padding-top);
  border-top: 0.0625rem solid #E2E6EA;
}
.sell._card .specs__item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.sell._card .specs__item svg {
  width: 2rem;
  min-width: 2rem;
  height: auto;
  aspect-ratio: 1;
}
.sell._card .specs__item svg rect {
  fill: var(--primary-900);
}
.sell._card .specs__item svg path {
  stroke: var(--neutral-100);
}
.sell._card .specs__item .item__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.125rem;
}
.sell._card .specs__item .text__value {
  color: var(--primary-500);
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  font-weight: 500;
  line-height: 1.125rem;
}
@media only screen and (max-width: 52.0625rem) {
  .sell._card .specs__item .text__value {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.sell._card .specs__item .text__title {
  color: var(--secondary-100);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  .sell._card .specs__item .text__title {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.sell._card .button {
  --button__margin-top: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 83.4375rem) {
  .sell._card .button {
    --button__margin-top: clamp(1.5rem, 0.6693rem + 1.5936vw, 2rem);
  }
}
.sell._card .button {
  margin-top: var(--button__margin-top);
}

.slick-slider .slick-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  font-size: 0;
  z-index: 1;
}
.slick-slider .slick-arrow::before {
  content: none;
}

.wrap {
  --wrap__padding: var(--padding);
  width: 100%;
  max-width: calc(var(--content) + 2 * var(--wrap__padding));
  padding-inline: var(--wrap__padding);
  margin-inline: auto;
}

.homepage__hero {
  --hero__padding-top: clamp(1.875rem, 0.4452rem + 1.7123vw, 2.5rem);
  --hero__padding-bottom: clamp(5rem, -0.7192rem + 6.8493vw, 7.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero {
    --hero__padding-top: clamp(1.5rem, 1.2152rem + 1.2658vw, 1.875rem);
    --hero__padding-bottom: clamp(3.75rem, 2.8006rem + 4.2194vw, 5rem);
  }
}
.homepage__hero {
  padding-top: var(--hero__padding-top);
  padding-bottom: var(--hero__padding-bottom);
}
.homepage__hero .hero__slider:not(.slick-initialized) {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  overflow: hidden;
}
.homepage__hero .hero__slider:not(.slick-initialized) > *:nth-child(n+2) {
  display: none;
}
.homepage__hero .hero__slider .slick-track {
  display: flex !important;
}
.homepage__hero .hero__slider .slick-track .slick-slide {
  height: inherit !important;
}
.homepage__hero .hero__slider .slick-track .slick-slide > div:not([class]), .homepage__hero .hero__slider .slick-track .slick-slide > div:not([class]) > div:not([class]) {
  height: 100%;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero .hero__slider:only-child {
    width: 57.5rem;
    max-width: 100%;
    margin-inline: auto;
  }
}
.homepage__hero:has(.hero__content) .wrap,
.homepage__hero .slider__item {
  --item__content__width: minmax(0, clamp(33.75rem, -3.4247rem + 44.5205vw, 50rem));
  --item__photo__width: minmax(0, 1fr);
  --item__gap: clamp(1.75rem, -5.6849rem + 8.9041vw, 5rem);
  --item__columns: var(--item__content__width) var(--item__photo__width);
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__hero:has(.hero__content) .wrap,
  .homepage__hero .slider__item {
    --item__content__width: minmax(0, clamp(28.75rem, 7.1365rem + 31.8725vw, 33.75rem));
  }
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero:has(.hero__content) .wrap,
  .homepage__hero .slider__item {
    --item__gap: clamp(0.75rem, -1.5285rem + 10.1266vw, 3.75rem);
    --item__columns: minmax(0, 1fr);
  }
}
.homepage__hero:has(.hero__content) .wrap,
.homepage__hero .slider__item {
  display: grid;
  grid-gap: var(--item__gap);
  grid-template-columns: var(--item__columns);
  align-items: center;
}
.homepage__hero .item__content,
.homepage__hero .hero__content {
  --content__gap: clamp(0.5rem, -0.6438rem + 1.3699vw, 1rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .item__content,
  .homepage__hero .hero__content {
    --content__gap: clamp(0rem, -0.3797rem + 1.6878vw, 0.5rem);
  }
}
.homepage__hero .item__content,
.homepage__hero .hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--content__gap);
}
.homepage__hero .content__headline {
  color: var(--primary-900);
  font-size: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
  font-weight: 600;
  line-height: clamp(1.5rem, 0.9281rem + 0.6849vw, 1.75rem);
  letter-spacing: clamp(0.375rem, 0.089rem + 0.3425vw, 0.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .content__headline {
    letter-spacing: clamp(0.25rem, 0.1551rem + 0.4219vw, 0.375rem);
  }
}
.homepage__hero .content__headline {
  text-transform: uppercase;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero .content__headline {
    text-align: center;
  }
}
.homepage__hero .content__block {
  --block__gap: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .content__block {
    --block__gap: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  }
}
.homepage__hero .content__block {
  display: flex;
  flex-direction: column;
  gap: var(--block__gap);
}
.homepage__hero .block__text {
  --text__gap: clamp(1.5rem, 0.3562rem + 1.3699vw, 2rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .block__text {
    --text__gap: clamp(0.5rem, -0.2595rem + 3.3755vw, 1.5rem);
  }
}
.homepage__hero .block__text {
  display: flex;
  flex-direction: column;
  gap: var(--text__gap);
}
.homepage__hero h1, .homepage__hero .h1 {
  font-size: clamp(3rem, -2.1473rem + 6.1644vw, 5.25rem);
  font-weight: 700;
  line-height: clamp(3.375rem, -1.4863rem + 5.8219vw, 5.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero h1, .homepage__hero .h1 {
    font-size: clamp(2rem, 1.2405rem + 3.3755vw, 3rem);
    line-height: clamp(2.375rem, 1.6155rem + 3.3755vw, 3.375rem);
  }
}
.homepage__hero h1, .homepage__hero .h1 {
  line-height: 1.15;
  background: var(--other-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-wrap: pretty;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero h1, .homepage__hero .h1 {
    text-align: center;
  }
}
.homepage__hero p, .homepage__hero .p {
  color: var(--secondary-300);
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 400;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero p, .homepage__hero .p {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
.homepage__hero p, .homepage__hero .p {
  text-wrap: balance;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero p, .homepage__hero .p {
    text-align: center;
  }
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero .button {
    margin-inline: auto;
  }
}
.homepage__hero .content__facts {
  --facts__margin-top: clamp(3rem, -1.5753rem + 5.4795vw, 5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .content__facts {
    --facts__margin-top: clamp(2rem, 1.2405rem + 3.3755vw, 3rem);
  }
}
.homepage__hero .content__facts {
  margin-top: calc(var(--facts__margin-top) - var(--content__gap));
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero .content__facts {
    width: calc(100% + var(--padding) * 2);
    overflow: hidden;
    margin-inline: calc(var(--padding) * -1);
  }
}
.homepage__hero .facts__inner {
  --inner__gap: clamp(1.25rem, -1.6096rem + 3.4247vw, 2.5rem) 0;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero .facts__inner {
    --inner__gap: clamp(2.5rem, 2.1203rem + 1.6878vw, 3rem);
  }
}
.homepage__hero .facts__inner {
  display: grid;
  grid-gap: var(--inner__gap);
  grid-template-columns: minmax(0, 0.4fr) minmax(0, 1fr);
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero .facts__inner {
    display: flex;
    min-width: max-content;
    padding-inline: var(--padding);
    animation: slide 10s ease-in-out infinite alternate;
  }
}
.homepage__hero .inner__divider {
  width: 0.0625rem;
  min-width: 0.0625rem;
  background-color: var(--surfaces-50);
}
@media only screen and (min-width: 67.8125rem) {
  .homepage__hero .inner__divider {
    display: none;
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .inner__divider {
    display: none;
  }
}
.homepage__hero .inner__item {
  --item__gap: clamp(0.25rem, -0.3219rem + 0.6849vw, 0.5rem);
  --item__padding: clamp(3rem, 1.2842rem + 2.0548vw, 3.75rem);
  display: flex;
  flex-direction: column;
  gap: var(--item__gap);
  min-width: max-content;
}
@media only screen and (min-width: 67.8125rem) {
  .homepage__hero .inner__item:nth-child(1), .homepage__hero .inner__item:nth-child(5) {
    padding-right: var(--item__padding);
  }
  .homepage__hero .inner__item:nth-child(3), .homepage__hero .inner__item:nth-child(7) {
    padding-left: var(--item__padding);
    border-left: 0.0625rem solid var(--surfaces-50);
  }
}
.homepage__hero .item__title {
  color: var(--secondary-600);
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  font-weight: 600;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .item__title {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.homepage__hero .item__title {
  opacity: 0.9;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero .item__title {
    text-align: center;
  }
}
.homepage__hero .item__value {
  font-size: clamp(2rem, 1.4281rem + 0.6849vw, 2.25rem);
  font-weight: 600;
  line-height: clamp(2.5rem, 1.9281rem + 0.6849vw, 2.75rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .item__value {
    font-size: clamp(1.25rem, 0.6804rem + 2.5316vw, 2rem);
    line-height: clamp(1.5rem, 0.7405rem + 3.3755vw, 2.5rem);
  }
}
.homepage__hero .item__value {
  background: var(--other-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero .item__value {
    text-align: center;
  }
}
.homepage__hero .item__photo {
  display: flex;
  width: 100%;
  height: auto;
  aspect-ratio: 1.3333333333;
  border-radius: 0.375rem;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .item__photo {
    aspect-ratio: 0.7454545455;
  }
}
.homepage__hero .item__photo::before {
  background-image: url("../images/backgrounds/mask/300x600/image_1.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  width: clamp(11.875rem, 0.4366rem + 13.6986vw, 16.875rem);
  height: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: clamp(-6.625rem, -1.2825rem + -4.4521vw, -5rem);
  z-index: 2;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__hero .item__photo::before {
    background-image: url("../images/backgrounds/mask/600x300/image_1.svg");
    background-position: top center;
    width: 100%;
    height: clamp(8.25rem, 4.9272rem + 14.7679vw, 12.625rem);
    aspect-ratio: unset;
    top: clamp(-6.3125rem, -1.8038rem + -8.6498vw, -3.75rem);
    left: 0;
    right: 0;
    bottom: unset;
  }
}
.homepage__hero .item__photo img, .homepage__hero .item__photo picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.homepage__hero .slick-arrow {
  --slider__arrow__width: 2.5rem;
  --slick__arrow__position: 1rem;
  --slick__arrow__gap: 0.375rem;
  --slick__background-color: var(--neutral-100);
  --slick__arrow__opacity: 0.4;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .slick-arrow {
    --slick__arrow__position: 0.5rem;
  }
}
.homepage__hero .slick-arrow {
  width: var(--slider__arrow__width);
  min-width: var(--slider__arrow__width);
  height: auto;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  overflow: hidden;
  font-size: 0;
  z-index: 1;
  top: unset;
  left: unset;
  transform: unset;
  right: var(--slick__arrow__position);
}
@media only screen and (min-width: 52.125rem) {
  .homepage__hero .slick-arrow {
    bottom: var(--slick__arrow__position);
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .slick-arrow {
    bottom: clamp(12.5rem, -0.0791rem + 55.9072vw, 29.0625rem);
  }
}
@media (hover: hover) and (pointer: fine) {
  .homepage__hero .slick-arrow:hover {
    --slick__arrow__opacity: 1;
  }
}
.homepage__hero .slick-arrow::before {
  background-color: var(--slick__background-color);
  width: 100%;
  min-width: 100%;
  height: auto;
  aspect-ratio: 1;
  position: relative;
  content: "" !important;
  opacity: var(--slick__arrow__opacity) !important;
  box-sizing: border-box;
  transition: opacity 0.1s ease-in-out;
}
.homepage__hero .slick-arrow::after {
  --icon__width: 1.5rem;
  display: flex;
  content: "";
  background-image: url("../images/icons/chevron-right_24x24.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: var(--icon__width);
  min-width: var(--icon__width);
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 52.125rem) {
  .homepage__hero .slick-arrow.slick-prev {
    right: calc(var(--slick__arrow__position) + var(--slick__arrow__gap) + var(--slider__arrow__width));
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__hero .slick-arrow.slick-prev {
    left: var(--slick__arrow__position);
  }
}
.homepage__hero .slick-arrow.slick-prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}

@keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% + 100dvw));
  }
}
.homepage__features {
  --features__padding-top: clamp(5rem, 2.1404rem + 3.4247vw, 6.25rem);
  --features__padding-bottom: clamp(6.25rem, -5.1884rem + 13.6986vw, 11.25rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__features {
    --features__padding-top: clamp(3.375rem, 2.1408rem + 5.4852vw, 5rem);
    --features__padding-bottom: clamp(5rem, 1.2025rem + 16.8776vw, 10rem);
  }
}
.homepage__features {
  background-color: var(--surfaces-300);
  padding-top: var(--features__padding-top);
  padding-bottom: var(--features__padding-bottom);
  overflow: hidden;
  position: relative;
}
.homepage__features::before {
  --icon__height: clamp(10.75rem, -1.8322rem + 15.0685vw, 16.25rem);
  --icon__bottom: clamp(-7.5rem, 0.3082rem + -6.5068vw, -5.125rem);
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__features::before {
    --icon__height: clamp(10.75rem, 25.3875rem + -17.5299vw, 16.25rem);
    --icon__bottom: clamp(-7.5rem, -11.4457rem + 7.5697vw, -5.125rem);
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__features::before {
    --icon__height: clamp(8.25rem, 2.1741rem + 27.0042vw, 16.25rem);
    --icon__bottom: clamp(-7.5rem, -1.1218rem + -12.2363vw, -3.875rem);
  }
}
.homepage__features::before {
  background-image: url("../images/backgrounds/mask/600x300/image_1.svg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
  width: 100%;
  height: var(--icon__height);
  aspect-ratio: unset;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: var(--icon__bottom);
  z-index: 2;
  transform: rotate(180deg);
}
.homepage__features .wrap {
  --content: 111.875rem;
  --wrap__padding: clamp(2.6563rem, -0.6323rem + 3.9384vw, 4.0938rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__features .wrap {
    --wrap__padding: clamp(1rem, -1.1361rem + 9.4937vw, 3.8125rem);
  }
}
.homepage__features .features__box {
  --box__gap: clamp(0.375rem, -0.1969rem + 0.6849vw, 0.625rem);
  --box__columns: repeat(4, minmax(0, 1fr));
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__features .features__box {
    --box__gap: clamp(0.3125rem, 0.265rem + 0.211vw, 0.375rem);
    --box__columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 37.25rem) {
  .homepage__features .features__box {
    --box__columns: minmax(0, 1fr);
  }
}
.homepage__features .features__box {
  display: grid;
  grid-gap: var(--box__gap);
  grid-template-columns: var(--box__columns);
  grid-auto-flow: dense;
  margin-inline: auto;
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__features .features__box {
    width: 44.375rem;
    max-width: 100%;
  }
}
.homepage__features .box__item {
  --item__background-image: var(--desktop-image);
  --item__color: var(--primary-500);
  --item__subtitle__color: var(--secondary-900);
  --item__padding: clamp(1.5rem, -0.7877rem + 2.7397vw, 2.5rem);
  --item__padding-right: clamp(0rem, -5.7192rem + 6.8493vw, 2.5rem);
  --item__gap: clamp(1rem, -1.2877rem + 2.7397vw, 2rem);
  --item__content__gap: clamp(0.5rem, -0.6438rem + 1.3699vw, 1rem);
  --item__photo__width: clamp(19.25rem, 0.3767rem + 22.6027vw, 27.5rem);
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__features .box__item {
    --item__photo__width: clamp(15.625rem, -0.4335rem + 43.038vw, 22rem);
    --item__padding-right: clamp(0rem, -1.2118rem + 3.2476vw, 1.5rem);
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__features .box__item {
    --item__background-image: var(--mobile-image);
  }
}
@media only screen and (max-width: 37.25rem) {
  .homepage__features .box__item {
    --item__padding: 1.5rem clamp(0rem, -2.2785rem + 10.1266vw, 1.5rem);
  }
}
.homepage__features .box__item {
  background-repeat: no-repaeat;
  background-position: center;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--item__gap);
  background-image: var(--item__background-image);
  border-radius: 0.375rem;
  overflow: hidden;
  padding: var(--item__padding);
}
@media only screen and (max-width: 37.25rem) {
  .homepage__features .box__item {
    grid-column: unset !important;
    grid-row: unset !important;
  }
}
.homepage__features .box__item._light {
  --item__color: var(--neutral-100);
}
.homepage__features .box__item:has(> img:only-child), .homepage__features .box__item:has(> iframe:only-child), .homepage__features .box__item:has(> video:only-child) {
  padding: 0;
}
.homepage__features .box__item img,
.homepage__features .box__item iframe,
.homepage__features .box__item video {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.homepage__features .box__item .item__title,
.homepage__features .box__item .item__description,
.homepage__features .box__item .content__title,
.homepage__features .box__item .content__description {
  color: var(--item__color);
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__features .box__item .item__title,
  .homepage__features .box__item .item__subtitle,
  .homepage__features .box__item .item__description {
    text-align: center;
  }
}
.homepage__features .box__item .item__title {
  font-size: clamp(2.25rem, 0.5342rem + 2.0548vw, 3rem);
  font-weight: 700;
  line-height: clamp(2.75rem, 1.0342rem + 2.0548vw, 3.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__features .box__item .item__title {
    font-size: clamp(1.75rem, 1.3703rem + 1.6878vw, 2.25rem);
    line-height: clamp(2rem, 1.4304rem + 2.5316vw, 2.75rem);
  }
}
.homepage__features .box__item .item__subtitle {
  color: var(--item__subtitle__color);
  font-size: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
  font-weight: 600;
  line-height: clamp(1.5rem, 0.9281rem + 0.6849vw, 1.75rem);
}
.homepage__features .box__item .item__description {
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 400;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__features .box__item .item__description {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
.homepage__features .box__item .item__content {
  display: flex;
  flex-direction: column;
  gap: var(--item__content__gap);
  margin-top: auto;
  padding: var(--item__padding);
}
@media only screen and (min-width: 37.3125rem) {
  .homepage__features .box__item .item__content {
    padding-right: var(--item__padding-right);
  }
}
@media only screen and (max-width: 37.25rem) {
  .homepage__features .box__item .item__content {
    padding: 2rem 1.5rem;
  }
}
.homepage__features .box__item .content__title {
  font-size: clamp(1.375rem, 0.5171rem + 1.0274vw, 1.75rem);
  font-weight: 700;
  line-height: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__features .box__item .content__title {
    font-size: clamp(1.125rem, 0.9351rem + 0.8439vw, 1.375rem);
    line-height: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  }
}
.homepage__features .box__item .content__description {
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 500;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__features .box__item .content__description {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__features .box__item .button {
    margin-inline: auto;
  }
}
.homepage__features .box__item._col-span-2:has(img:nth-child(2)), .homepage__features .box__item._col-span-2:has(iframe:nth-child(2)) {
  --item__gap: clamp(0rem, -10.0086rem + 11.9863vw, 4.375rem);
  --item__columns: minmax(0, 1fr) minmax(0, var(--item__photo__width));
}
@media only screen and (max-width: 37.25rem) {
  .homepage__features .box__item._col-span-2:has(img:nth-child(2)), .homepage__features .box__item._col-span-2:has(iframe:nth-child(2)) {
    --item__columns: minmax(0, 1fr);
  }
}
.homepage__features .box__item._col-span-2:has(img:nth-child(2)), .homepage__features .box__item._col-span-2:has(iframe:nth-child(2)) {
  display: grid;
  grid-template-columns: var(--item__columns);
  padding: 0;
}
.homepage__features .box__item._col-span-1 {
  grid-column: span 1/span 1;
}
.homepage__features .box__item._row-span-1 {
  grid-row: span 1/span 1;
}
.homepage__features .box__item._col-span-2 {
  grid-column: span 2/span 2;
}
.homepage__features .box__item._row-span-2 {
  grid-row: span 2/span 2;
}
.homepage__features .box__item._col-span-3 {
  grid-column: span 3/span 3;
}
.homepage__features .box__item._row-span-3 {
  grid-row: span 3/span 3;
}
.homepage__features .box__item._col-span-4 {
  grid-column: span 4/span 4;
}
.homepage__features .box__item._row-span-4 {
  grid-row: span 4/span 4;
}
.homepage__features .box__item._col-start-1 {
  grid-column-start: 1;
}
.homepage__features .box__item._row-start-1 {
  grid-row-start: 1;
}
.homepage__features .box__item._col-start-2 {
  grid-column-start: 2;
}
.homepage__features .box__item._row-start-2 {
  grid-row-start: 2;
}
.homepage__features .box__item._col-start-3 {
  grid-column-start: 3;
}
.homepage__features .box__item._row-start-3 {
  grid-row-start: 3;
}
.homepage__features .box__item._col-start-4 {
  grid-column-start: 4;
}
.homepage__features .box__item._row-start-4 {
  grid-row-start: 4;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__features .box__item.mobile\:_col-span-1 {
    grid-column: span 1/span 1;
  }
  .homepage__features .box__item.mobile\:_row-span-1 {
    grid-row: span 1/span 1;
  }
  .homepage__features .box__item.mobile\:_col-span-2 {
    grid-column: span 2/span 2;
  }
  .homepage__features .box__item.mobile\:_row-span-2 {
    grid-row: span 2/span 2;
  }
  .homepage__features .box__item.mobile\:_col-span-3 {
    grid-column: span 3/span 3;
  }
  .homepage__features .box__item.mobile\:_row-span-3 {
    grid-row: span 3/span 3;
  }
  .homepage__features .box__item.mobile\:_col-span-4 {
    grid-column: span 4/span 4;
  }
  .homepage__features .box__item.mobile\:_row-span-4 {
    grid-row: span 4/span 4;
  }
  .homepage__features .box__item.mobile\:_col-start-1 {
    grid-column-start: 1;
  }
  .homepage__features .box__item.mobile\:_row-start-1 {
    grid-row-start: 1;
  }
  .homepage__features .box__item.mobile\:_col-start-2 {
    grid-column-start: 2;
  }
  .homepage__features .box__item.mobile\:_row-start-2 {
    grid-row-start: 2;
  }
  .homepage__features .box__item.mobile\:_col-start-3 {
    grid-column-start: 3;
  }
  .homepage__features .box__item.mobile\:_row-start-3 {
    grid-row-start: 3;
  }
  .homepage__features .box__item.mobile\:_col-start-4 {
    grid-column-start: 4;
  }
  .homepage__features .box__item.mobile\:_row-start-4 {
    grid-row-start: 4;
  }
}

.homepage__rent {
  position: relative;
  z-index: 1;
}
.homepage__rent .rent__content {
  --content__gap: clamp(2.75rem, -11.5479rem + 17.1233vw, 9rem);
  --content__text__width: minmax(0, clamp(27.5rem, -9.6747rem + 44.5205vw, 43.75rem));
  --content__gallery__width: minmax(0, 1fr);
  --content__columns: var(--content__text__width) var(--content__gallery__width);
  --content__template: 'text gallery';
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__content {
    --content__gap: clamp(2rem, 1.6203rem + 1.6878vw, 2.5rem);
    --content__columns: minmax(0, 1fr) !important;
    --content__template: 'text' 'gallery' !important;
  }
}
.homepage__rent .rent__content {
  display: grid;
  grid-gap: var(--content__gap);
  grid-template-columns: var(--content__columns);
  padding-block: clamp(2rem, -0.2877rem + 2.7397vw, 3rem);
  grid-template-areas: var(--content__template);
  align-items: center;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__content {
    padding-top: clamp(5rem, 1.6772rem + 14.7679vw, 9.375rem);
    padding-bottom: clamp(1.5rem, -0.2089rem + 7.5949vw, 3.75rem);
  }
}
.homepage__rent .rent__content .content__text {
  grid-area: text;
}
.homepage__rent .rent__content .text__slider:not(.slick-initialized) {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  overflow: hidden;
}
.homepage__rent .rent__content .text__slider:not(.slick-initialized) > *:nth-child(n+2) {
  display: none;
}
.homepage__rent .rent__content .text__slider .slider__item {
  --item__gap: clamp(2rem, -0.2877rem + 2.7397vw, 3rem);
  --item__padding-block: clamp(3.375rem, -0.3425rem + 4.4521vw, 5rem);
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__content .text__slider .slider__item {
    --item__align-items: center;
    --item__gap: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
    --item__padding-block: 0rem;
  }
}
.homepage__rent .rent__content .text__slider .slider__item {
  display: flex;
  flex-direction: column;
  align-items: var(--item__align-items);
  gap: var(--item__gap);
  padding-block: var(--item__padding-block);
}
.homepage__rent .rent__content .text__slider h2, .homepage__rent .rent__content .text__slider .h2 {
  color: var(--primary-500);
  font-size: clamp(2.25rem, 0.5342rem + 2.0548vw, 3rem);
  font-weight: 700;
  line-height: clamp(2.75rem, 1.0342rem + 2.0548vw, 3.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent .rent__content .text__slider h2, .homepage__rent .rent__content .text__slider .h2 {
    font-size: clamp(1.75rem, 1.3703rem + 1.6878vw, 2.25rem);
    line-height: clamp(2rem, 1.4304rem + 2.5316vw, 2.75rem);
  }
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__content .text__slider h2, .homepage__rent .rent__content .text__slider .h2 {
    text-align: center;
  }
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__content .text__slider .item__info {
    --info__align-items: center;
  }
}
.homepage__rent .rent__content .text__slider .item__info {
  display: flex;
  flex-direction: column;
  align-items: var(--info__align-items);
  gap: 1rem;
}
.homepage__rent .rent__content .text__slider .info__icon {
  width: clamp(4rem, 1.7123rem + 2.7397vw, 5rem);
  min-width: clamp(4rem, 1.7123rem + 2.7397vw, 5rem);
  height: auto;
  aspect-ratio: 1;
}
.homepage__rent .rent__content .text__slider .info__icon svg {
  width: 100%;
  height: 100%;
}
.homepage__rent .rent__content .text__slider .info__icon svg path {
  stroke: #6E8E81;
}
.homepage__rent .rent__content .text__slider .info__description p, .homepage__rent .rent__content .text__slider .info__description .p {
  color: var(--primary-500);
  font-size: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
  font-weight: 400;
  line-height: clamp(1.5rem, 0.9281rem + 0.6849vw, 1.75rem);
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__content .text__slider .info__description p, .homepage__rent .rent__content .text__slider .info__description .p {
    text-align: center;
  }
}
.homepage__rent .rent__content .text__slider .info__description p strong, .homepage__rent .rent__content .text__slider .info__description p b, .homepage__rent .rent__content .text__slider .info__description .p strong, .homepage__rent .rent__content .text__slider .info__description .p b {
  font-weight: 600;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__content .text__slider .info__numbers {
    --numbers__justify-content: center;
  }
}
.homepage__rent .rent__content .text__slider .info__numbers {
  display: flex;
  justify-content: var(--numbers__justify-content);
  gap: clamp(0.75rem, -0.3938rem + 1.3699vw, 1.25rem);
  flex-wrap: wrap;
  opacity: 0.8;
}
.homepage__rent .rent__content .text__slider .numbers__item {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}
.homepage__rent .rent__content .text__slider .item__value {
  color: var(--primary-900);
  font-size: clamp(3rem, 0.7123rem + 2.7397vw, 4rem);
  font-weight: 600;
  line-height: clamp(3.375rem, 2.5171rem + 1.0274vw, 3.75rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent .rent__content .text__slider .item__value {
    font-size: clamp(2rem, 1.2405rem + 3.3755vw, 3rem);
    line-height: clamp(2.75rem, 2.2753rem + 2.1097vw, 3.375rem);
  }
}
.homepage__rent .rent__content .text__slider .item__title {
  color: var(--primary-900);
  font-size: clamp(1.625rem, 0.7671rem + 1.0274vw, 2rem);
  font-weight: 600;
  line-height: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent .rent__content .text__slider .item__title {
    font-size: clamp(1.5rem, 1.4051rem + 0.4219vw, 1.625rem);
    line-height: clamp(1.75rem, 1.5601rem + 0.8439vw, 2rem);
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent .rent__content .text__slider .button {
    max-width: 100%;
  }
}
.homepage__rent .rent__content .content__gallery {
  grid-area: gallery;
}
.homepage__rent .rent__content .gallery__slider:not(.slick-initialized) {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  overflow: hidden;
}
.homepage__rent .rent__content .gallery__slider:not(.slick-initialized) > *:nth-child(n+2) {
  display: none;
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__content .gallery__slider {
    width: 47.25rem;
    max-width: 100%;
    margin-inline: auto;
  }
}
.homepage__rent .rent__content .gallery__slider .slider__item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-inline: clamp(0rem, -3.7025rem + 16.4557vw, 4.875rem);
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__content .gallery__slider .slider__item {
    padding-block: 2rem;
  }
}
.homepage__rent .rent__content .gallery__slider .slider__item img {
  width: 50rem;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1.1111111111;
  object-fit: contain;
}
.homepage__rent .rent__content .gallery__slider .slick-arrow {
  width: 2.875rem;
  min-width: 2.875rem;
  height: auto;
  aspect-ratio: 1;
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  .homepage__rent .rent__content .gallery__slider .slick-arrow:hover {
    color: var(--secondary-900);
  }
}
.homepage__rent .rent__content .gallery__slider .slick-arrow svg {
  width: 100%;
  min-width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.homepage__rent .rent__content .gallery__slider .slick-arrow svg rect {
  fill: currentColor;
}
.homepage__rent .rent__content .gallery__slider .slick-arrow svg path {
  stroke: var(--neutral-100);
}
.homepage__rent .rent__content .gallery__slider .slick-arrow.slick-prev {
  left: 0;
}
.homepage__rent .rent__content .gallery__slider .slick-arrow.slick-next {
  right: 0;
}
.homepage__rent .rent__services {
  --services__padding-bottom: clamp(5rem, 2.1404rem + 3.4247vw, 6.25rem);
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__services {
    --services__padding-bottom: clamp(5rem, 1.2025rem + 16.8776vw, 10rem);
  }
}
.homepage__rent .rent__services {
  padding-bottom: var(--services__padding-bottom);
  --grid__columns: repeat(6, minmax(0, 1fr));
}
@media only screen and (max-width: 101.6875rem) {
  .homepage__rent .rent__services {
    --grid__columns: repeat(5, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__rent .rent__services {
    --grid__columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 67.75rem) {
  .homepage__rent .rent__services {
    --grid__columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent .rent__services {
    --grid__columns: repeat(2, minmax(0, 1fr));
  }
}
.homepage__rent .rent__services {
  display: grid;
  grid-gap: clamp(0.375rem, -0.3219rem + 0.6849vw, 0.5rem);
  grid-template-columns: var(--grid__columns);
}
.homepage__rent .rent__services .services__item {
  --item__padding: clamp(1rem, 0.5847rem + 0.7968vw, 1.25rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent .rent__services .services__item {
    --item__padding: 1rem clamp(0.75rem, 0.5601rem + 0.8439vw, 1rem);
  }
}
.homepage__rent .rent__services .services__item {
  background-color: var(--neutral-100);
  width: 100%;
  min-height: clamp(7.5rem, -6.4384rem + 13.6986vw, 10rem);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(0.75rem, 0.1781rem + 0.6849vw, 1rem);
  border-radius: 0.375rem;
  border: 0.0625rem solid var(--divider-100);
  padding: var(--item__padding);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent .rent__services .services__item {
    display: flex;
    flex-direction: column;
    justify-content: unset;
    align-items: unset;
  }
}
.homepage__rent .rent__services .item__icon {
  --icon__width: clamp(2.5rem, 1.3562rem + 1.3699vw, 3rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent .rent__services .item__icon {
    --icon__width: clamp(2rem, 1.6203rem + 1.6878vw, 2.5rem);
  }
}
.homepage__rent .rent__services .item__icon {
  width: var(--icon__width);
  min-width: var(--icon__width);
  height: auto;
  aspect-ratio: 1;
}
.homepage__rent .rent__services .item__icon img, .homepage__rent .rent__services .item__icon svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.homepage__rent .rent__services .item__title {
  color: var(--secondary-400);
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  font-weight: 400;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent .rent__services .item__title {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
.homepage__rent._background {
  background-color: var(--surfaces-300);
  overflow: hidden;
  position: relative;
}
.homepage__rent._background::after, .homepage__rent._background::before {
  --icon__height: clamp(10.75rem, -1.8322rem + 15.0685vw, 16.25rem);
  --icon__bottom: clamp(-7.5rem, 0.3082rem + -6.5068vw, -5.125rem);
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__rent._background::after, .homepage__rent._background::before {
    --icon__height: clamp(10.75rem, 25.3875rem + -17.5299vw, 16.25rem);
    --icon__bottom: clamp(-7.5rem, -11.4457rem + 7.5697vw, -5.125rem);
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__rent._background::after, .homepage__rent._background::before {
    --icon__height: clamp(8.25rem, 2.1741rem + 27.0042vw, 16.25rem);
    --icon__bottom: clamp(-7.5rem, -1.1218rem + -12.2363vw, -3.875rem);
  }
}
.homepage__rent._background::after, .homepage__rent._background::before {
  background-image: url("../images/backgrounds/mask/600x300/image_1.svg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  width: 100%;
  height: var(--icon__height);
  aspect-ratio: unset;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: 2;
}
.homepage__rent._background:after {
  top: var(--icon__bottom);
}
.homepage__rent._background::before {
  background-position: bottom center;
  bottom: var(--icon__bottom);
  transform: rotate(180deg);
}
.homepage__rent._background .rent__services .services__item {
  border-color: var(--neutral-100);
}
.homepage__rent._reverse .rent__content {
  --content__columns: var(--content__gallery__width) var(--content__text__width);
  --content__template: 'gallery text';
}

.homepage__sell {
  --sell__padding-top: clamp(6.25rem, -5.1884rem + 13.6986vw, 11.25rem);
  --sell__padding-bottom: clamp(5rem, 2.1404rem + 3.4247vw, 6.25rem);
  --sell__gap: 2rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__sell {
    --sell__padding-top: clamp(5rem, 1.2025rem + 16.8776vw, 10rem);
    --sell__padding-bottom: clamp(3.375rem, 2.1408rem + 5.4852vw, 5rem);
  }
}
.homepage__sell {
  background-color: var(--surfaces-100);
  padding-top: var(--sell__padding-top);
  padding-bottom: var(--sell__padding-bottom);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.homepage__sell::after {
  --icon__height: clamp(10.75rem, -1.8322rem + 15.0685vw, 16.25rem);
  --icon__bottom: clamp(-7.5rem, 0.3082rem + -6.5068vw, -5.125rem);
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__sell::after {
    --icon__height: clamp(10.75rem, 25.3875rem + -17.5299vw, 16.25rem);
    --icon__bottom: clamp(-7.5rem, -11.4457rem + 7.5697vw, -5.125rem);
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__sell::after {
    --icon__height: clamp(8.25rem, 2.1741rem + 27.0042vw, 16.25rem);
    --icon__bottom: clamp(-7.5rem, -1.1218rem + -12.2363vw, -3.875rem);
  }
}
.homepage__sell::after {
  background-image: url("../images/backgrounds/mask/600x300/image_1.svg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  width: 100%;
  height: var(--icon__height);
  aspect-ratio: unset;
  content: "";
  position: absolute;
  top: var(--icon__bottom);
  left: 0;
  right: 0;
  z-index: 2;
}
.homepage__sell .wrap {
  display: flex;
  flex-direction: column;
  gap: var(--sell__gap);
}
.homepage__sell h2, .homepage__sell .h2 {
  color: var(--primary-500);
  font-size: clamp(2.25rem, 0.5342rem + 2.0548vw, 3rem);
  font-weight: 700;
  line-height: clamp(2.75rem, 1.0342rem + 2.0548vw, 3.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__sell h2, .homepage__sell .h2 {
    font-size: clamp(1.75rem, 1.3703rem + 1.6878vw, 2.25rem);
    line-height: clamp(2rem, 1.4304rem + 2.5316vw, 2.75rem);
  }
}
.homepage__sell h2, .homepage__sell .h2 {
  text-align: center;
}
.homepage__sell .sell__grid {
  --grid__gap: clamp(1.5rem, -0.7877rem + 2.7397vw, 2.5rem);
  --grid__columns: repeat(2, minmax(0, 1fr));
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__sell .sell__grid {
    --grid__gap: clamp(1rem, 0.6203rem + 1.6878vw, 1.5rem);
    --grid__columns: minmax(0, 1fr);
  }
}
.homepage__sell .sell__grid {
  display: grid;
  grid-gap: var(--grid__gap);
  grid-template-columns: var(--grid__columns);
}

.homepage__services {
  --services__padding-block: clamp(5rem, 2.1404rem + 3.4247vw, 6.25rem);
  --services__gap: clamp(2rem, -0.7877rem + 2.7397vw, 2.5rem);
  --services__columns: minmax(0, clamp(25rem, -32.1473rem + 56.1644vw, 35.25rem)) minmax(0, 1fr);
}
@media only screen and (max-width: 101.6875rem) {
  .homepage__services {
    --services__columns: minmax(0, 1fr);
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__services {
    --services__padding-block: clamp(3.375rem, 2.1408rem + 5.4852vw, 5rem);
    --services__gap: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  }
}
.homepage__services {
  background-color: var(--secondary-900);
  padding-block: var(--services__padding-block);
  position: relative;
  z-index: 1;
}
.homepage__services::before {
  --icon__width: 31.25rem;
  display: flex;
  content: "";
  background-image: url("../images/backgrounds/homepage/services/500x300/image_1.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: var(--icon__width);
  min-width: var(--icon__width);
  height: auto;
  aspect-ratio: 1.6666666667;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__services::before {
    display: none;
  }
}
.homepage__services .wrap {
  display: grid;
  grid-gap: var(--services__gap);
  grid-template-columns: var(--services__columns);
}
.homepage__services .services__text {
  --text__gap: clamp(1.5rem, -6.863rem + 8.2192vw, 3rem);
  --text__color: var(--neutral-100);
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__services .services__text {
    --text__gap: clamp(1rem, 0.1693rem + 1.5936vw, 1.5rem);
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__services .services__text {
    --text__gap: clamp(0.5rem, 0.1203rem + 1.6878vw, 1rem);
  }
}
.homepage__services .services__text {
  display: flex;
  flex-direction: column;
  gap: var(--text__gap);
}
.homepage__services h2, .homepage__services .h2 {
  color: var(--text__color);
  font-size: clamp(2.25rem, 0.5342rem + 2.0548vw, 3rem);
  font-weight: 700;
  line-height: clamp(2.75rem, 1.0342rem + 2.0548vw, 3.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__services h2, .homepage__services .h2 {
    font-size: clamp(1.75rem, 1.3703rem + 1.6878vw, 2.25rem);
    line-height: clamp(2rem, 1.4304rem + 2.5316vw, 2.75rem);
  }
}
.homepage__services p, .homepage__services .p {
  color: var(--text__color);
  font-size: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
  font-weight: 500;
  line-height: clamp(1.5rem, 0.9281rem + 0.6849vw, 1.75rem);
}
.homepage__services p, .homepage__services .p {
  opacity: 0.8;
}
.homepage__services .services__grid {
  --grid__columns: repeat(4, minmax(0, 1fr));
}
@media only screen and (max-width: 67.75rem) {
  .homepage__services .services__grid {
    --grid__columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__services .services__grid {
    --grid__columns: repeat(2, minmax(0, 1fr));
  }
}
.homepage__services .services__grid {
  display: grid;
  grid-gap: clamp(0.375rem, -0.3219rem + 0.6849vw, 0.5rem);
  grid-template-columns: var(--grid__columns);
}
.homepage__services .grid__item {
  --item__padding: clamp(1rem, 0.5847rem + 0.7968vw, 1.25rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__services .grid__item {
    --item__padding: 1rem clamp(0.75rem, 0.5601rem + 0.8439vw, 1rem);
  }
}
.homepage__services .grid__item {
  background-color: var(--neutral-100);
  width: 100%;
  min-height: clamp(7.5rem, -6.4384rem + 13.6986vw, 10rem);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(0.75rem, 0.1781rem + 0.6849vw, 1rem);
  border-radius: 0.375rem;
  padding: var(--item__padding);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__services .grid__item {
    display: flex;
    flex-direction: column;
    justify-content: unset;
    align-items: unset;
  }
}
.homepage__services .item__icon {
  --icon__width: clamp(2.5rem, 1.3562rem + 1.3699vw, 3rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__services .item__icon {
    --icon__width: clamp(2rem, 1.6203rem + 1.6878vw, 2.5rem);
  }
}
.homepage__services .item__icon {
  width: var(--icon__width);
  min-width: var(--icon__width);
  height: auto;
  aspect-ratio: 1;
}
.homepage__services .item__icon img, .homepage__services .item__icon svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.homepage__services .item__title {
  color: var(--secondary-400);
  font-size: clamp(0.875rem, 0.732rem + 0.1712vw, 0.9375rem);
  font-weight: 400;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__services .item__title {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}

.homepage__contacts {
  --contacts__gap: clamp(3.375rem, -3.6494rem + 10.3586vw, 5rem);
  --contacts__columns: minmax(0, 0.73fr) minmax(0, 1fr);
  --contacts__padding-block: clamp(5rem, 2.1404rem + 3.4247vw, 6.25rem);
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__contacts {
    --contacts__columns: minmax(0, 0.95fr) minmax(0, 1fr);
  }
}
@media only screen and (max-width: 67.75rem) {
  .homepage__contacts {
    --contacts__columns: minmax(0, 1fr);
    --contacts__padding-block: clamp(3.375rem, 2.1408rem + 5.4852vw, 5rem);
  }
}
.homepage__contacts {
  background-color: var(--surfaces-300);
  padding-block: var(--contacts__padding-block);
}
.homepage__contacts .wrap {
  display: grid;
  grid-gap: var(--contacts__gap);
  grid-template-columns: var(--contacts__columns);
  align-items: flex-start;
}
.homepage__contacts .contacts__requisites {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
}
.homepage__contacts .contacts__requisites h2, .homepage__contacts .contacts__requisites .h2 {
  color: var(--secondary-300);
  font-size: clamp(1.375rem, 0.5171rem + 1.0274vw, 1.75rem);
  font-weight: 600;
  line-height: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__contacts .contacts__requisites h2, .homepage__contacts .contacts__requisites .h2 {
    font-size: clamp(1.125rem, 0.9351rem + 0.8439vw, 1.375rem);
    line-height: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts {
  --contacts__gap: 1.5rem;
  --contacts__columns: minmax(0, 1fr);
}
@media only screen and (max-width: 83.4375rem) {
  .homepage__contacts .contacts__requisites .requisites__contacts {
    --contacts__gap: clamp(1rem, -1.1614rem + 3.1873vw, 1.5rem);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts ul li::before {
  content: none;
  position: unset;
  top: unset;
  left: unset;
}
.homepage__contacts .contacts__requisites .requisites__contacts ul li {
  font-family: inherit;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
  position: unset;
  padding-left: unset;
}
.homepage__contacts .contacts__requisites .requisites__contacts ul {
  list-style: none;
}
.homepage__contacts .contacts__requisites .requisites__contacts a {
  text-decoration: none;
}
.homepage__contacts .contacts__requisites .requisites__contacts {
  display: grid;
  grid-gap: var(--contacts__gap);
  grid-template-columns: var(--contacts__columns);
}
.homepage__contacts .contacts__requisites .requisites__contacts .contacts__item {
  display: flex;
  flex-direction: column;
  background-color: var(--neutral-100);
  padding: clamp(1rem, 0.6311rem + 1.6393vw, 2rem);
  border-radius: 0.5rem;
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__title {
  color: var(--secondary-300);
  font-size: clamp(1rem, 0.714rem + 0.3425vw, 1.125rem);
  font-weight: 600;
  line-height: clamp(1.5rem, 0.9281rem + 0.6849vw, 1.75rem);
}
.homepage__contacts .contacts__requisites .requisites__contacts .content__item {
  color: var(--primary-500);
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 400;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__contacts .contacts__requisites .requisites__contacts .content__item {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts .content__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 0.25rem;
}
.homepage__contacts .contacts__requisites .requisites__contacts .content__item svg {
  width: 2rem;
  min-width: 2rem;
  height: auto;
  aspect-ratio: 1;
  margin-top: -0.25rem;
}
.homepage__contacts .contacts__requisites .requisites__contacts .content__item svg rect,
.homepage__contacts .contacts__requisites .requisites__contacts .content__item svg circle {
  fill: var(--primary-900);
}
.homepage__contacts .contacts__requisites .requisites__contacts .content__item svg path[stroke=white] {
  stroke: var(--neutral-100);
}
.homepage__contacts .contacts__requisites .requisites__contacts a,
.homepage__contacts .contacts__requisites .requisites__contacts .content__company {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  .homepage__contacts .contacts__requisites .requisites__contacts a:hover,
  .homepage__contacts .contacts__requisites .requisites__contacts .content__company:hover {
    color: var(--secondary-900);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts a[href^="tel:"],
.homepage__contacts .contacts__requisites .requisites__contacts .content__company[href^="tel:"] {
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 600;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__contacts .contacts__requisites .requisites__contacts a[href^="tel:"],
  .homepage__contacts .contacts__requisites .requisites__contacts .content__company[href^="tel:"] {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__content > a:not(.content__item) {
  display: flex;
  color: var(--secondary-900);
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 600;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__contacts .contacts__requisites .requisites__contacts .item__content > a:not(.content__item) {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__content > a:not(.content__item) {
  margin-top: 1rem;
}
@media (hover: hover) and (pointer: fine) {
  .homepage__contacts .contacts__requisites .requisites__contacts .item__content > a:not(.content__item):hover {
    color: var(--primary-900);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__text {
  display: flex;
  flex-direction: column;
  gap: clamp(0.25rem, -0.0348rem + 1.2658vw, 0.625rem);
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__text._hours {
  gap: 0.5rem;
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__link {
  display: flex;
  gap: 0.5rem;
  color: var(--secondary-900);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__contacts .contacts__requisites .requisites__contacts .item__link {
    font-size: clamp(0.8125rem, 0.765rem + 0.211vw, 0.875rem);
  }
}
@media (hover: hover) and (pointer: fine) {
  .homepage__contacts .contacts__requisites .requisites__contacts .item__link:hover {
    color: var(--primary-900);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__link svg {
  width: 1.0625rem;
  min-width: 1.0625rem;
  height: auto;
  aspect-ratio: 1;
  margin-top: 0.09375rem;
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__link svg path {
  stroke: currentColor;
}
.homepage__contacts .contacts__requisites .requisites__contacts ul {
  margin-top: 1rem;
}
.homepage__contacts .contacts__requisites .requisites__contacts ul li {
  font-size: clamp(0.9375rem, 0.7945rem + 0.1712vw, 1rem);
  font-weight: 400;
  line-height: 1.5rem;
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__contacts .contacts__requisites .requisites__contacts ul li {
    font-size: clamp(0.875rem, 0.8275rem + 0.211vw, 0.9375rem);
    line-height: clamp(1.25rem, 1.0601rem + 0.8439vw, 1.5rem);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts ul li {
  color: var(--primary-500);
}
.homepage__contacts .contacts__requisites .requisites__contacts ul li:not(:first-child) {
  margin-top: 0.5rem;
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__socials {
  display: flex;
  gap: clamp(1rem, -0.7158rem + 2.0548vw, 1.75rem);
  margin-top: auto;
  padding-top: 1.5rem;
  flex-wrap: wrap;
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__socials .socials__item {
  --item__color: var(--secondary-700);
}
@media (hover: hover) and (pointer: fine) {
  .homepage__contacts .contacts__requisites .requisites__contacts .item__socials .socials__item:hover {
    --item__color: var(--primary-900);
  }
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__socials .socials__item {
  display: flex;
  width: 2rem;
  min-width: 2rem;
  height: auto;
  aspect-ratio: 1;
  border: 0.0625rem solid var(--item__color);
  border-radius: 0.125rem;
  color: var(--item__color);
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__socials .socials__item svg {
  width: 100%;
  min-width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.homepage__contacts .contacts__requisites .requisites__contacts .item__socials .socials__item svg path {
  fill: currentColor;
}
.homepage__contacts .contacts__form {
  --form__columns: minmax(0, 1fr);
  display: grid;
  grid-gap: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  grid-template-columns: var(--form__columns);
}
.homepage__contacts .contacts__form h2, .homepage__contacts .contacts__form .h2 {
  color: var(--secondary-300);
  font-size: clamp(1.375rem, 0.5171rem + 1.0274vw, 1.75rem);
  font-weight: 600;
  line-height: clamp(2rem, 0.8562rem + 1.3699vw, 2.5rem);
}
@media only screen and (max-width: 52.0625rem) {
  .homepage__contacts .contacts__form h2, .homepage__contacts .contacts__form .h2 {
    font-size: clamp(1.125rem, 0.9351rem + 0.8439vw, 1.375rem);
    line-height: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  }
}
.homepage__contacts .contacts__form .form__inputs {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.homepage__contacts .contacts__form .input {
  --input__margin-top: 0;
}
.homepage__contacts .contacts__form .input:has(textarea) {
  --input__textarea__height: 14.375rem;
}
.homepage__contacts .contacts__form .form__actions {
  --actions__max-width: 21.875rem;
}
@media only screen and (max-width: 37.25rem) {
  .homepage__contacts .contacts__form .form__actions {
    --actions__max-width: 100%;
  }
}
.homepage__contacts .contacts__form .form__actions {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 1.1203rem + 1.6878vw, 2rem);
  width: 100%;
  max-width: var(--actions__max-width);
  margin-left: auto;
}

.homepage__map {
  --map__height: clamp(24.25rem, 20.6424rem + 16.0338vw, 29rem);
  height: var(--map__height);
  position: relative;
}
.homepage__map #map {
  position: absolute;
  inset: 0;
}

/*# sourceMappingURL=app.css.map */
