:root { --layout-unit: 1vw; --header-unit: 1vw; --site-header-height: 72px; --site-font: "Noto Sans SC", "Noto Sans", sans-serif; }
/* Custom services: desktop coordinates follow the 1920 × 3600 PSD. */
.custom-content {
  background: #f6f6f6;
  color: #333;
  font-family: "Noto Sans SC", 'Microsoft YaHei', sans-serif;
}

.custom-content h1,
.custom-content h2,
.custom-content p {
  margin: 0;
}

.custom-hero {
  position: relative;
  height: 36.458333vw;
  height: calc(36.45833vw);
  height: calc(36.45833 * var(--layout-unit));
  overflow: hidden;
  color: #fff;
}

.custom-hero-photo,
.custom-hero-shade {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.custom-hero-photo {
  display: block;
  object-fit: cover;
}

.custom-hero-shade {
  background: rgba(0, 0, 0, 0.702);
}

.custom-hero-copy {
  position: absolute;
  top: 15.828125vw;
  right: 0;
  bottom: auto;
  left: 0;
  top: calc(15.82813vw);
  top: calc(15.82813 * var(--layout-unit));
  text-align: center;
}

.custom-hero h1 {
  font-size: 2.708333vw;
  font-size: calc(2.70833vw);
  font-size: calc(2.70833 * var(--layout-unit));
  line-height: 3.125000vw;
  line-height: calc(3.125vw);
  line-height: calc(3.125 * var(--layout-unit));
  font-weight: 700;
}

.custom-hero p {
  margin-top: 1.145833vw;
  margin-top: calc(1.14583vw);
  margin-top: calc(1.14583 * var(--layout-unit));
  font-size: 1.562500vw;
  font-size: calc(1.5625vw);
  font-size: calc(1.5625 * var(--layout-unit));
  line-height: 1.875000vw;
  line-height: calc(1.875vw);
  line-height: calc(1.875 * var(--layout-unit));
}

.custom-service-list {
  position: relative;
  min-height: 32.708333vw;
  min-height: calc(32.70833vw);
  min-height: calc(32.70833 * var(--layout-unit));
}

.custom-service-card {
  position: absolute;
  left: 12.135417vw;
  left: calc(12.13542vw);
  left: calc(12.13542 * var(--layout-unit));
  width: 75.260417vw;
  width: calc(75.26042vw);
  width: calc(75.26042 * var(--layout-unit));
  height: 21.718750vw;
  height: calc(21.71875vw);
  height: calc(21.71875 * var(--layout-unit));
  overflow: hidden;
  border-radius: 1.770833vw;
  border-radius: calc(1.77083vw);
  border-radius: calc(1.77083 * var(--layout-unit));
  background: #fff;
}

.custom-service-card:nth-child(1) {
  top: 4.427083vw;
  top: calc(4.42708vw);
  top: calc(4.42708 * var(--layout-unit));
}

.custom-service-card:nth-child(2) {
  top: 29.270833vw;
  top: calc(29.27083vw);
  top: calc(29.27083 * var(--layout-unit));
}

.custom-service-card:nth-child(3) {
  top: 54.166667vw;
  top: calc(54.16667vw);
  top: calc(54.16667 * var(--layout-unit));
}

.custom-service-card:nth-child(4) {
  top: 79.010417vw;
  top: calc(79.01042vw);
  top: calc(79.01042 * var(--layout-unit));
}

.custom-service-card:nth-child(5) {
  top: 103.854167vw;
  top: calc(103.85417vw);
  top: calc(103.85417 * var(--layout-unit));
}

.custom-service-photo {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  width: 35.833333vw;
  width: calc(35.83333vw);
  width: calc(35.83333 * var(--layout-unit));
  height: 21.718750vw;
  height: calc(21.71875vw);
  height: calc(21.71875 * var(--layout-unit));
  overflow: hidden;
}

.custom-service-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.6s cubic-bezier(.2, .65, .3, 1);
}

.custom-service-card.is-reversed .custom-service-photo {
  left: 39.635417vw;
  left: calc(39.63542vw);
  left: calc(39.63542 * var(--layout-unit));
  width: 35.625000vw;
  width: calc(35.625vw);
  width: calc(35.625 * var(--layout-unit));
}

.custom-service-copy {
  position: absolute;
  left: 38.697917vw;
  left: calc(38.69792vw);
  left: calc(38.69792 * var(--layout-unit));
  top: 3.760417vw;
  top: calc(3.76042vw);
  top: calc(3.76042 * var(--layout-unit));
  width: 33.906250vw;
  width: calc(33.90625vw);
  width: calc(33.90625 * var(--layout-unit));
}

.custom-service-card.is-reversed .custom-service-copy {
  left: 2.760417vw;
  left: calc(2.76042vw);
  left: calc(2.76042 * var(--layout-unit));
}

.custom-service-copy h2 {
  color: #023b80;
  font-size: 2.083333vw;
  font-size: calc(2.08333vw);
  font-size: calc(2.08333 * var(--layout-unit));
  line-height: 2.395833vw;
  line-height: calc(2.39583vw);
  line-height: calc(2.39583 * var(--layout-unit));
  font-weight: 700;
}

.custom-service-description {
  margin-top: 1.593750vw;
  margin-top: calc(1.59375vw);
  margin-top: calc(1.59375 * var(--layout-unit));
  margin-left: 0.104167vw;
  margin-left: calc(.10417vw);
  margin-left: calc(.10417 * var(--layout-unit));
}

.custom-service-description p {
  font-size: 0.937500vw;
  font-size: calc(.9375vw);
  font-size: calc(.9375 * var(--layout-unit));
  line-height: 1.770833vw;
  line-height: calc(1.77083vw);
  line-height: calc(1.77083 * var(--layout-unit));
  font-weight: 400;
}

.custom-service-more {
  position: absolute;
  top: 13.739583vw;
  top: calc(13.73958vw);
  top: calc(13.73958 * var(--layout-unit));
  left: 0.104167vw;
  left: calc(.10417vw);
  left: calc(.10417 * var(--layout-unit));
  display: inline-flex;
  align-items: center;
  gap: 0.625000vw;
  gap: calc(.625vw);
  gap: calc(.625 * var(--layout-unit));
  min-height: 1.666667vw;
  min-height: calc(1.66667vw);
  min-height: calc(1.66667 * var(--layout-unit));
  color: #333;
  font-size: 0.937500vw;
  font-size: calc(.9375vw);
  font-size: calc(.9375 * var(--layout-unit));
  line-height: 1.312500vw;
  line-height: calc(1.3125vw);
  line-height: calc(1.3125 * var(--layout-unit));
  -webkit-text-decoration: none;
  text-decoration: none;
}

.custom-service-arrow {
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
  width: 1.666667vw;
  width: calc(1.66667vw);
  width: calc(1.66667 * var(--layout-unit));
  height: 1.666667vw;
  height: calc(1.66667vw);
  height: calc(1.66667 * var(--layout-unit));
  flex-shrink: 0;
  border-radius: 50%;
  background: #ee8301;
  transition: background-color 200ms ease, transform 200ms ease;
}

.custom-service-arrow img {
  display: block;
  width: 0.677083vw;
  width: calc(.67708vw);
  width: calc(.67708 * var(--layout-unit));
  height: 0.677083vw;
  height: calc(.67708vw);
  height: calc(.67708 * var(--layout-unit));
}

.custom-inner-page .custom-footer.desktop,
.custom-inner-page .custom-footer.home-content {
  border-top: 0.364583vw solid #ee8301;
  border-top: calc(.36458vw) solid #ee8301;
  border-top: calc(.36458 * var(--layout-unit)) solid #ee8301;
}

.custom-inner-page #footer {
  height: 17.968750vw;
  height: calc(17.96875vw);
  height: calc(17.96875 * var(--layout-unit));
}

html[lang="en"] .custom-service-description p,
html[lang="ru"] .custom-service-description p {
  font-size: 0.833333vw;
  font-size: calc(.83333vw);
  font-size: calc(.83333 * var(--layout-unit));
  line-height: 1.510417vw;
  line-height: calc(1.51042vw);
  line-height: calc(1.51042 * var(--layout-unit));
}

@media(hover:hover) and (pointer:fine) {
  .custom-service-photo:hover img {
    transform: scale(1.045);
  }

  .custom-service-more:hover {
    color: #c87300;
  }

  .custom-service-more:hover .custom-service-arrow {
    background: #d77500;
    transform: translate(2px, -2px);
  }
}

@media(max-width:1199px) {
  .custom-hero {
    height: 360px;
    height: calc(360px);
    height: calc(max(360px, min(48vw, 580px)));
  }

  .custom-hero-copy {
    top: 43%;
    right: 20px;
    bottom: auto;
    left: 20px;
  }

  .custom-hero h1 {
    font-size: 32px;
    font-size: calc(32px);
    font-size: calc(max(32px, min(4.5vw, 52px)));
    line-height: 1.3;
  }

  .custom-hero p {
    margin-top: 20px;
    font-size: 16px;
    font-size: calc(16px);
    font-size: calc(max(16px, min(2.5vw, 26px)));
    line-height: 1.6;
  }

  .custom-service-list {
    display: grid;
    grid-gap: 32px;
    gap: 32px;
    height: auto;
    padding: 40px 24px 56px;
  }

  .custom-service-card {
    position: relative;
    left: auto;
    display: grid;
    grid-template-columns: min0 min0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
    height: auto;
    min-height: 340px;
    border-radius: 24px;
  }

  .custom-service-card:nth-child(n) {
    top: auto;
  }

  .custom-service-photo,
  .custom-service-card.is-reversed .custom-service-photo {
    position: static;
    width: 100%;
    height: 100%;
    min-height: 340px;
  }

  .custom-service-card.is-reversed .custom-service-photo {
    grid-column: 2;
    grid-row: 1;
  }

  .custom-service-copy,
  .custom-service-card.is-reversed .custom-service-copy {
    position: static;
    width: 100%;
    padding: 28px;
  }

  .custom-service-card.is-reversed .custom-service-copy {
    grid-column: 1;
    grid-row: 1;
  }

  .custom-service-copy h2 {
    font-size: 30px;
    line-height: 1.5;
  }

  .custom-service-description {
    margin-top: 20px;
    margin-left: 0;
  }

  .custom-service-description p,

  html[lang="en"] .custom-service-description p,

  html[lang="ru"] .custom-service-description p {
    font-size: 16px;
    line-height: 1.9;
  }

  .custom-service-more {
    position: static;
    gap: 12px;
    min-height: 40px;
    margin-top: 26px;
    font-size: 16px;
    line-height: 1.5;
  }

  .custom-service-arrow {
    width: 32px;
    height: 32px;
  }

  .custom-service-arrow img {
    width: 13px;
    height: 13px;
  }

  .custom-inner-page .custom-footer.mobile {
    border-top: 5px solid #ee8301;
  }
}

@media(max-width:767px) {
  .custom-hero-photo {
    object-position: 60% center;
  }

  .custom-service-list {
    gap: 24px;
    padding: 32px 20px 40px;
  }

  .custom-service-card {
    grid-template-columns: min0;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    border-radius: 20px;
  }

  .custom-service-photo,
  .custom-service-card.is-reversed .custom-service-photo {
    grid-column: 1;
    grid-row: 1;
    height: auto;
    min-height: 0;
    aspect-ratio: 688 / 417;
  }

  .custom-service-copy,
  .custom-service-card.is-reversed .custom-service-copy {
    grid-column: 1;
    grid-row: 2;
    padding: 24px;
  }

  .custom-service-copy h2 {
    font-size: 28px;
  }

  .custom-service-description {
    margin-top: 16px;
  }

  .custom-service-more {
    margin-top: 20px;
  }
}

@media(prefers-reduced-motion:reduce) {

  .custom-service-photo img,
  .custom-service-arrow {
    transition: none;
  }
}

