.HotelCard-module__root--popq0 {
  display: flex;
  flex-direction: column;
  background: var(--card-bg, #ffffff);
  border-radius: 0;
  overflow: hidden;
  max-width: 100%;
  font-family: "Aeonik", sans-serif;
}

.HotelCard-module__rootFixed--TvjpT {
  width: 440em;
  max-width: 440em;
}

.HotelCard-module__clickable--mp25I {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

.HotelCard-module__imageContainer--FZfWz {
  position: relative;
  width: 100%;
  height: 260em;
  overflow: hidden;
}

.HotelCard-module__image--fREMp {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.HotelCard-module__discount--G2sau {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(140, 30, 255, 1);
  color: var(--discount-text, #ffffff);
  width: 87em;
  height: 77em;
  box-sizing: border-box;
  padding: 5em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-family: "Aeonik", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border-radius: 0;
  letter-spacing: 0.01em;
}

.HotelCard-module__discountText--hH9Sf {
  font-size: 21em;
  line-height: 1.1;
  text-align: center;
}

.HotelCard-module__content--IA_3z {
  padding: 15em;
  background: var(--card-bg, #ffffff);
  display: flex;
  flex-direction: column;
  gap: 4em;
  flex: 1;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.HotelCard-module__stars--jTODO {
  display: flex;
  gap: 1em;
}

.HotelCard-module__starFilled--Ps4vk,
.HotelCard-module__starEmpty--FBbdo {
  width: 12em;
  height: 12em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxMCAxMCI+PHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTQuNjE1LjQ4MmEuNC40IDAgMCAxIC43MjYgMGwxLjEwMiAyLjM3MmEuNC40IDAgMCAwIC4zMTQuMjI4bDIuNTk3LjMxNWEuNC40IDAgMCAxIC4yMjQuNjlMNy42NjIgNS44NjhhLjQuNCAwIDAgMC0uMTIuMzdsLjUwMyAyLjU2N2EuNC40IDAgMCAxLS41ODcuNDI2TDUuMTczIDcuOTZhLjQuNCAwIDAgMC0uMzkgMEwyLjQ5OSA5LjIzYS40LjQgMCAwIDEtLjU4Ny0uNDI2bC41MDMtMi41NjdhLjQuNCAwIDAgMC0uMTItLjM3TC4zNzggNC4wODhhLjQuNCAwIDAgMSAuMjI0LS42OUwzLjIgMy4wODFhLjQuNCAwIDAgMCAuMzE1LS4yMjhMNC42MTUuNDgyWiIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjQuOTc4IiB4Mj0iNC45NzgiIHkxPSItLjMiIHkyPSIxMC43IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0ZGQUYwMCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0YyOTAwNiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjwvc3ZnPg==);
  color: rgba(248, 159, 3, 1);
}

.HotelCard-module__starEmpty--FBbdo {
  opacity: 0.3;
}

.HotelCard-module__title--BOmwo {
  margin: 0;
  font-size: 18em;
  font-weight: 600;
  color: #000;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: "Aeonik", sans-serif;
}

.HotelCard-module__location--uglfh {
  margin: 0;
  color: rgba(105, 105, 105, 1);
  font-size: 15em;
  line-height: 1.3;
  font-family: "Aeonik", sans-serif;
}

.HotelCard-module__dates--mhAjB {
  margin: 0;
  color: #000;
  font-size: 18em;
  line-height: 1.3;
  letter-spacing: 0.01em;
  font-family: "Aeonik", sans-serif;
  flex: 1;
}

.HotelCard-module__priceInfoWrapper--fplFE {
  margin-top: 11em;
}

.HotelCard-module__priceInfo--qLmoQ {
  width: 100%;
  background: rgba(140, 30, 255, 1);
  font-family: "Aeonik", sans-serif;
  color: rgba(255, 255, 255, 1);
  padding: 14px 16px 16px;
  box-sizing: border-box;
}

.HotelCard-module__bookNowText--pgznJ {
  font-size: 14em;
  text-transform: uppercase;
  text-align: center;
  font-weight: 700;
}

/* visibility, а не display: скрытый текст должен держать высоту под настоящую цену */
.HotelCard-module__priceTextLoading--DlEO8 {
  position: relative;
}
.HotelCard-module__priceTextLoading--DlEO8 .HotelCard-module__mainPriceText--wIEbi,.HotelCard-module__priceTextLoading--DlEO8 .HotelCard-module__infoPriceText--GSy_s {
    visibility: hidden;
  }

/* Копия .spinner из Button.module.css — править синхронно */
.HotelCard-module__spinner--xrT7z {
  --spinner-color: rgba(255, 255, 255, 1);

  width: 16em;
  height: 16em;
  border-radius: 50%;
  box-sizing: border-box;
  display: inline-flex;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.HotelCard-module__spinner--xrT7z::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    background: conic-gradient(
      from 180deg,
      color-mix(in srgb, var(--spinner-color) 0%, transparent) 0deg,
      color-mix(in srgb, var(--spinner-color) 30%, transparent) 90deg,
      color-mix(in srgb, var(--spinner-color) 80%, transparent) 180deg,
      var(--spinner-color) 270deg,
      color-mix(in srgb, var(--spinner-color) 0%, transparent) 360deg
    );
    animation: HotelCard-module__hotel-card-spin--e9pf6 1s linear infinite;
    -webkit-mask: url("data:image/svg+xml,%3csvg width=%27100%27 height=%27100%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cdefs%3e%3cmask id=%27ring%27%3e%3crect width=%27100%27 height=%27100%27 fill=%27white%27/%3e%3ccircle cx=%2750%27 cy=%2750%27 r=%2725%27 fill=%27black%27/%3e%3c/mask%3e%3c/defs%3e%3crect width=%27100%27 height=%27100%27 fill=%27white%27 mask=%27url%28%23ring%29%27/%3e%3c/svg%3e");
            mask: url("data:image/svg+xml,%3csvg width=%27100%27 height=%27100%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cdefs%3e%3cmask id=%27ring%27%3e%3crect width=%27100%27 height=%27100%27 fill=%27white%27/%3e%3ccircle cx=%2750%27 cy=%2750%27 r=%2725%27 fill=%27black%27/%3e%3c/mask%3e%3c/defs%3e%3crect width=%27100%27 height=%27100%27 fill=%27white%27 mask=%27url%28%23ring%29%27/%3e%3c/svg%3e");
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
  }

@keyframes HotelCard-module__hotel-card-spin--e9pf6 {
  to {
    transform: rotate(360deg);
  }
}

.HotelCard-module__mainPriceText--wIEbi {
  font-size: 18em;
}

.HotelCard-module__infoPriceText--GSy_s {
  font-size: 14em;
}

.HotelsSection-module__hotels--hGJyx {
  max-width: 1392px;
  margin-inline: auto;
  margin-bottom: 60em;
  margin-top: 45em;
}

@media (min-width: 1152px) {

.HotelsSection-module__hotels--hGJyx {
    margin-bottom: 100em;
}
  }

.HotelsSection-module__hotelsHeader--l_Qr5 {
  display: flex;
  flex-direction: column;
  gap: 16em;
  padding-inline: 16em;
  margin: 0 0 45em;
}

@media (min-width: 500px) {

.HotelsSection-module__hotelsHeader--l_Qr5 {
    gap: 22em;
}
  }

@media (min-width: 1152px) {

.HotelsSection-module__hotelsHeader--l_Qr5 {
    gap: 28em;
    margin-top: 80em;
    margin-bottom: 80em;
}
  }

.HotelsSection-module__hotelsTitle--zeGAj {
  margin: 0;
  line-height: 1.1;
  text-align: center;
  font-family: var(--font-secondary, "ABCGravity", sans-serif);
  font-weight: 900;
  font-size: 32em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

@media (min-width: 500px) {

.HotelsSection-module__hotelsTitle--zeGAj {
    font-size: 40em;
}
  }

@media (min-width: 1152px) {

.HotelsSection-module__hotelsTitle--zeGAj {
    font-size: 65em;
}
  }

.HotelsSection-module__hotelsSubtitle--EAJhs {
  margin: 0;
  font-family: var(--font-main, "Aeonik", sans-serif);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  font-size: 14em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

@media (min-width: 500px) {

.HotelsSection-module__hotelsSubtitle--EAJhs {
    font-size: 17em;
}
  }

@media (min-width: 1152px) {

.HotelsSection-module__hotelsSubtitle--EAJhs {
    font-size: 23em;
}
  }

.HotelsSection-module__hotelsList--jWxYc {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(343px, 440px));
  justify-content: center;
  grid-gap: 30px 13px;
  gap: 30px 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.HotelsSection-module__hotelCard--aCwpN {
  justify-content: space-between;
  min-height: 100%;
}

.HotelsSection-module__hotelCard--aCwpN:hover [class*="HotelCard-module__priceInfo"] {
  background-color: #000000;
}


.SectionTitle-module__title--uw_Rp {
  font-family: ABCGravity, sans-serif;
  font-weight: 900;
  line-height: 0.9;
  font-size: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.SectionTitle-module__titleText--l9CQA {
  font-size: var(--title-fs-mobile, 44em);
  overflow-wrap: break-word;
  word-break: break-word;
}

@media (min-width: 500px) {

.SectionTitle-module__titleText--l9CQA {
    font-size: var(--title-fs-tablet, 52em);
}
  }

@media (min-width: 1152px) {

.SectionTitle-module__titleText--l9CQA {
    font-size: var(--title-fs-desktop, 80em);
}
  }

.SectionTitle-module__center--JEIDM {
  text-align: center;
}

.SectionTitle-module__left--fJSYS {
  text-align: left;
}

.SectionTitle-module__centerMobile--Rnb_P {
  text-align: center;
}

.SectionTitle-module__leftMobile--_VKay {
  text-align: left;
}

@media (min-width: 500px) {
  .SectionTitle-module__centerTablet--Eh73B {
    text-align: center;
  }

  .SectionTitle-module__leftTablet--Uftlk {
    text-align: left;
  }
}

@media (min-width: 1152px) {
  .SectionTitle-module__centerDesktop--xng2q {
    text-align: center;
  }

  .SectionTitle-module__leftDesktop--RJrMW {
    text-align: left;
  }
}

.Text-module__textContainer--iQeaj {
  font-family: var(--font-main, "Aeonik", sans-serif);
  line-height: var(--text-line-height, 1.23);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.Text-module__text--X_l8e {
  font-size: 16em;
  overflow-wrap: break-word;
  word-break: break-word;
}

.Text-module__center--oxKFj {
  text-align: center;
}

.Text-module__left--RzKTw {
  text-align: left;
}

.Text-module__centerMobile--QfiCW {
  text-align: center;
}

.Text-module__leftMobile--ZT3Y6 {
  text-align: left;
}

@media (min-width: 500px) {
  .Text-module__centerTablet--QTnx5 {
    text-align: center;
  }

  .Text-module__leftTablet--Oy43k {
    text-align: left;
  }
}

@media (min-width: 1152px) {
  .Text-module__text--X_l8e {
    font-size: 20em;
  }

  .Text-module__centerDesktop--RWenh {
    text-align: center;
  }

  .Text-module__leftDesktop--Bw5gb {
    text-align: left;
  }
}

.SectionHeader-module__sectionHeader--gdRdN {
  display: flex;
  flex-direction: column;
  gap: 16em;
  margin-top: 45em;
  margin-bottom: 45em;
}
@media (min-width: 500px) {
  .SectionHeader-module__sectionHeader--gdRdN {
    gap: 22em;
}
  }
@media (min-width: 1152px) {
  .SectionHeader-module__sectionHeader--gdRdN {
    gap: 28em;
    margin-top: 80em;
    margin-bottom: 80em;
}
  }


.HeroSection-module__hero--lpuv4 {
  background-color: #ccc;
  background-repeat: no-repeat;
  background-image: var(--background-mobile);
  background-position: center;
  background-size: cover;
  display: flex;
}

@media (min-width: 500px) {

.HeroSection-module__hero--lpuv4 {
    background-image: var(--background-desktop);
}

    @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {

.HeroSection-module__hero--lpuv4 {
      background-image: var(--background-desktop-2x);
}
    }
  }

@media (min-width: 1152px) {

.HeroSection-module__hero--lpuv4 {
    background-image: var(--background-desktop-2x);
}
  }

.HeroSection-module__heroContainer--brVZ4 {
  display: flex;
  justify-content: var(--slogan-h-align-mobile, flex-end);
  width: 100%;
  max-width: 1448px;
  margin: 0 auto;
  padding: 26em 15em;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  min-height: 200em;
}

@media (min-width: 500px) {

.HeroSection-module__heroContainer--brVZ4 {
    padding: 16em 44em;
    min-height: 320em;
    justify-content: var(--slogan-h-align-tablet, flex-end);
}
  }

@media (min-width: 1152px) {

.HeroSection-module__heroContainer--brVZ4 {
    min-height: 670em;
    justify-content: var(--slogan-h-align-desktop, flex-end);
}
  }

.HeroSection-module__slogan--rRTe6 {
  display: flex;
  flex-direction: column;
  justify-content: var(--slogan-v-align-mobile, center);
  align-items: var(--slogan-h-align-mobile, flex-end);
  width: auto;
  text-align: var(--slogan-text-align-mobile, right);
  transform-origin: var(--slogan-transform-origin-mobile, center right);
  transform: scale(var(--slogan-scale-mobile, 1));
  font-family: var(--font-secondary, "ABCGravity", sans-serif);
  font-weight: 900;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

@media (min-width: 500px) {

.HeroSection-module__slogan--rRTe6 {
    justify-content: var(--slogan-v-align-tablet, center);
    align-items: var(--slogan-h-align-tablet, flex-end);
    text-align: var(--slogan-text-align-tablet, right);
    transform-origin: var(--slogan-transform-origin-tablet, center right);
    transform: scale(var(--slogan-scale-tablet, 1));
}
  }

@media (min-width: 1152px) {

.HeroSection-module__slogan--rRTe6 {
    justify-content: var(--slogan-v-align-desktop, center);
    align-items: var(--slogan-h-align-desktop, flex-end);
    text-align: var(--slogan-text-align-desktop, right);
    transform-origin: var(--slogan-transform-origin-desktop, center right);
    transform: scale(var(--slogan-scale-desktop, 1));
}
  }


.HeroSection-module__sloganText--_hwUn {
  font-size: var(--slogan-font-size-mobile, 45em);
  line-height: 90%;
  text-transform: uppercase;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}


@media (min-width: 500px) {


.HeroSection-module__sloganText--_hwUn {
    font-size: var(--slogan-font-size-tablet, 60em);
}
  }


@media (min-width: 1152px) {


.HeroSection-module__sloganText--_hwUn {
    font-size: var(--slogan-font-size-desktop, 115em);
}
  }

.HeroSection-module__sloganTexts--jrvnA {
  width: 100%;
}

.HeroSection-module__sloganTextsInline--seC5g .HeroSection-module__sloganText--_hwUn {
  display: inline;
}

.HeroSection-module__sloganYellow--lIwpd {
  color: #f5d742;
}

.HeroSection-module__sloganWhite--SWr8l {
  color: #fff;
}

.HeroSection-module__heroLogo--t3ggG {
  width: 33em;
}

@media (min-width: 500px) {

.HeroSection-module__heroLogo--t3ggG {
    width: 49em;
}
  }

@media (min-width: 1152px) {

.HeroSection-module__heroLogo--t3ggG {
    width: 97em;
}
  }


@keyframes Button-module__spin--lWtk7 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.Button-module__text--holIg {
  font-size: var(--button-font-size, 14em);
  white-space: nowrap;
  text-transform: var(--button-text-transform, uppercase);
  /* inherit, а не pointer — чтоб курсор не спорил с состоянием disabled
     и не сбивался правилами на span со стороны страницы-потребителя */
  cursor: inherit;
}

.Button-module__root--Knp7O {
  all: unset;
  display: inline-flex;
  position: relative;
  /* --int-font-family задаёт тема бренда; для RateHawk он не определён,
     поэтому цепочка падает на Aeonik, как и раньше */
  font-family: var(--button-font-family, var(--int-font-family, Aeonik, sans-serif));
  font-weight: var(--button-font-weight, 700);
  cursor: pointer;
  box-sizing: border-box;
  line-height: var(--button-line-height, 1);
  color: var(--button-color);
  background-color: var(--button-bg);
  background-image: var(--button-bg-image, none);
  border-radius: var(--button-border-radius, 0);
  align-items: center;
  justify-content: center;
  padding: var(--button-padding-vertical, 0) var(--button-padding-horizontal, 0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all 0.2s;

  /* Прямоугольная зона наведения. Без неё у сильно скруглённых кнопок точки
     в углах бокса не попадают в hit-testing самой кнопки (border-radius
     обрезает и его), курсор проваливается на родителя и мигает на default. */
}

.Button-module__root--Knp7O::before {
    content: "";
    position: absolute;
    inset: 0;
    cursor: inherit;
  }

@media (hover: hover) and (pointer: fine) {
    /* [class] нужны, чтоб повысить специфичность выставления переменных при ховере и пр. */
    .Button-module__root--Knp7O[class]:hover {
      --button-bg: var(--button-bg-hover);
      --inner-border-width: var(--inner-border-width-hover, 2em);
      /* именно свойство, а не переменная: var(--x) внутри объявления --x — цикл */
      background-image: var(--button-bg-image-hover, var(--button-bg-image, none));
    }

    .Button-module__root--Knp7O[class]:focus {
      --button-bg: var(--button-bg-focus);
      --inner-border-width: var(--inner-border-width-hover, 2em);
    }

    .Button-module__root--Knp7O[class]:active {
      --button-bg: var(--button-bg-active);
      --inner-border-width: var(--inner-border-width-active, 3em);
      background-image: var(--button-bg-image-active, var(--button-bg-image, none));
    }
  }

.Button-module__root--Knp7O[class]:disabled {
    cursor: default;
    --button-bg: var(--button-bg-disabled);
    --button-color: var(--button-color-disabled);
    --inner-border-color: var(--disabled-border-color);
    --inner-border-width: 1em;
  }

.Button-module__root--Knp7O[class]:disabled .Button-module__text--holIg {
      opacity: var(--disabled-text-opacity, 0.4);
    }

.Button-module__hidden--Q6Ztq {
  visibility: hidden;
}

.Button-module__s--o9reb {
  --button-font-weight: 400;
  --button-padding-vertical: 11em;
  --button-padding-horizontal: 24em;
  --spinner-size: 18em;
}

.Button-module__m--ZGRqJ {
  --button-padding-vertical: 16em;
  --button-padding-horizontal: 40em;
  --spinner-size: 24em;
}

@media (min-width: 1152px) {
    .Button-module__withMediaDimension--Z_A5M.Button-module__s--o9reb {
      --button-font-size: 16em;
      --button-padding-horizontal: 32em;
    }

    .Button-module__withMediaDimension--Z_A5M.Button-module__m--ZGRqJ {
      --button-font-size: 16em;
    }
  }

@media (min-width: 1536px) {
    .Button-module__withMediaDimension--Z_A5M.Button-module__s--o9reb {
      --button-font-size: 18em;
      --spinner-size: 24em;
    }

    .Button-module__withMediaDimension--Z_A5M.Button-module__m--ZGRqJ {
      --button-font-size: 20em;
      --button-padding-horizontal: 52em;
      --button-padding-vertical: 18em;
      --spinner-size: 28em;
    }
  }

.Button-module__primary--V9FFQ {
  --button-color: #fff;
}

.Button-module__primary--V9FFQ:where(.Button-module__purple--biF8d) {
    --button-bg: rgba(140, 30, 255, 1);
    --button-bg-hover: rgba(169, 86, 255, 1);
    --button-bg-active: rgba(140, 30, 255, 1);
    --button-bg-focus: rgba(169, 86, 255, 1);
    --button-bg-disabled: rgba(197, 143, 255, 1);
    --button-color-disabled: #fff;
    --disabled-text-opacity: 1;
  }

.Button-module__primary--V9FFQ:where(.Button-module__black--Iz790) {
    --button-bg: #000;
    /* Стилей черной primary-кнопки пока нет в дизайне
     При необходимости можно тут имплементировать */
  }

.Button-module__primary--V9FFQ:where(.Button-module__violet--CgPlL) {
    --button-bg: #8377f1;
    --button-bg-hover: #9a90f4;
    --button-bg-active: #6b60e0;
    --button-bg-focus: #9a90f4;
    --button-bg-disabled: rgba(131, 119, 241, 0.4);
    --button-color-disabled: #fff;
    --disabled-text-opacity: 1;
    /* Геометрия и интенсивность свечения — из макета, состояния default/hover/pressed */
    --button-glow-gradient: radial-gradient(55% 55% at 50% 40%, rgba(131, 119, 241, 1) 0%, rgba(131, 119, 241, 0.45) 38%, rgba(131, 119, 241, 0.05) 68%, rgba(131, 119, 241, 0) 100%);
    --button-glow-opacity: 0.75;
    --button-glow-inset: -12.4em -65em -69.6em -65em;
    --button-glow-blur: 9em;
  }

@media (hover: hover) and (pointer: fine) {
      .Button-module__primary--V9FFQ[class]:where(.Button-module__violet--CgPlL):hover {
        --button-glow-opacity: 1;
        --button-glow-inset: -24.1em -95.6em -81.3em -95.6em;
        --button-glow-blur: 10.62em;
      }

      .Button-module__primary--V9FFQ[class]:where(.Button-module__violet--CgPlL):active {
        --button-glow-opacity: 0.4;
        --button-glow-inset: -4.6em -44.6em -61.8em -44.6em;
        --button-glow-blur: 7.92em;
      }
    }

.Button-module__secondary--_9J0r {
  --button-bg: transparent;
  box-shadow: inset 0 0 0 var(--inner-border-width, 1px)
    var(--inner-border-color);
}

.Button-module__secondary--_9J0r:where(.Button-module__black--Iz790) {
    --inner-border-color: #000;
    --disabled-border-color: rgba(128, 128, 128, 1);
    --button-color: #000;
  }

.Button-module__secondary--_9J0r:where(.Button-module__white--l3jcr) {
    --inner-border-color: #fff;
    --disabled-border-color: rgba(128, 128, 128, 1);
    --button-color: #fff;
    --button-color-disabled: rgba(128, 128, 128, 1);
  }

.Button-module__glow--Auibj {
  isolation: isolate;

  /* ::after, т.к. ::before занят зоной наведения. z-index: -1 всё равно
     уводит слой за фон кнопки, так что порядок отрисовки не меняется. */
}

.Button-module__glow--Auibj::after {
    content: "";
    position: absolute;
    inset: var(--button-glow-inset, -40em -25em);
    background: var(--button-glow-gradient, none);
    opacity: var(--button-glow-opacity, 1);
    filter: blur(var(--button-glow-blur, 10em));
    z-index: -1;
    pointer-events: none;
    transition: inset 0.25s ease, filter 0.25s ease, opacity 0.25s ease;
  }

.Button-module__isLoading--u5f2m {
  pointer-events: none;
}

.Button-module__spinner--Zj28d {
  width: var(--spinner-size);
  height: var(--spinner-size);
  border-radius: 50%;
  box-sizing: border-box;
  display: inline-flex;
  background: transparent;
  position: absolute;
}

.Button-module__spinner--Zj28d::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    background: conic-gradient(
      from 180deg,
      color-mix(in srgb, var(--button-color, #fff) 0%, transparent) 0deg,
      color-mix(in srgb, var(--button-color, #fff) 30%, transparent) 90deg,
      color-mix(in srgb, var(--button-color, #fff) 80%, transparent) 180deg,
      var(--button-color, #fff) 270deg,
      color-mix(in srgb, var(--button-color, #fff) 0%, transparent) 360deg
    );
    animation: Button-module__spin--lWtk7 1s linear infinite;
    -webkit-mask: url("data:image/svg+xml,%3csvg width=%27100%27 height=%27100%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cdefs%3e%3cmask id=%27ring%27%3e%3crect width=%27100%27 height=%27100%27 fill=%27white%27/%3e%3ccircle cx=%2750%27 cy=%2750%27 r=%2725%27 fill=%27black%27/%3e%3c/mask%3e%3c/defs%3e%3crect width=%27100%27 height=%27100%27 fill=%27white%27 mask=%27url%28%23ring%29%27/%3e%3c/svg%3e");
            mask: url("data:image/svg+xml,%3csvg width=%27100%27 height=%27100%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cdefs%3e%3cmask id=%27ring%27%3e%3crect width=%27100%27 height=%27100%27 fill=%27white%27/%3e%3ccircle cx=%2750%27 cy=%2750%27 r=%2725%27 fill=%27black%27/%3e%3c/mask%3e%3c/defs%3e%3crect width=%27100%27 height=%27100%27 fill=%27white%27 mask=%27url%28%23ring%29%27/%3e%3c/svg%3e");
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
  }

.LangSwitcher-module__root--LeI9_ {
  position: relative;
  font-family: var(--lang-switcher-font-family, Aeonik, sans-serif);
}

.LangSwitcher-module__trigger--_hRX1 {
  all: unset;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--lang-switcher-trigger-gap, 6em);
  padding: var(--lang-switcher-trigger-padding, 4em 8em);
  border-radius: var(--lang-switcher-trigger-radius, 4em);
  transition: background-color 0.2s;
}

.LangSwitcher-module__trigger--_hRX1:hover {
  background-color: var(--lang-switcher-trigger-hover-bg, rgba(128, 128, 128, 0.1));
}

.LangSwitcher-module__triggerFlag--i1wnU {
  width: var(--lang-switcher-flag-size, 16em);
  height: var(--lang-switcher-flag-size, 16em);
  border-radius: var(--lang-switcher-flag-radius, 2em);
  border: 1px solid var(--lang-switcher-flag-border, rgba(0, 0, 0, 0.1));
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.LangSwitcher-module__triggerFlag--i1wnU svg {
  width: 100%;
  height: 100%;
}

.LangSwitcher-module__triggerText--ncWZy {
  font-size: var(--lang-switcher-trigger-font-size, 14em);
  line-height: 1.2;
  color: var(--lang-switcher-trigger-color, var(--general-color, #000));
  text-transform: uppercase;
  font-weight: var(--lang-switcher-trigger-font-weight, 500);
}

.LangSwitcher-module__triggerArrow--sqbDg {
  width: var(--lang-switcher-arrow-size, 10em);
  height: var(--lang-switcher-arrow-size, 10em);
  transition: transform 0.2s;
}

.LangSwitcher-module__triggerArrowOpen--EY7Hq {
  transform: rotate(180deg);
}

.LangSwitcher-module__dropdown--HXcZS {
  position: absolute;
  top: calc(100% + 4em);
  right: 0;
  background: var(--lang-switcher-dropdown-bg, #fff);
  border: 1px solid var(--lang-switcher-dropdown-border, #e5e7eb);
  border-radius: var(--lang-switcher-dropdown-radius, 8em);
  box-shadow: var(--lang-switcher-dropdown-shadow, 0 4em 12em rgba(0, 0, 0, 0.1));
  padding: var(--lang-switcher-dropdown-padding, 8em 0);
  z-index: var(--lang-switcher-dropdown-z-index, 200);
  min-width: var(--lang-switcher-dropdown-min-width, 180em);
  max-height: var(--lang-switcher-dropdown-max-height, 320em);
  overflow-y: auto;
  list-style: none;
  margin: 0;
}

.LangSwitcher-module__localeItem--gADwi {
  all: unset;
  display: flex;
  align-items: center;
  gap: var(--lang-switcher-item-gap, 10em);
  padding: var(--lang-switcher-item-padding, 8em 16em);
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
  transition: background-color 0.15s;
}

.LangSwitcher-module__localeItem--gADwi:hover {
  background-color: var(--lang-switcher-item-hover-bg, #f3f4f6);
}

.LangSwitcher-module__localeItemActive--vvuM1 {
  background-color: var(--lang-switcher-item-active-bg, #f9fafb);
  font-weight: var(--lang-switcher-item-active-font-weight, 600);
}

.LangSwitcher-module__localeItemFlag--Dap7F {
  width: var(--lang-switcher-flag-size, 16em);
  height: var(--lang-switcher-flag-size, 16em);
  border-radius: var(--lang-switcher-flag-radius, 2em);
  border: 1px solid var(--lang-switcher-flag-border, rgba(0, 0, 0, 0.1));
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.LangSwitcher-module__localeItemFlag--Dap7F svg {
  width: 100%;
  height: 100%;
}

.LangSwitcher-module__localeItemText--ogq0R {
  font-size: var(--lang-switcher-item-font-size, 14em);
  line-height: 1.3;
  color: var(--lang-switcher-item-color, #1f2937);
}

/* Modal styles for mobile */
.LangSwitcher-module__overlay--lUuFn {
  position: fixed;
  inset: 0;
  background: var(--lang-switcher-overlay-bg, rgba(0, 0, 0, 0.5));
  z-index: var(--lang-switcher-overlay-z-index, 9999);
}

.LangSwitcher-module__modal--Cp_uX {
  position: fixed;
  inset: 0;
  background: var(--lang-switcher-modal-bg, #fff);
  z-index: var(--lang-switcher-modal-z-index, 10000);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.LangSwitcher-module__modalHeader--vR9MQ {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--lang-switcher-modal-header-padding, 16em);
  border-bottom: 1px solid var(--lang-switcher-modal-border, #e5e7eb);
  flex-shrink: 0;
}

.LangSwitcher-module__modalTitle--UPVZ0 {
  font-size: var(--lang-switcher-modal-title-size, 18em);
  font-weight: var(--lang-switcher-modal-title-weight, 600);
  color: var(--lang-switcher-modal-title-color, #1f2937);
  margin: 0;
  line-height: 1.3;
}

.LangSwitcher-module__modalClose--fM_Q_ {
  all: unset;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--lang-switcher-modal-close-size, 32em);
  height: var(--lang-switcher-modal-close-size, 32em);
  border-radius: var(--lang-switcher-modal-close-radius, 4em);
  transition: background-color 0.15s;
}

.LangSwitcher-module__modalClose--fM_Q_:hover {
  background-color: var(--lang-switcher-modal-close-hover-bg, #f3f4f6);
}

.LangSwitcher-module__modalCloseIcon--USowG {
  width: var(--lang-switcher-modal-close-icon-size, 20em);
  height: var(--lang-switcher-modal-close-icon-size, 20em);
}

.LangSwitcher-module__modalList--uTiFY {
  flex: 1;
  overflow-y: auto;
  padding: var(--lang-switcher-modal-list-padding, 8em 0);
  list-style: none;
  margin: 0;
}

.LangSwitcher-module__modalList--uTiFY .LangSwitcher-module__localeItem--gADwi {
  padding: var(--lang-switcher-modal-item-padding, 12em 16em);
}

.LangSwitcher-module__modalList--uTiFY .LangSwitcher-module__localeItemText--ogq0R {
  font-size: var(--lang-switcher-modal-item-font-size, 16em);
}

.Section-module__section--qmgjG {
  --abm-side-padding: 18em;
  padding: 80em var(--abm-side-padding);
  color: var(--text-color);
  font-size: 1px;
}

.Section-module__themeYellow--TpLu_ {
  --text-color: var(--color-black, #000);
  background-color: var(--color-yellow, #FEDD00);
}

.Section-module__themeBlack--S5jGY {
  --text-color: var(--color-white, #fff);
  background-color: var(--color-black, #000);
}

.Section-module__themeWhite--o5h6a {
  --text-color: var(--color-black, #000);
  background-color: var(--color-white, #fff);
}

.Section-module__withTopBorder--olQtQ {
  border-top: 4px solid #8C1EFF;
}

.Section-module__content--z4_Ix {
  max-width: 1600em;
  margin: auto;
}

@media (min-width: 1152px) {
  .Section-module__section--qmgjG {
    --abm-side-padding: 24em;
    padding-bottom: 100em;
  }
}


.Header-module__root--MyGKu {
  font-family: Aeonik, sans-serif;
  background-color: var(--bg-color);
  position: relative;
  padding: 0 !important;
}

.Header-module__root--MyGKu,
.Header-module__header--Ie2CT {
  height: 74em;
  box-sizing: border-box;
  background-color: var(--bg-color);
}

.Header-module__content--o5UCS {
  padding-left: 15em;
  padding-right: 28em;
  position: relative;
  height: 100%;
}

.Header-module__header--Ie2CT {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

.Header-module__measureHeader--_PpQW {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 500px) {

.Header-module__compactHeader--LsvY9 {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    padding-left: 15em;
    padding-right: 28em;
    background-color: var(--bg-color);
}
  }

.Header-module__white--xyBx0 {
  --general-color: #000;
  --bg-color: #fff;
  --logo-accent-color: #000;
}

.Header-module__black--q5X1d {
  --general-color: #fff;
  --bg-color: #000;
  --logo-accent-color: #fedd00;
}

.Header-module__yellow--W7Vw1 {
  --general-color: #000;
  --bg-color: rgba(254, 221, 0, 1);
  --logo-accent-color: #000;
}

.Header-module__leftContainer--T8NI2 {
  display: grid;
  grid-auto-flow: column;
  grid-gap: 60em;
  gap: 60em;
  grid-auto-columns: -webkit-min-content;
  grid-auto-columns: min-content;
  align-items: center;
  height: 100%;
}

.Header-module__rightContainer--ZvsQ0 {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  grid-gap: 16em;
  gap: 16em;
  z-index: 1;
}

.Header-module__navList--ikTYl {
  list-style: none;
  display: grid;
  grid-gap: 40em;
  gap: 40em;
  grid-auto-flow: column;
  padding: 0;
}

.Header-module__menuLink--yDAEH {
  all: unset;
  color: var(--menu-link-color);
  cursor: pointer;
  white-space: nowrap;
}

.Header-module__white--xyBx0 .Header-module__menuLink--yDAEH {
    --menu-link-color: var(--general-color);
  }

.Header-module__black--q5X1d .Header-module__menuLink--yDAEH {
    --menu-link-color: var(--general-color);
  }

.Header-module__menuLinkText--MV8k7 {
  font-size: 18em;
  line-height: 1.23;
}

.Header-module__subMenuOpener--7Gf68 {
  padding-right: 20em;
  position: relative;
}

.Header-module__subMenuOpener--7Gf68::after {
    content: "";
    width: 17em;
    height: 17em;
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNyAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMi4zMTk4MiA2LjQxMDE2QzIuNTM2OTYgNi42MjcyOSA2LjMxOTc3IDEwLjQ2NzYgOC4zMTk4MiAxMi40MTAyTDE0LjMxOTggNi40MTAxNiIgc3Ryb2tlPSIjOEMxRUZGIiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8L3N2Zz4K) no-repeat right center;
    position: absolute;
    right: 0;
    top: 2em;
    background-size: cover;
  }

.Header-module__subMenuOpener--7Gf68.Header-module__subMenuOpenerActive--hM0jl::after {
    transform: rotate(180deg) translateY(-1em);
  }

.Header-module__subNavList--opWlU {
  display: none;
  position: absolute;
  background: var(--bg-color);
  top: 100%;
  border: 1em solid rgba(191, 191, 191, 1);
  gap: 20em;
  padding: 20em 18em 18em;
  min-width: 146em;
  max-width: 180em;
}

.Header-module__subNavList--opWlU .Header-module__menuLink--yDAEH {
    white-space: unset;
  }

.Header-module__subNavList--opWlU.Header-module__subNavListOpened--mebR2 {
    display: grid;
  }

.Header-module__burgerMenuContainer--GmhQc {
  display: grid;
  justify-self: end;
  align-self: center;
}

.Header-module__burgerMenuButton--sm0Lo {
  all: unset;
  cursor: pointer;
  display: inline-grid;
}

.Header-module__burgerMenu--SUEsD {
  padding: 20em 18em 18em;
  display: grid;
  grid-gap: 20em;
  gap: 20em;
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  grid-auto-columns: 1fr;
  position: absolute;
  z-index: 10000;
  top: 100%;
  right: -28em;
  border-left: 1em solid rgba(191, 191, 191, 1);
  border-bottom: 1em solid rgba(191, 191, 191, 1);
  background-color: var(--burger-menu-bg);
  width: 282em;
  max-width: calc(100% + 28em);
  box-sizing: border-box;
}

@media (max-width: 500px) {

.Header-module__burgerMenu--SUEsD {
    width: 100vw;
    max-width: none;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}
  }

.Header-module__white--xyBx0 .Header-module__burgerMenu--SUEsD {
    --burger-menu-bg: rgba(255, 255, 255, 0.9);
  }

.Header-module__black--q5X1d .Header-module__burgerMenu--SUEsD {
    --burger-menu-bg: rgba(0, 0, 0, 0.8);
    --burger-menu-border-color: rgba(191, 191, 191, 1);
  }

.Header-module__yellow--W7Vw1 .Header-module__burgerMenu--SUEsD {
    --burger-menu-bg: rgba(254, 221, 0, 0.9);
    --burger-menu-border-color: rgba(0, 0, 0, 1);
  }

.Header-module__burgerMenu--SUEsD .Header-module__navList--ikTYl {
    grid-auto-flow: row;
    gap: 20em;
  }

.Header-module__logo--V8O4g {
  height: 60em;
}

.Header-module__burgerButtons--gDROa {
  display: grid;
  grid-gap: 16em;
  gap: 16em;
}

.Header-module__separator--lw7LB {
  height: 1em;
  background: var(--general-color);
}

@media (max-width: 1399px) {
  .Header-module__navList--ikTYl {
    gap: 32em;
  }

  .Header-module__menuLinkText--MV8k7 {
    font-size: 16em;
  }

  .Header-module__root--MyGKu,
  .Header-module__header--Ie2CT {
    height: 58em;
  }

  .Header-module__logo--V8O4g {
    height: 38em;
  }
}

@media (min-width: 1400px) and (max-width: 1919px) {
  .Header-module__navList--ikTYl {
    gap: 32em;
  }

  .Header-module__menuLinkText--MV8k7 {
    font-size: 16em;
  }

  .Header-module__root--MyGKu,
  .Header-module__header--Ie2CT {
    height: 74em;
  }

  .Header-module__logo--V8O4g {
    height: 52em;
  }
}

@media (min-width: 1920px) {
  .Header-module__root--MyGKu,
  .Header-module__header--Ie2CT {
    height: 84em;
  }

  .Header-module__logo--V8O4g {
    height: 60em;
  }
}

