* {
  box-sizing: border-box;
}

:root {
  --moyo-nav-left: 54.8%;
  --moyo-nav-top: .73%;
  --moyo-nav-width: 38%;
  --moyo-nav-height: 2.05%;
  --moyo-nav-font-family: Arial, "Microsoft YaHei", "SimSun", sans-serif;
  --moyo-nav-font-size: clamp(16px, 1.35vw, 27px);
  --moyo-nav-font-weight: 400;
  --moyo-nav-line-height: 1;
  --moyo-nav-letter-spacing: 0px;
  --moyo-nav-color: #fff;
  --moyo-nav-text-shadow: 0 1px 12px rgba(86, 58, 38, .42);
  --moyo-home-render-width: min(100vw, 2050px);
  --moyo-shell-width: min(100vw, 2050px);
}

html {
  background: #fff;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  color: #8b8b8b;
  font-family: Arial, "Microsoft YaHei", "SimSun", sans-serif;
  background: #fff;
}

.image-line-nav {
  position: fixed;
  top: 42px;
  left: calc(50% - (var(--moyo-shell-width) / 2) + (var(--moyo-shell-width) * .548));
  z-index: 9999;
  width: calc(var(--moyo-shell-width) * .38);
  height: 26px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  justify-items: center;
  gap: 0;
  padding: 0;
  background: transparent;
  pointer-events: auto;
}

.language-switcher {
  position: fixed;
  top: 15px;
  left: calc(50% - (var(--moyo-shell-width) / 2) + (var(--moyo-shell-width) * .711));
  z-index: 10000;
  width: calc(var(--moyo-shell-width) * .194);
  height: 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  justify-items: center;
  gap: 0;
  background: transparent;
  pointer-events: auto;
}

.language-switcher button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  color: #fff;
  background: transparent;
  font: 400 clamp(11px, .82vw, 17px)/1 Arial, "Microsoft YaHei", "SimSun", sans-serif;
  text-align: center;
  text-shadow: var(--moyo-nav-text-shadow);
  cursor: pointer;
  white-space: nowrap;
}

.language-switcher button.is-active {
  color: #fff;
}

.language-switcher button::before,
.language-switcher button::after {
  content: none !important;
  display: none !important;
}

.image-line-nav a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: var(--moyo-nav-color);
  font-family: var(--moyo-nav-font-family);
  font-size: var(--moyo-nav-font-size);
  font-weight: var(--moyo-nav-font-weight);
  line-height: var(--moyo-nav-line-height);
  letter-spacing: var(--moyo-nav-letter-spacing);
  text-decoration: none;
  text-align: center;
  text-shadow: var(--moyo-nav-text-shadow);
  white-space: nowrap;
  cursor: pointer;
  touch-action: manipulation;
}

.image-line-nav--home a {
  color: var(--moyo-nav-color);
  text-shadow: var(--moyo-nav-text-shadow);
}

.image-line-nav a.is-active::before {
  content: none;
}

.image-line-nav a:focus-visible {
  outline: 2px solid rgba(255, 255, 255, .9);
  outline-offset: 6px;
}

.home-logo-hit {
  position: absolute;
  z-index: 7;
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  background: transparent;
  pointer-events: auto;
  cursor: pointer;
}

.home-logo-hit:focus-visible {
  outline: 2px solid rgba(255, 255, 255, .9);
  outline-offset: 5px;
}

.home-logo-hit--brand {
  left: 1.25%;
  top: calc(var(--moyo-home-render-width) * .014);
  width: 12.5%;
  height: calc(var(--moyo-home-render-width) * .095);
}

.home-logo-hit--welcome {
  left: 42.4%;
  top: calc(var(--moyo-home-render-width) * .51);
  width: 15.2%;
  height: calc(var(--moyo-home-render-width) * .152);
}

.home-logo-hit--footer {
  left: 43.4%;
  top: calc(var(--moyo-home-render-width) * 2.435);
  width: 13.2%;
  height: calc(var(--moyo-home-render-width) * .132);
}

.page-shell {
  position: relative;
  width: min(100vw, 2050px);
  height: min(285.2683vw, 5848px);
  margin: 0 auto 180px;
  background: #fff;
  overflow: hidden;
}

.design {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
}

.services-page-body {
  overflow-x: hidden;
  overflow-y: auto;
}

.home-footer-overlay {
  position: absolute;
  left: 0;
  right: 0;
  top: 87.65%;
  height: 10.9%;
  z-index: 4;
  color: #fff;
  pointer-events: none;
}

.home-footer-overlay::before {
  content: none;
}

.home-footer-contact,
.home-footer-qr {
  position: absolute;
  top: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.home-footer-contact {
  width: 33.333%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .52em;
  color: #fff;
  font-size: clamp(18px, 1.45vw, 30px);
  line-height: 1.4;
  font-weight: 400;
  white-space: nowrap;
  text-shadow: 0 1px 8px rgba(55, 43, 39, .2);
}

.home-footer-contact--phone {
  left: 16.666%;
}

.home-footer-contact--mail {
  left: 83.333%;
}

.contact-icon {
  display: inline-block;
  font-size: .9em;
  line-height: 1;
}

.home-footer-qr {
  left: 50%;
  width: 33.333%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-footer-qr img {
  display: block;
  width: clamp(92px, 6.2vw, 128px);
  height: auto;
  margin: 0 auto;
}

.hotspot-layer,
.home-service-hotspots {
  position: absolute;
  inset: 0;
}

.hotspot-layer {
  display: none;
  pointer-events: none;
}

.home-service-hotspots {
  z-index: 3;
  pointer-events: auto;
}

.nav-link {
  position: absolute;
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  pointer-events: auto;
}

.nav-link:focus-visible,
.home-service-hit:focus-visible {
  outline: 2px solid rgba(255, 255, 255, .9);
  outline-offset: 5px;
}

.nav-home,
.nav-services,
.nav-prices,
.nav-contacts {
  top: 4.05%;
  height: 1%;
}

.nav-home {
  left: 58.1%;
  width: 5.2%;
}

.nav-services {
  left: 65.2%;
  width: 8%;
}

.nav-prices {
  left: 75.3%;
  width: 7.2%;
}

.nav-contacts {
  left: 84.5%;
  width: 8%;
}

.home-service-hit {
  position: absolute;
  display: block;
  border: 0;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  color: transparent;
  pointer-events: auto;
}

button.home-service-hit,
a.home-service-hit {
  cursor: pointer;
}

span.home-service-hit {
  pointer-events: none;
}

.home-service-hit--welcome-more {
  left: 42.5%;
  top: 37.9%;
  width: 15%;
  height: 2.2%;
}

.home-service-hit--oil-name {
  left: 61.4%;
  top: 45.35%;
  width: 19%;
  height: 1.65%;
}

.home-service-hit--oil-more {
  left: 50%;
  top: 40.55%;
  width: 50%;
  height: 12.05%;
}

.home-service-hit--lymph-name {
  left: 4.2%;
  top: 55.1%;
  width: 25.6%;
  height: 1.7%;
}

.home-service-hit--lymph-more {
  left: 0;
  top: 52.58%;
  width: 50%;
  height: 12.05%;
}

.semantic-copy {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 700px) {
  :root {
    --moyo-home-render-width: 700px;
    --moyo-shell-width: 700px;
  }

  .page-shell {
    width: 700px;
    height: 1996.88px;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
  }
}
