@keyframes a {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(359deg)
  }
}

.container {
  position: relative;
  max-width: 1280px;
  width: calc(100% - 24px);
  margin-inline: auto
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent
}

*,
:focus {
  outline: 0
}

html {
  display: flex;
  flex-direction: column
}

.menu-item:not(.menu-item-has-children) .menu-item-arrow,
html:not(.loaded) ._dynamic_adapt_,
html:not(.loaded) .sub-menu-wrapper,
html:not(.loaded) [data-da*=header__mobile] {
  display: none
}

html:not(.loaded) .header-fixed,
html:not(.loaded) .swiper {
  opacity: 0
}

html.safari {
  -webkit-text-size-adjust: 100%
}

html.safari input {
  -webkit-appearance: none;
  appearance: none;
  font-size: 16px !important
}

@supports not (-webkit-hyphens:none) {
  body {
    padding-right: 0 !important
  }
}

.header__mobile,
body,
html {
  scrollbar-gutter: stable
}

.header__mobile.scrollbar-auto,
body.scrollbar-auto,
html.scrollbar-auto {
  scrollbar-gutter: auto
}

.wrapper,
body,
html {
  min-height: 100%
}

body {
  position: relative;
  margin: 0;
  font-family: AkzidenzgroteskPro;
  color: #000;
  -webkit-tap-highlight-color: transparent
}

body.no-scroll {
  overflow-y: hidden
}

.lg-on #wpadminbar,
.lg-on [data-fixed] {
  z-index: -1
}

.wrapper,
body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  overflow-x: clip
}

.wrapper>* {
  width: 100%
}

.main {
  flex: 1 1 auto
}

sup {
  font-size: .5em
}

svg {
  transition: all .4s
}

a,
button,
figure,
iframe,
input,
li,
textarea {
  background: 0 0;
  text-decoration: none;
  color: inherit
}

a,
figure,
iframe,
li {
  font-family: inherit;
  cursor: pointer
}

button,
input,
textarea {
  border: 0
}

button {
  padding: 0;
  margin: 0;
  cursor: pointer
}

a:active,
button:active,
figure:active,
iframe:active,
input:active,
li:active,
textarea:active {
  outline: 0
}

a,
dd,
dl,
dt,
fieldset,
figure,
iframe,
li {
  padding: 0;
  margin: 0;
  border: 0
}

button,
strong {
  font: inherit
}

ul li {
  list-style: none;
  cursor: default
}

input,
textarea {
  outline: 0;
  font-family: AkzidenzgroteskPro;
  -webkit-appearance: none;
  appearance: none
}

input::placeholder,
textarea::placeholder {
  font: inherit;
  color: inherit;
  transition: all .4s
}

textarea {
  resize: none;
  max-height: 100%;
  padding-right: 9px;
  width: calc(100% + 13px);
  margin-right: -9px;
  overflow-y: auto;
  overflow-x: hidden
}

@supports (-moz-appearance:none) {
  textarea {
    scrollbar-color: #eed65f #dfe4ec;
    scrollbar-width: thin
  }
}

textarea::-webkit-scrollbar {
  width: 4px
}

textarea::-webkit-scrollbar-track-piece {
  background-color: #dfe4ec;
  border-radius: 5px
}

textarea::-webkit-scrollbar-thumb {
  background-color: #eed65f;
  border-radius: 5px
}

@supports (-webkit-hyphens:none) {
  input {
    -webkit-appearance: none;
    appearance: none;
    font-size: 16px !important
  }
}

input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
  -webkit-appearance: none
}

input[type=number] {
  -moz-appearance: textfield
}

input[type=button],
input[type=submit] {
  cursor: pointer
}

button,
input,
textarea {
  box-shadow: 0 0 0 1px transparent;
  transition: all .3s
}

button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  box-shadow: 0 0 0 1px #d1b116
}

a {
  box-shadow: 0 0 0 1px transparent
}

a:focus-visible {
  box-shadow: 0 0 0 1px #e9ca31
}

h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
ul {
  margin: 0;
  padding: 0;
  font: inherit
}

img {
  max-width: 100%;
  object-fit: contain;
  border: 0
}

picture {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center
}

picture img {
  width: 100%;
  object-fit: cover
}

[data-digits-counter] {
  display: inline-block;
  white-space: nowrap
}

[data-lines] {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden
}

[data-lines].active {
  -webkit-line-clamp: unset;
  overflow: visible
}

.input-wrapper,
.input-wrapper p {
  display: grid
}

.logo {
  display: flex
}

.button,
.menu li,
.submit,
.tel,
a {
  transition: color .3s, background .3s, opacity .3s
}

.menu li {
  position: relative;
  z-index: 2
}

.link-button {
  display: inline-flex;
  justify-content: center;
  align-items: center
}

.hover-translate {
  transition: translate .4s
}

.hover-translate:focus-visible {
  translate: 0 -3px
}

.hover-icon img,
.hover-icon svg,
.hover-scale {
  transition: all .4s
}

.hover-scale [class*=-img] {
  overflow: hidden
}

.hover-scale [class*=-img] img {
  transition: .4s ease-in
}

.hover-scale [class*=-img] img:focus-visible {
  scale: 1.02
}

.hover-icon:focus-visible img,
.hover-icon:focus-visible svg {
  scale: 1.08
}

.underline {
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-underline-offset: .1lh;
  transition: all .4s
}

.underline:focus-visible {
  text-decoration-color: transparent
}

.hover-underline {
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-underline-offset: .1lh;
  transition: all .4s;
  text-decoration-color: transparent
}

.hover-underline:focus-visible {
  text-decoration-color: currentColor
}

[hidden] {
  display: none !important
}

.flex {
  display: flex
}

.flex-wrap {
  flex-wrap: wrap
}

.justify-center {
  justify-content: center
}

.justify-end {
  justify-content: end
}

.justify-start {
  justify-content: start;
  justify-items: start
}

.justify-between {
  width: 100%;
  justify-content: space-between
}

.align-center {
  align-items: center
}

.align-start {
  align-items: start;
  align-content: start
}

.align-end {
  align-items: end;
  align-content: end
}

.col {
  justify-items: start
}

.col,
.grid {
  display: grid;
  grid-template-columns: 100%
}

.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0 0 0 0);
  overflow: hidden
}

.map-wrapper {
  position: relative;
  min-height: 400px;
  width: 100%;
  background: 50%/cover no-repeat;
  overflow: hidden
}

.map {
  object-fit: cover
}

.loader,
.map {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

.loader {
  z-index: 2;
  background-color: rgba(233, 202, 49, .4);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none
}

.loader.is-active {
  opacity: 1
}

.loader:after {
  content: "";
  position: absolute;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  border: 8px solid #fff;
  border-left-color: transparent;
  border-radius: 50%;
  animation: a .7s linear infinite
}

[class*=ymaps-2][class*=-ground-pane] {
  filter: saturate(0) grayscale(100%)
}

.ymaps-2-1-79-controls__control,
.ymaps-2-1-79-controls__control_toolbar,
.ymaps-2-1-79-copyright__content-cell,
.ymaps-2-1-79-copyright__link,
.ymaps-2-1-79-float-button,
.ymaps-2-1-79-gototaxi,
.ymaps-2-1-79-gototech,
.ymaps-2-1-79-gotoymaps,
.ymaps-2-1-79-gotoymaps__container,
.ymaps-2-1-79-listbox__button,
.ymaps-2-1-79-listbox__button-icon {
  display: none !important
}

.slider {
  position: relative
}

.slider:has(.hover-translate) .swiper {
  padding-block: 10px;
  margin-block: -10px
}

.swiper {
  transition: all .4s
}

.swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  width: 100%
}

.swiper-pagination-bullet {
  border-radius: 100px;
  background: #000;
  cursor: pointer;
  transition: all .4s
}

.swiper-pagination-bullet-active {
  background: #fd2f74
}

.swiper-button-lock,
.swiper-pagination-bullet-active:last-child:first-child,
.swiper-pagination-lock {
  display: none
}

.swiper-wrapper {
  display: grid;
  grid-auto-flow: column;
  justify-content: start
}

.swiper-slide {
  display: grid;
  grid-template-columns: 100%
}

.swiper-scrollbar {
  width: 100%;
  height: 4px;
  margin-top: 12px;
  background: #dfe4ec;
  cursor: pointer
}

.swiper-scrollbar-drag {
  background: #e9ca31
}

.subtitle,
.title {
  font-family: BubbleboddyNeue;
  font-weight: 700
}

.title {
  line-height: 1
}

.title strong {
  color: #e9ca31
}

.subtitle {
  color: #0c0c0c
}

.button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 1.5em;
  border-radius: 100px;
  box-shadow: inset 0 4px 4px 0 rgba(0, 0, 0, .25);
  background: #e9ca31;
  font-weight: 700;
  font-size: 16px
}

.button_border {
  border: 1px solid #000;
  box-shadow: none
}

.button_border:focus-visible {
  background: #000;
  color: #fff
}

.header-fixed {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  background: #000;
  padding-block: 12px
}

.header__top {
  justify-content: space-between
}

.header__menu,
.header__top {
  display: flex;
  align-items: center
}

.header__menu {
  justify-self: center;
  justify-content: center;
  padding-block: 8px;
  border-radius: 100px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, .25);
  background: rgba(255, 255, 255, .88)
}

.header__menu a {
  padding: 6px 20px;
  border-radius: 100px;
  font-weight: 500;
  letter-spacing: -.05em;
  color: #1c1c1c
}

.header__menu a:focus-visible {
  color: #fff;
  background: #e9ca31
}

.header-main {
  background: #000;
  color: #fff;
  overflow: hidden
}

.header-main-wrapper {
  display: grid;
  justify-items: start;
  align-content: start;
  padding-top: 110px
}

.header-main__subtitle {
  font-family: BubbleboddyNeue;
  font-weight: 400
}

.header-main__img {
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%
}

.about {
  position: relative
}

.about:before {
  content: "";
  z-index: 2;
  width: 100%;
  height: 154px;
  background: url(../img/about/bg.webp) 50%/cover no-repeat
}

.about .container {
  padding-top: 134px
}

.about-wrapper {
  margin-left: auto
}

.about:before,
.about__img {
  position: absolute;
  left: 0;
  top: 0
}

.about__img {
  height: 100%;
  object-fit: cover
}

.about__text {
  display: grid;
  gap: 24px
}

.category-wrapper {
  display: flex;
  color: #000
}

.category__item {
  width: 100%;
  display: grid;
  justify-items: center;
  grid-template-columns: 100%;
  background: #e9ca31;
  text-align: center;
  transition: all .4s
}

.category__item-img {
  border-radius: 50%;
  object-fit: cover;
  transition: all .4s
}

.category__item-title {
  margin-bottom: 8px;
  font-family: BubbleboddyNeue;
  font-weight: 700
}

.category__item-text {
  margin-bottom: 12px;
  min-height: 50px
}

.card {
  display: grid;
  gap: 8px;
  text-align: center
}

.card-slider {
  display: none
}

.card-section {
  max-width: 1440px;
  margin-inline: auto;
  padding-block: 24px 60px
}

.card__pagination {
  position: absolute
}

.card__img {
  width: 100%
}

.card__title {
  font-family: BubbleboddyNeue;
  font-weight: 700
}

.card__text {
  font-size: 16px
}

.card__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%
}

.card__weight {
  font-size: 16px
}

.card__price,
.card__weight {
  position: relative;
  font-weight: 700
}
.card__price:after {
    font-size: 90%;
    content: ' \20BD';
    font-family: Tahoma, Geneva, sans-serif;
}

.gallery {
  position: relative
}

.gallery .swiper-slide {
  width: 360px !important
}

.gallery .swiper-slide[aria-label^="1"] {
  width: 522px !important
}

.gallery__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px
}

.gallery__item-img img {
  height: 213px;
  object-fit: cover
}

.gallery__item-img:first-child:last-child {
  grid-row: span 2
}

.gallery__item-img:first-child:last-child img {
  height: 447px
}

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

.gallery__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid #e9ca31;
  transition: all .4s
}

.gallery__arrow:focus-visible {
  background: #e9ca31
}

.gallery__arrow:focus-visible svg {
  fill: #fff
}

.gallery__arrow svg {
  width: 50%;
  height: 50%;
  fill: #e9ca31
}

.social {
  display: flex;
  align-items: center
}

.social a {
  display: flex;
  transition: all .4s
}

.social a:focus-visible {
  scale: 1.05
}

.contact {
  position: relative
}

.contact:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: url(../img/footer/bg.webp) top/cover no-repeat
}

.contact-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 12px;
    align-items: center
}
    
.contact-locate {
    grid-column: span 2 / span 2;
}

.contact-working {
    grid-column: span 2 / span 2;
    grid-column-start: 3;
}

.contact__tel {
    grid-column: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 2;
}

.contact__email {
    grid-column: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 2;
}

.contact-wrapper .social {
    grid-row: span 2 / span 2;
    grid-column-start: 5;
    grid-row-start: 1;
}

.contact__email,
.contact__tel {
  display: flex;
  align-items: center;
  font-weight: 500
}

.contact__email:focus-visible,
.contact__tel:focus-visible {
  color: #e9ca31
}
.contact-locate,
.contact-working {
  display: flex;
  align-items: center;
  font-weight: 500;
}

.contact-wrapper svg {
  width: 24px;
  height: 24px;
  fill: #e9ca31
}

.contact__map {
  margin-top: 20px
}

.parallax {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  pointer-events: none
}

.parallax-1 {
  left: -200px;
  top: -200px;
  z-index: 11 !important
}

.parallax-3 {
  right: 0;
  bottom: 0;
  translate: 66% 84%
}

.parallax-4 {
  left: -50px;
  bottom: 60px
}

.parallax-5 {
  z-index: 0
}

.popup {
  position: fixed;
  inset: 0;
  z-index: 11;
  display: none;
  overflow: hidden;
  background: rgba(0, 0, 0, .7);
  width: 100%;
  height: 100%
}

.popup__dialog {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer
}

.popup__content {
  position: relative;
  width: 400px;
  max-width: 96%;
  max-height: 90vh;
  background: #fff;
  overflow-y: auto;
  transition: all .4s;
  text-align: center;
  cursor: default;
  border-radius: 8px
}

.popup__title {
  line-height: 1.2
}

.popup__form form {
  display: grid;
  justify-content: center;
  grid-template-columns: 100%
}

.popup__form .input-wrapper {
  gap: 12px
}

.popup__close {
  position: absolute;
  z-index: 4;
  display: flex;
  cursor: pointer;
  transition: all .4s
}

.popup__close svg {
  width: 20px;
  height: 20px;
  fill: #dfe4ec
}

.popup-thank .popup__content {
  display: grid;
  min-width: 280px;
  justify-items: center;
  background: #fff;
  color: #000
}

.popup-thank .popup__subtitle,
.popup-thank .popup__title {
  margin: 0
}

.footer {
  position: relative;
  padding-bottom: 43px;
  background: #000;
  color: #fff;
  overflow: hidden
}

.footer .container {
  position: static
}

.footer__top {
  display: grid;
  justify-items: start;
  grid-template-columns: 1fr 1.3fr;
  gap: 20px
}

.footer__logo {
  display: grid;
  justify-items: center;
  gap: 4px;
  text-align: center;
  font-family: BubbleboddyNeue;
  font-weight: 400
}

.footer__copy {
  position: absolute;
  left: 50%;
  bottom: 26px;
  translate: -50% 0;
  font-size: 16px;
  color: rgba(255, 255, 255, .4)
}

@media (min-width:576px) {
  .show-xs {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .show-xs.swiper-navigation,
  .show-xs.swiper-pagination {
    display: none
  }
}

@media (min-width:768px) {
  .show-sm {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .show-sm.swiper-navigation,
  .show-sm.swiper-pagination {
    display: none
  }
}

@media (min-width:992px) {
  .show-md {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .show-md.swiper-navigation,
  .show-md.swiper-pagination {
    display: none
  }

  .subtitle {
    margin-top: -8px
  }

  .card-section {
    background: url(../img/card/bg.webp) 50%/contain no-repeat
  }
}

@media (min-width:1200px) {
  .show-lg {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .show-lg.swiper-navigation,
  .show-lg.swiper-pagination {
    display: none
  }

  .category-wrapper:not(:hover) .category__item:first-child {
    width: 150%
  }

  .category__item:focus-visible {
    width: 150%;
    background: color-mix(in srgb, #fff 20%, #fe2f74)
  }

  .category__item:focus-visible .category__item-text,
  .category__item:focus-visible .category__item-title {
    color: #fff
  }

  .category__item:focus-visible .category__item-img {
    width: 320px;
    border-radius: 20px
  }

  .category__item:focus-visible .button {
    border-color: #e9ca31
  }
}

@media (min-width:1200px) and (any-hover:hover) {
  .category__item:hover {
    width: 150%;
    background: color-mix(in srgb, #fff 20%, #fe2f74)
  }

  .category__item:hover .category__item-text,
  .category__item:hover .category__item-title {
    color: #fff
  }

  .category__item:hover .category__item-img {
    width: 320px;
    border-radius: 20px
  }

  .category__item:hover .button {
    border-color: #e9ca31
  }
}

@media (min-width:1401px) {

  .flex,
  .grid {
    gap: 16px
  }

  .show-xl {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .show-xl.swiper-navigation,
  .show-xl.swiper-pagination {
    display: none
  }

  .swiper-pagination {
    margin-top: 40px
  }

  .swiper-pagination-bullet {
    width: 8px;
    height: 8px
  }

  .swiper-pagination-bullet-active {
    width: 64px
  }

  .header__menu a,
  body {
    font-size: 20px
  }

  .about .section__top,
  .section__top {
    margin-bottom: 50px
  }

  .title {
    font-size: 80px
  }

  .subtitle {
    font-size: 40px
  }

  .button {
    min-height: 66px
  }

  .button_border {
    min-width: 200px;
    min-height: 46px
  }

  .header__logo img {
    width: 185px;
    height: 92px
  }

  .header__menu {
    gap: 52px;
    padding-inline: 36px;
    min-height: 55px
  }

  .header-main {
    padding-top: 100px;
    padding-bottom: 120px
  }

  .header-main__title img {
    width: 570px;
    height: 148px
  }

  .header-main__subtitle {
    margin-bottom: 66px;
    font-size: 40px
  }

  .header-main__img {
    width: 870px;
    height: 736px
  }

  .about-wrapper {
    max-width: 625px
  }

  .about__img {
    width: 520px
  }

  .category {
    padding-block: 40px
  }

  .category-wrapper,
  .popup-thank .popup__content {
    gap: 20px
  }

  .category__item {
    padding-top: 64px;
    padding-inline: 24px;
    padding-bottom: 30px;
    border-radius: 20px
  }

  .category__item-img {
    margin-bottom: 36px;
    width: 178px;
    height: 178px
  }

  .category__item-title {
    font-size: 40px
  }

  .card-section {
    min-height: 476px
  }

  .card__img {
    max-height: 224px
  }

  .card__price,
  .card__title {
    font-size: 24px
  }

  .gallery {
    padding-block: 40px
  }

  .gallery__item-img img {
    border-radius: 20px
  }

  .gallery__navigation {
    margin-top: 36px
  }

  .gallery__arrow {
    width: 48px;
    height: 48px
  }

  .social {
    gap: 36px
  }

  .social img {
    width: 55px;
    height: 55px
  }

  .contact {
    padding-top: 40px
  }

  .contact:after {
    height: 154px
  }

  .contact__email,
  .contact__tel,
  .contact-locate, 
  .contact-working {
    gap: 16px;
  }

  .contact__email svg,
  .contact__tel svg {
    width: 24px;
    height: 24px
  }

  .contact__map {
    min-height: 511px
  }

  .parallax-5 {
    width: 428px;
    height: 308px
  }

  .popup__content {
    padding-block: 32px;
    padding-inline: 32px
  }

  .popup__title {
    margin-bottom: 16px;
    font-size: 28px
  }

  .popup__close {
    right: 16px;
    top: 16px
  }

  .popup-thank img {
    width: 100px;
    height: 100px
  }

  .footer {
    padding-top: 100px
  }

  .footer__logo {
    font-size: 24px
  }

  .footer__logo img {
    width: 292px
  }
}

@media (max-width:1400px) {

  .flex,
  .grid {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px)
  }

  .hide-xl {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-xl.swiper-navigation,
  .hide-xl.swiper-pagination {
    display: none
  }

  .swiper-pagination {
    margin-top: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .swiper-pagination-bullet {
    width: round(clamp(6px, 5.6px + .125vw, 8px), 1px);
    height: round(clamp(6px, 5.6px + .125vw, 8px), 1px)
  }

  .swiper-pagination-bullet-active {
    width: round(clamp(48px, 44.8px + 1vw, 64px), 1px)
  }

  body {
    font-size: round(clamp(18px, 17.6px + .125vw, 20px), 1px)
  }

  .about .section__top,
  .section__top {
    margin-bottom: round(clamp(28px, 23.6px + 1.375vw, 50px), 1px)
  }

  .title {
    font-size: round(clamp(32px, 22.4px + 3vw, 80px), 1px)
  }

  .subtitle {
    font-size: round(clamp(24px, 20.8px + 1vw, 40px), 1px)
  }

  .button {
    min-height: round(clamp(48px, 44.4px + 1.125vw, 66px), 1px)
  }

  .button_border {
    min-width: round(clamp(160px, 152px + 2.5vw, 200px), 1px);
    min-height: round(clamp(44px, 43.6px + .125vw, 46px), 1px)
  }

  .header__logo img {
    width: round(clamp(129.5px, 118.4px + 3.46875vw, 185px), 1px);
    height: round(clamp(64.4px, 58.88px + 1.725vw, 92px), 1px)
  }

  .header__menu {
    gap: round(clamp(-20px, -34.4px + 4.5vw, 52px), 1px);
    padding-inline: round(clamp(12px, 7.2px + 1.5vw, 36px), 1px);
    min-height: round(clamp(48px, 46.6px + .4375vw, 55px), 1px)
  }

  .header__menu a {
    font-size: round(clamp(14px, 12.8px + .375vw, 20px), 1px)
  }

  .header-main {
    padding-top: round(clamp(40px, 28px + 3.75vw, 100px), 1px);
    padding-bottom: round(clamp(100px, 96px + 1.25vw, 120px), 1px)
  }

  .header-main__title img {
    width: round(clamp(300.8px, 183.56px + 8.825vw, 570px), 1px);
    height: round(clamp(88.8px, 76.96px + 3.7vw, 148px), 1px)
  }

  .header-main__subtitle {
    margin-bottom: round(clamp(24px, 15.6px + 2.625vw, 66px), 1px);
    font-size: round(clamp(20px, 16px + 1.25vw, 40px), 1px)
  }

  .header-main__img {
    width: round(clamp(522px, 452.4px + 21.75vw, 870px), 1px);
    height: round(clamp(441.6px, 382.72px + 18.4vw, 736px), 1px)
  }

  .about-wrapper {
    max-width: round(clamp(400px, 355px + 14.0625vw, 625px), 1px)
  }

  .about__img {
    width: round(clamp(312px, 270.4px + 13vw, 520px), 1px)
  }

  .category {
    padding-block: round(clamp(28px, 25.6px + .75vw, 40px), 1px)
  }

  .category-wrapper {
    gap: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .category__item {
    padding-top: round(clamp(24px, 16px + 2.5vw, 64px), 1px);
    padding-inline: round(clamp(20px, 19.2px + .25vw, 24px), 1px);
    padding-bottom: round(clamp(24px, 22.8px + .375vw, 30px), 1px);
    border-radius: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .category__item-img {
    margin-bottom: round(clamp(24px, 21.6px + .75vw, 36px), 1px);
    width: round(clamp(120px, 108.4px + 3.625vw, 178px), 1px);
    height: round(clamp(120px, 108.4px + 3.625vw, 178px), 1px)
  }

  .category__item-title {
    font-size: round(clamp(24px, 20.8px + 1vw, 40px), 1px)
  }

  .card-section {
    min-height: round(clamp(300px, 264.8px + 11vw, 476px), 1px)
  }

  .card__img {
    max-height: round(clamp(200px, 195.2px + 1.5vw, 224px), 1px)
  }

  .card__price,
  .card__title {
    font-size: round(clamp(20px, 19.2px + .25vw, 24px), 1px)
  }

  .gallery {
    padding-block: round(clamp(28px, 25.6px + .75vw, 40px), 1px)
  }

  .gallery__item-img img {
    border-radius: round(clamp(16px, 15.2px + .25vw, 20px), 1px)
  }

  .gallery__navigation {
    margin-top: round(clamp(20px, 16.8px + 1vw, 36px), 1px)
  }

  .gallery__arrow {
    width: round(clamp(36px, 33.6px + .75vw, 48px), 1px);
    height: round(clamp(36px, 33.6px + .75vw, 48px), 1px)
  }

  .social {
    gap: round(clamp(12px, 7.2px + 1.5vw, 36px), 1px)
  }

  .social img {
    width: round(clamp(32px, 27.4px + 1.4375vw, 55px), 1px);
    height: round(clamp(32px, 27.4px + 1.4375vw, 55px), 1px)
  }

  .contact {
    padding-top: round(clamp(28px, 25.6px + .75vw, 40px), 1px)
  }

  .contact:after {
    height: round(clamp(50px, 29.2px + 6.5vw, 154px), 1px)
  }

  .contact__email,
  .contact__tel,
  .contact-locate, 
  .contact-working {
    gap: round(clamp(12px, 11.2px + .25vw, 16px), 1px);
  }

  .contact__email svg,
  .contact__tel svg {
    width: round(clamp(20px, 19.2px + .25vw, 24px), 1px);
    height: round(clamp(20px, 19.2px + .25vw, 24px), 1px)
  }

  .contact__map {
    min-height: round(clamp(350px, 317.8px + 10.0625vw, 511px), 1px)
  }

  .parallax-5 {
    width: round(clamp(256.8px, 222.56px + 10.7vw, 428px), 1px);
    height: round(clamp(184.8px, 160.16px + 7.7vw, 308px), 1px)
  }

  .popup__content {
    padding-block: round(clamp(20px, 17.6px + .75vw, 32px), 1px);
    padding-inline: round(clamp(16px, 12.8px + 1vw, 32px), 1px)
  }

  .popup__title {
    margin-bottom: round(clamp(12px, 11.2px + .25vw, 16px), 1px);
    font-size: round(clamp(24px, 23.2px + .25vw, 28px), 1px)
  }

  .popup__close {
    right: round(clamp(12px, 11.2px + .25vw, 16px), 1px);
    top: round(clamp(12px, 11.2px + .25vw, 16px), 1px)
  }

  .popup-thank .popup__content {
    gap: round(clamp(12px, 10.4px + .5vw, 20px), 1px)
  }

  .popup-thank img {
    width: round(clamp(60px, 52px + 2.5vw, 100px), 1px);
    height: round(clamp(60px, 52px + 2.5vw, 100px), 1px)
  }

  .footer {
    padding-top: round(clamp(40px, 28px + 3.75vw, 100px), 1px)
  }

  .footer__logo {
    font-size: round(clamp(18px, 16.8px + .375vw, 24px), 1px)
  }

  .footer__logo img {
    width: round(clamp(200px, 181.6px + 5.75vw, 292px), 1px)
  }
}

@media (max-width:1199px) {
  .hide-lg {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-lg.swiper-navigation,
  .hide-lg.swiper-pagination {
    display: none
  }
}

@media (max-width:991px) {
  .hide-md {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-md.swiper-navigation,
  .hide-md.swiper-pagination {
    display: none
  }

  .header-main__img {
    width: round(clamp(300px, 214.1579731744px + 26.825633383vw, 480px), 1px);
    height: round(clamp(300px, 214.1579731744px + 26.825633383vw, 480px), 1px)
  }

  .about-wrapper {
    margin-left: 0;
    display: grid;
    grid-template-columns: 1fr auto;
    max-width: 100%;
    gap: 24px
  }

  .about__img {
    position: static;
    width: 300px
  }

  /*.category-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
  }*/
    .category-wrapper {
    max-width: 100%;
    padding-bottom: 9px;
    margin-bottom: -9px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory
  }

  @supports (-moz-appearance:none) {
    .category-wrapper {
      scrollbar-color: #eed65f #dfe4ec;
      scrollbar-width: thin
    }
  }

  .category-wrapper::-webkit-scrollbar {
    height: 4px
  }

  .category-wrapper::-webkit-scrollbar-track-piece {
    background: #dfe4ec;
    border-radius: 5px
  }

  .category-wrapper::-webkit-scrollbar-thumb {
    background: #eed65f;
    border-radius: 5px
  }

  .category__item {
    flex: 1 0 250px;
    scroll-snap-align: start
  }

  .category__item:first-child {
    grid-column: 1/-1
  }

  .gallery .swiper-wrapper {
    height: 357.6px !important
  }

  .gallery .swiper-slide {
    width: 288px !important
  }

  .gallery .swiper-slide[aria-label^="1"] {
    width: 417.6px !important
  }

  .gallery__item-img img {
    height: 170.4px
  }

  .gallery__item-img:first-child:last-child img {
    height: 357.6px
  }
}

@media (max-width:767px) {
  .main,
  .header {
    overflow: hidden;
  }
  .header-main {
    width: 100vw;
  }
  .parallax-1 {
    top: 50px;
    left: -40px;
    max-width: 220px;
    width: 80vw;
  }
  .parallax-3 {
    z-index: 1;
    bottom: 50px;
    right: 0;
  }
  .parallax-4 {
    left: -40px;
    bottom: auto;
    width: 250px;
  }
  .hide-sm {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-sm.swiper-navigation,
  .hide-sm.swiper-pagination {
    display: none
  }

  .header__menu {
    padding: 0;
    gap: 16px;
    background: 0 0;
    box-shadow: none
  }

  .header__menu a {
    padding: 0;
    color: #fff
  }

  .header-main {
    padding-bottom: 40px
  }

  .header-main__img {
    right: -20px;
    top: 250px;
    width: round(clamp(200px, 128.4116331096px + 22.3713646532vw, 300px), 1px);
    height: round(clamp(150px, 114.2058165548px + 11.1856823266vw, 200px), 1px)
  }

  .about__img {
    width: 100%;
    height: auto;
    max-height: 40vh
  }

  .about {
    text-align: center
  }

  .about .container {
    padding-top: 40px
  }

  .about-wrapper {
    grid-template-columns: 100%
  }

  .gallery .swiper-wrapper {
    height: 268.2px !important
  }

  .gallery .swiper-slide {
    width: 216px !important
  }

  .gallery .swiper-slide[aria-label^="1"] {
    width: 313.2px !important
  }

  .gallery__item {
    gap: 12px
  }

  .gallery__item-img img {
    height: 127.8px
  }

  .gallery__item-img:first-child:last-child img {
    height: 268.2px
  }

  .contact-wrapper {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-items: flex-start;
    grid-template-columns: 100%;
    font-size: 16px
  }

  .parallax-5 {
    width: 150px;
    bottom: -50px;
  }

  .footer {
    padding-top: 40px
  }

  .footer__logo {
    gap: 16px
  }

  .footer__top {
    grid-template-columns: 100%;
    justify-items: center
  }

  .footer__copy {
    position: static;
    translate: 0 0
  }
}

@media (max-width:575px) {
    .ymaps-2-1-79-balloon__content ymaps {
      text-align: center;
      padding: 0 0 47px 5px;
    }
  .hide-xs {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden
  }

  .hide-xs.swiper-navigation,
  .hide-xs.swiper-pagination {
    display: none
  }

  .header__menu {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: round(clamp(12px, 6.9803921569px + 1.568627451vw, 16px), 1px);
    font-size: round(clamp(14px, 8.9803921569px + 1.568627451vw, 18px), 1px)
  }

  .header__logo img {
    width: round(clamp(100px, 62.3529411765px + 11.7647058824vw, 130px), 1px)
  }

  .category-wrapper {
    grid-template-columns: 100%
  }

  .gallery .swiper-wrapper {
    height: 178.8px !important
  }

  .gallery .swiper-slide {
    width: 144px !important
  }

  .gallery .swiper-slide[aria-label^="1"] {
    width: 208.8px !important
  }

  .gallery__item-img img {
    height: 85.2px
  }

  .gallery__item-img:first-child:last-child img {
    height: 178.8px
  }

  .popup__dialog {
    width: 400px;
    max-width: 100%;
    padding: 0 12px;
    margin: 0 auto
  }
}

@media (min-width:576px) and (max-width:1199px) {

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    text-wrap: balance
  }
}

@media (any-hover:hover) {
  .hover-active:hover {
    color: #e9ca31
  }

  .hover-translate:hover {
    translate: 0 -3px
  }

  .hover-scale [class*=-img] img:hover {
    scale: 1.02
  }

  .hover-icon:hover img,
  .hover-icon:hover svg {
    scale: 1.08
  }

  .underline:hover {
    text-decoration-color: transparent
  }

  .hover-underline:hover {
    text-decoration-color: currentColor
  }

  .button_border:hover {
    background: #000;
    color: #fff
  }

  .header__menu a:hover {
    color: #fff;
    background: #e9ca31
  }

  .gallery__arrow:hover {
    background: #e9ca31
  }

  .gallery__arrow:hover svg {
    fill: #fff
  }

  .social a:hover {
    scale: 1.05
  }

  .contact__email:hover,
  .contact__tel:hover {
    color: #e9ca31
  }

  .popup__close svg:hover {
    fill: #e9ca31
  }
}