:root { --layout-unit: 1vw; --header-unit: 1vw; --site-header-height: 72px; --site-font: "Noto Sans SC", "Noto Sans", sans-serif; }
/* Shared inner-page structure; desktop geometry follows lx/ly/zl PSD canvases. */
.contact-page-content,
.applications-page-content,
.quality-page-content {
  background: #f6f6f6;
  color: #333;
  font-family: "Noto Sans SC", 'Microsoft YaHei', sans-serif;
}

.contact-page-content h1,
.contact-page-content h2,
.contact-page-content p,
.applications-page-content h1,
.applications-page-content p,
.applications-page-content figure,
.quality-page-content h1,
.quality-page-content h2,
.quality-page-content h3,
.quality-page-content p {
  margin: 0;
}

.service-page-hero {
  position: relative;
  height: 36.458333vw;
  height: calc(36.45833vw);
  height: calc(36.45833 * var(--layout-unit));
  overflow: hidden;
  color: #fff;
}

.service-page-hero-photo,
.service-page-hero-shade {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.service-page-hero-photo {
  display: block;
  object-fit: cover;
}

.service-page-hero-shade {
  background: rgba(0, 0, 0, 0.702);
}

.service-page-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;
}

.service-page-hero h1 {
  font-size: 2.708333vw;
  font-size: calc(2.70833vw);
  font-size: calc(2.70833 * var(--layout-unit));
  font-weight: 700;
  line-height: 3.125000vw;
  line-height: calc(3.125vw);
  line-height: calc(3.125 * var(--layout-unit));
}

.service-page-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.770833vw;
  line-height: calc(1.77083vw);
  line-height: calc(1.77083 * var(--layout-unit));
}

.service-page-footer.desktop,
.service-page-footer.home-content {
  border-top: 0.364583vw solid #ee8301;
  border-top: calc(.36458vw) solid #ee8301;
  border-top: calc(.36458 * var(--layout-unit)) solid #ee8301;
}

.contact-page-inner-page #footer {
  height: 17.968750vw;
  height: calc(17.96875vw);
  height: calc(17.96875 * var(--layout-unit));
}

.applications-page-inner-page #footer {
  height: 17.916667vw;
  height: calc(17.91667vw);
  height: calc(17.91667 * var(--layout-unit));
}

.quality-page-inner-page #footer {
  height: 17.760417vw;
  height: calc(17.76042vw);
  height: calc(17.76042 * var(--layout-unit));
}

/* Contact information and real message fields. */
.contact-page-body {
  position: relative;
  height: 43.125000vw;
  height: calc(43.125vw);
  height: calc(43.125 * var(--layout-unit));
}

.contact-page-information {
  position: absolute;
  left: 12.239583vw;
  left: calc(12.23958vw);
  left: calc(12.23958 * var(--layout-unit));
  top: 5.163021vw;
  top: calc(5.16302vw);
  top: calc(5.16302 * var(--layout-unit));
  width: 19.270833vw;
  width: calc(19.27083vw);
  width: calc(19.27083 * var(--layout-unit));
}

.contact-page-information h2 {
  color: #123b68;
  font-size: 2.395833vw;
  font-size: calc(2.39583vw);
  font-size: calc(2.39583 * var(--layout-unit));
  font-weight: 700;
  line-height: 2.755208vw;
  line-height: calc(2.75521vw);
  line-height: calc(2.75521 * var(--layout-unit));
}

.contact-page-company {
  position: absolute;
  left: 0.052083vw;
  left: calc(.052083vw);
  left: calc(.052083 * var(--layout-unit));
  top: 5.768229vw;
  top: calc(5.76823vw);
  top: calc(5.76823 * var(--layout-unit));
  width: 18.489583vw;
  width: calc(18.48958vw);
  width: calc(18.48958 * var(--layout-unit));
  font-size: 1.354167vw;
  font-size: calc(1.35417vw);
  font-size: calc(1.35417 * var(--layout-unit));
  line-height: 1.770833vw;
  line-height: calc(1.77083vw);
  line-height: calc(1.77083 * var(--layout-unit));
  font-weight: 500;
}

.contact-page-methods {
  position: absolute;
  top: 9.628646vw;
  top: calc(9.62865vw);
  top: calc(9.62865 * var(--layout-unit));
  left: 0;
  width: 18.229167vw;
  width: calc(18.22917vw);
  width: calc(18.22917 * var(--layout-unit));
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-page-methods li {
  height: 5.572917vw;
  height: calc(5.57292vw);
  height: calc(5.57292 * var(--layout-unit));
}

.contact-page-method-label {
  display: flex;
  align-items: center;
  gap: 0.364583vw;
  gap: calc(.36458vw);
  gap: calc(.36458 * var(--layout-unit));
  height: 1.770833vw;
  height: calc(1.77083vw);
  height: calc(1.77083 * var(--layout-unit));
  font-size: 0.937500vw;
  font-size: calc(.9375vw);
  font-size: calc(.9375 * var(--layout-unit));
  line-height: 1.354167vw;
  line-height: calc(1.35417vw);
  line-height: calc(1.35417 * var(--layout-unit));
}

.contact-page-method-icon {
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
  width: 1.770833vw;
  width: calc(1.77083vw);
  width: calc(1.77083 * var(--layout-unit));
  height: 1.770833vw;
  height: calc(1.77083vw);
  height: calc(1.77083 * var(--layout-unit));
  flex-shrink: 0;
  border-radius: 50%;
  background: #183f69;
}

.contact-page-method-icon img {
  display: block;
  width: auto;
  height: auto;
  max-width: 0.989583vw;
  max-width: calc(.98958vw);
  max-width: calc(.98958 * var(--layout-unit));
  max-height: 0.989583vw;
  max-height: calc(.98958vw);
  max-height: calc(.98958 * var(--layout-unit));
}

.contact-page-method-value {
  padding-top: 0.677083vw;
  padding-top: calc(.67708vw);
  padding-top: calc(.67708 * var(--layout-unit));
  padding-left: 0.104167vw;
  padding-left: calc(.10417vw);
  padding-left: calc(.10417 * var(--layout-unit));
  color: #183f69;
  font: 400 1.354167vw / 1.770833vw Arial, sans-serif;
  font: 400 calc(1.35417vw) / calc(1.77083vw) Arial, sans-serif;
  font: 400 calc(1.35417 * var(--layout-unit)) / calc(1.77083 * var(--layout-unit)) Arial, sans-serif;
}

.contact-page-methods li:nth-child(n+2) .contact-page-method-value {
  color: #666;
  font: 400 0.937500vw / 1.770833vw "Noto Sans SC", sans-serif;
  font: 400 calc(.9375vw) / calc(1.77083vw) "Noto Sans SC", sans-serif;
  font: 400 calc(.9375 * var(--layout-unit)) / calc(1.77083 * var(--layout-unit)) "Noto Sans SC", sans-serif;
}

.contact-page-message {
  position: absolute;
  top: 5.208333vw;
  top: calc(5.20833vw);
  top: calc(5.20833 * var(--layout-unit));
  left: 41.510417vw;
  left: calc(41.51042vw);
  left: calc(41.51042 * var(--layout-unit));
  width: 45.885417vw;
  width: calc(45.88542vw);
  width: calc(45.88542 * var(--layout-unit));
}

.contact-page-message>h2 {
  margin-bottom: 2.083333vw;
  margin-bottom: calc(2.08333vw);
  margin-bottom: calc(2.08333 * var(--layout-unit));
  font-size: 1.458333vw;
  font-size: calc(1.45833vw);
  font-size: calc(1.45833 * var(--layout-unit));
  line-height: 2.083333vw;
  line-height: calc(2.08333vw);
  line-height: calc(2.08333 * var(--layout-unit));
  font-weight: 400;
  color: #555;
}

.contact-page-form {
  position: static;
  display: grid;
  grid-template-columns: repeat(2, min0);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 1.666667vw 1.822917vw;
  gap: 1.666667vw 1.822917vw;
  gap: calc(1.66667vw) calc(1.82292vw);
  gap: calc(1.66667 * var(--layout-unit)) calc(1.82292 * var(--layout-unit));
  width: 100%;
  margin: 0;
}

.contact-page-form label {
  display: block;
  min-width: 0;
  color: #888;
  font-size: 0.937500vw;
  font-size: calc(.9375vw);
  font-size: calc(.9375 * var(--layout-unit));
  line-height: 1.354167vw;
  line-height: calc(1.35417vw);
  line-height: calc(1.35417 * var(--layout-unit));
}

.contact-page-form label>span {
  display: block;
}

.contact-page-form input,
.contact-page-form textarea {
  display: block;
  width: 100%;
  height: 3.125000vw;
  height: calc(3.125vw);
  height: calc(3.125 * var(--layout-unit));
  min-width: 0;
  margin: 0.885417vw 0 0;
  margin: calc(.88542vw) 0 0;
  margin: calc(.88542 * var(--layout-unit)) 0 0;
  padding: 0.625000vw 0.781250vw;
  padding: calc(.625vw) calc(.78125vw);
  padding: calc(.625 * var(--layout-unit)) calc(.78125 * var(--layout-unit));
  border: 1px solid #d3d3d3;
  border-radius: 0.416667vw;
  border-radius: calc(.41667vw);
  border-radius: calc(.41667 * var(--layout-unit));
  background: #fff;
  color: #333;
  font: 400 0.937500vw / 1.5 "Noto Sans SC", sans-serif;
  font: 400 calc(.9375vw) / 1.5 "Noto Sans SC", sans-serif;
  font: 400 calc(.9375 * var(--layout-unit)) / 1.5 "Noto Sans SC", sans-serif;
}

.contact-page-message-field {
  grid-column: 1 / -1;
}

.contact-page-form textarea {
  height: 7.812500vw;
  height: calc(7.8125vw);
  height: calc(7.8125 * var(--layout-unit));
  border-radius: 0.104167vw;
  border-radius: calc(.10417vw);
  border-radius: calc(.10417 * var(--layout-unit));
  resize: vertical;
}

.contact-page-form button {
  grid-column: 1 / -1;
  justify-self: start;
  width: 10.416667vw;
  width: calc(10.41667vw);
  width: calc(10.41667 * var(--layout-unit));
  height: 2.604167vw;
  height: calc(2.60417vw);
  height: calc(2.60417 * var(--layout-unit));
  margin-top: 0.312500vw;
  margin-top: calc(.3125vw);
  margin-top: calc(.3125 * var(--layout-unit));
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #223f72;
  color: #fff;
  font: 400 0.937500vw / 1.5 "Noto Sans SC", sans-serif;
  font: 400 calc(.9375vw) / 1.5 "Noto Sans SC", sans-serif;
  font: 400 calc(.9375 * var(--layout-unit)) / 1.5 "Noto Sans SC", sans-serif;
  cursor: pointer;
}

.contact-page-form button:hover {
  background: #173765;
}

/* Application categories and independent photographic cards. */
.applications-page-body {
  min-height: 66.302083vw;
  min-height: calc(66.30208vw);
  min-height: calc(66.30208 * var(--layout-unit));
}

.applications-page-tabs {
  display: flex;
  justify-content: center;
  gap: 3.333333vw;
  gap: calc(3.33333vw);
  gap: calc(3.33333 * var(--layout-unit));
  height: 4.166667vw;
  height: calc(4.16667vw);
  height: calc(4.16667 * var(--layout-unit));
  background: #fff;
}

.applications-page-tabs button,
.applications-page-tabs a.cms-category {
  display: flex;
  align-items: center;
  height: 4.166667vw;
  height: calc(4.16667vw);
  height: calc(4.16667 * var(--layout-unit));
  padding: 0;
  border: 0;
  border-bottom: 0.156250vw solid transparent;
  border-bottom: calc(.15625vw) solid transparent;
  border-bottom: calc(.15625 * var(--layout-unit)) solid transparent;
  background: transparent;
  color: #333;
  font: 500 1.458333vw / 1.770833vw "Noto Sans SC", sans-serif;
  font: 500 calc(1.45833vw) / calc(1.77083vw) "Noto Sans SC", sans-serif;
  font: 500 calc(1.45833 * var(--layout-unit)) / calc(1.77083 * var(--layout-unit)) "Noto Sans SC", sans-serif;
  cursor: pointer;
  white-space: nowrap;
}

.applications-page-tabs button[aria-selected='true'],
.applications-page-tabs a.cms-category[aria-selected='true'] {
  border-bottom-color: #173f77;
  color: #173f77;
}

.applications-page-panel {
  padding: 4.687500vw 12.812500vw 7.500000vw 12.135417vw;
  padding: calc(4.6875vw) calc(12.8125vw) calc(7.5vw) calc(12.13542vw);
  padding: calc(4.6875 * var(--layout-unit)) calc(12.8125 * var(--layout-unit)) calc(7.5 * var(--layout-unit)) calc(12.13542 * var(--layout-unit));
}

.applications-page-panel[hidden] {
  display: none;
}

.applications-page-grid {
  display: grid;
  grid-template-columns: repeat(4, min0);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 2.552083vw 1.961806vw;
  gap: 2.552083vw 1.961806vw;
  gap: calc(2.55208vw) calc(1.96181vw);
  gap: calc(2.55208 * var(--layout-unit)) calc(1.96181 * var(--layout-unit));
}

.applications-page-grid img {
  display: block;
  width: 100%;
  height: 21.458333vw;
  height: calc(21.45833vw);
  height: calc(21.45833 * var(--layout-unit));
  object-fit: cover;
  border-radius: 0.937500vw;
  border-radius: calc(.9375vw);
  border-radius: calc(.9375 * var(--layout-unit));
}

.applications-page-grid figcaption {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 2.239583vw;
  height: calc(2.23958vw);
  height: calc(2.23958 * var(--layout-unit));
  color: #555;
  font-size: 1.145833vw;
  font-size: calc(1.14583vw);
  font-size: calc(1.14583 * var(--layout-unit));
  line-height: 1.375000vw;
  line-height: calc(1.375vw);
  line-height: calc(1.375 * var(--layout-unit));
  text-align: center;
}

/* Quality introduction and seven independently rendered control stages. */
.quality-page-body {
  position: relative;
  height: 119.791667vw;
  height: calc(119.79167vw);
  height: calc(119.79167 * var(--layout-unit));
}

.quality-page-intro {
  position: absolute;
  top: 4.114583vw;
  top: calc(4.11458vw);
  top: calc(4.11458 * var(--layout-unit));
  left: 16.093750vw;
  left: calc(16.09375vw);
  left: calc(16.09375 * var(--layout-unit));
  width: 67.708333vw;
  width: calc(67.70833vw);
  width: calc(67.70833 * var(--layout-unit));
  height: 20.937500vw;
  height: calc(20.9375vw);
  height: calc(20.9375 * var(--layout-unit));
  background: #fff;
  box-shadow: 0 0.260417vw 0.520833vw rgba(0, 0, 0, 0.04);
  box-shadow: 0 calc(.26042vw) calc(.52083vw) rgb(0 0 0 / 4%);
}

@supports (color: rgb(0 0 0 / 0)) {
.quality-page-intro {
  box-shadow: 0 calc(.26042 * var(--layout-unit)) calc(.52083 * var(--layout-unit)) rgb(0 0 0 / 4%);
}
}

.quality-page-intro-photo {
  width: 34.010417vw;
  width: calc(34.01042vw);
  width: calc(34.01042 * var(--layout-unit));
  height: 20.937500vw;
  height: calc(20.9375vw);
  height: calc(20.9375 * var(--layout-unit));
  overflow: hidden;
}

.quality-page-intro-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.quality-page-intro-copy {
  position: absolute;
  left: 38.333333vw;
  left: calc(38.33333vw);
  left: calc(38.33333 * var(--layout-unit));
  top: 3.952083vw;
  top: calc(3.95208vw);
  top: calc(3.95208 * var(--layout-unit));
  width: 25.000000vw;
  width: calc(25vw);
  width: calc(25 * var(--layout-unit));
}

.quality-page-intro-copy h2 {
  font-size: 1.354167vw;
  font-size: calc(1.35417vw);
  font-size: calc(1.35417 * var(--layout-unit));
  font-weight: 700;
  line-height: 1.770833vw;
  line-height: calc(1.77083vw);
  line-height: calc(1.77083 * var(--layout-unit));
  color: #133e6b;
}

.quality-page-intro-copy p {
  margin-top: 1.275000vw;
  margin-top: calc(1.275vw);
  margin-top: calc(1.275 * var(--layout-unit));
  font-size: 1.145833vw;
  font-size: calc(1.14583vw);
  font-size: calc(1.14583 * var(--layout-unit));
  line-height: 1.770833vw;
  line-height: calc(1.77083vw);
  line-height: calc(1.77083 * var(--layout-unit));
  color: #555;
}

.quality-page-info-icon {
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
  width: 1.302083vw;
  width: calc(1.30208vw);
  width: calc(1.30208 * var(--layout-unit));
  height: 1.302083vw;
  height: calc(1.30208vw);
  height: calc(1.30208 * var(--layout-unit));
  margin-top: 1.458333vw;
  margin-top: calc(1.45833vw);
  margin-top: calc(1.45833 * var(--layout-unit));
  border: 1px solid #315ba3;
  border-radius: 50%;
  color: #315ba3;
  font: 400 0.833333vw / 1 Arial, sans-serif;
  font: 400 calc(.83333vw) / 1 Arial, sans-serif;
  font: 400 calc(.83333 * var(--layout-unit)) / 1 Arial, sans-serif;
}

.quality-page-steps {
  position: absolute;
  top: 28.177083vw;
  top: calc(28.17708vw);
  top: calc(28.17708 * var(--layout-unit));
  left: 16.250000vw;
  left: calc(16.25vw);
  left: calc(16.25 * var(--layout-unit));
  display: grid;
  grid-gap: 1.927083vw;
  gap: 1.927083vw;
  gap: calc(1.92708vw);
  gap: calc(1.92708 * var(--layout-unit));
  width: 67.500000vw;
  width: calc(67.5vw);
  width: calc(67.5 * var(--layout-unit));
  margin: 0;
  padding: 0;
  list-style: none;
}

.quality-page-step {
  position: relative;
  height: 10.208333vw;
  height: calc(10.20833vw);
  height: calc(10.20833 * var(--layout-unit));
  background: #fff;
  box-shadow: 0 0.260417vw 0.520833vw rgba(0, 0, 0, 0.04);
  box-shadow: 0 calc(.26042vw) calc(.52083vw) rgb(0 0 0 / 4%);
}

@supports (color: rgb(0 0 0 / 0)) {
.quality-page-step {
  box-shadow: 0 calc(.26042 * var(--layout-unit)) calc(.52083 * var(--layout-unit)) rgb(0 0 0 / 4%);
}
}

.quality-page-step-number {
  position: absolute;
  top: 2.812500vw;
  top: calc(2.8125vw);
  top: calc(2.8125 * var(--layout-unit));
  left: 2.187500vw;
  left: calc(2.1875vw);
  left: calc(2.1875 * var(--layout-unit));
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
  width: 4.947917vw;
  width: calc(4.94792vw);
  width: calc(4.94792 * var(--layout-unit));
  height: 4.947917vw;
  height: calc(4.94792vw);
  height: calc(4.94792 * var(--layout-unit));
  border-radius: 50%;
  background: #073d7d;
  color: #fff;
  font: 700 2.239583vw / 1 Arial, sans-serif;
  font: 700 calc(2.23958vw) / 1 Arial, sans-serif;
  font: 700 calc(2.23958 * var(--layout-unit)) / 1 Arial, sans-serif;
}

.quality-page-step-copy {
  position: absolute;
  top: 3.268750vw;
  top: calc(3.26875vw);
  top: calc(3.26875 * var(--layout-unit));
  left: 9.010417vw;
  left: calc(9.01042vw);
  left: calc(9.01042 * var(--layout-unit));
  right: 1.562500vw;
  right: calc(1.5625vw);
  right: calc(1.5625 * var(--layout-unit));
}

.quality-page-step h3 {
  color: #073d7d;
  font-size: 1.666667vw;
  font-size: calc(1.66667vw);
  font-size: calc(1.66667 * var(--layout-unit));
  line-height: 1.916667vw;
  line-height: calc(1.91667vw);
  line-height: calc(1.91667 * var(--layout-unit));
  font-weight: 700;
}

.quality-page-step p {
  margin-top: 0.483333vw;
  margin-top: calc(.48333vw);
  margin-top: calc(.48333 * var(--layout-unit));
  color: #777;
  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));
}

html[lang="en"] .contact-page-company,
html[lang="ru"] .contact-page-company {
  font-size: 1.145833vw;
  font-size: calc(1.14583vw);
  font-size: calc(1.14583 * var(--layout-unit));
}

html[lang="en"] .quality-page-intro-copy h2,
html[lang="ru"] .quality-page-intro-copy h2 {
  font-size: 1.250000vw;
  font-size: calc(1.25vw);
  font-size: calc(1.25 * var(--layout-unit));
}

html[lang="en"] .quality-page-intro-copy p,
html[lang="ru"] .quality-page-intro-copy p {
  font-size: 0.937500vw;
  font-size: calc(.9375vw);
  font-size: calc(.9375 * var(--layout-unit));
  line-height: 1.510417vw;
  line-height: calc(1.51042vw);
  line-height: calc(1.51042 * var(--layout-unit));
}

html[lang="en"] .quality-page-step p,
html[lang="ru"] .quality-page-step p {
  font-size: 0.833333vw;
  font-size: calc(.83333vw);
  font-size: calc(.83333 * var(--layout-unit));
  line-height: 1.458333vw;
  line-height: calc(1.45833vw);
  line-height: calc(1.45833 * var(--layout-unit));
}

html[lang="en"] .applications-page-tabs button,
html[lang="en"] .applications-page-tabs a.cms-category,
html[lang="ru"] .applications-page-tabs button,
html[lang="ru"] .applications-page-tabs a.cms-category {
  font-size: 1.093750vw;
  font-size: calc(1.09375vw);
  font-size: calc(1.09375 * var(--layout-unit));
}

@media(max-width:1199px) {
  .service-page-hero {
    height: 360px;
    height: calc(360px);
    height: calc(max(360px, min(48vw, 580px)));
  }

  .service-page-hero-copy {
    top: 43%;
    right: 20px;
    bottom: auto;
    left: 20px;
  }

  .service-page-hero h1 {
    font-size: 32px;
    font-size: calc(32px);
    font-size: calc(max(32px, min(4.5vw, 52px)));
    line-height: 1.3;
  }

  .service-page-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;
  }

  .service-page-footer.mobile {
    border-top: 5px solid #ee8301;
  }

  .contact-page-body {
    display: grid;
    grid-template-columns: min0 min0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    grid-gap: 40px;
    gap: 40px;
    height: auto;
    padding: 48px 24px 64px;
  }

  .contact-page-information,
  .contact-page-message {
    position: static;
    width: 100%;
  }

  .contact-page-information h2 {
    font-size: 36px;
    line-height: 1.4;
  }

  .contact-page-company,

  html[lang="en"] .contact-page-company,

  html[lang="ru"] .contact-page-company {
    position: static;
    width: 100%;
    margin-top: 28px;
    font-size: 22px;
    line-height: 1.6;
  }

  .contact-page-methods {
    position: static;
    width: 100%;
    margin-top: 32px;
  }

  .contact-page-methods li {
    height: auto;
    margin-bottom: 24px;
  }

  .contact-page-method-label {
    gap: 10px;
    height: 34px;
    font-size: 16px;
    line-height: 1.6;
  }

  .contact-page-method-icon {
    width: 34px;
    height: 34px;
  }

  .contact-page-method-icon img {
    max-width: 19px;
    max-height: 19px;
  }

  .contact-page-method-value {
    padding: 10px 0 0 2px;
    font-size: 24px;
    line-height: 1.5;
  }

  .contact-page-methods li:nth-child(n+2) .contact-page-method-value {
    font-size: 16px;
    line-height: 1.6;
  }

  .contact-page-message>h2 {
    margin-bottom: 28px;
    font-size: 24px;
    line-height: 1.6;
  }

  .contact-page-form {
    gap: 24px 20px;
  }

  .contact-page-form label {
    font-size: 15px;
    line-height: 1.6;
  }

  .contact-page-form input,
  .contact-page-form textarea {
    height: 52px;
    margin-top: 10px;
    padding: 12px;
    border-radius: 6px;
    font-size: 16px;
  }

  .contact-page-form textarea {
    height: 150px;
  }

  .contact-page-form button {
    width: 180px;
    height: 50px;
    margin-top: 0;
    font-size: 18px;
  }

  .applications-page-body {
    min-height: 0;
  }

  .applications-page-tabs {
    justify-content: flex-start;
    gap: 28px;
    height: 72px;
    padding: 0 24px;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .applications-page-tabs button,
.applications-page-tabs a.cms-category,

  html[lang="en"] .applications-page-tabs button,

  html[lang="en"] .applications-page-tabs a.cms-category,

  html[lang="ru"] .applications-page-tabs button,

  html[lang="ru"] .applications-page-tabs a.cms-category {
    flex-shrink: 0;
    height: 72px;
    border-bottom-width: 3px;
    font-size: 20px;
    line-height: 1.5;
  }

  .applications-page-panel {
    padding: 48px 24px 64px;
  }

  .applications-page-grid {
    gap: 32px 24px;
  }

  .applications-page-grid img {
    height: auto;
    aspect-ratio: 332 / 412;
    border-radius: 14px;
  }

  .applications-page-grid figcaption {
    height: 42px;
    font-size: 18px;
    line-height: 1.4;
  }

  .quality-page-body {
    height: auto;
    padding: 48px 24px 64px;
  }

  .quality-page-intro {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    height: auto;
  }

  .quality-page-intro-photo {
    width: 100%;
    height: 100%;
    min-height: 320px;
  }

  .quality-page-intro-copy {
    position: static;
    width: 100%;
    padding: 28px;
  }

  .quality-page-intro-copy h2,

  html[lang="en"] .quality-page-intro-copy h2,

  html[lang="ru"] .quality-page-intro-copy h2 {
    font-size: 24px;
    line-height: 1.5;
  }

  .quality-page-intro-copy p,

  html[lang="en"] .quality-page-intro-copy p,

  html[lang="ru"] .quality-page-intro-copy p {
    margin-top: 20px;
    font-size: 17px;
    line-height: 1.9;
  }

  .quality-page-info-icon {
    width: 25px;
    height: 25px;
    margin-top: 22px;
    font-size: 16px;
  }

  .quality-page-steps {
    position: static;
    width: 100%;
    gap: 24px;
    margin-top: 32px;
  }

  .quality-page-step {
    display: flex;
    align-items: center;
    gap: 28px;
    height: auto;
    min-height: 170px;
    padding: 30px;
  }

  .quality-page-step-number {
    position: static;
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    font-size: 36px;
  }

  .quality-page-step-copy {
    position: static;
  }

  .quality-page-step h3 {
    font-size: 28px;
    line-height: 1.5;
  }

  .quality-page-step p,

  html[lang="en"] .quality-page-step p,

  html[lang="ru"] .quality-page-step p {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.9;
  }
}

@media(max-width:767px) {
  .service-page-hero-photo {
    object-position: 60% center;
  }

  .contact-page-body {
    grid-template-columns: min0;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: 36px 20px 44px;
  }

  .contact-page-information h2 {
    font-size: 30px;
  }

  .contact-page-form {
    grid-template-columns: min0;
    grid-template-columns: minmax(0, 1fr);
  }

  .applications-page-tabs {
    gap: 24px;
    padding: 0 20px;
  }

  .applications-page-tabs button,
.applications-page-tabs a.cms-category,

  html[lang="en"] .applications-page-tabs button,

  html[lang="en"] .applications-page-tabs a.cms-category,

  html[lang="ru"] .applications-page-tabs button,

  html[lang="ru"] .applications-page-tabs a.cms-category {
    font-size: 18px;
  }

  .applications-page-panel {
    padding: 36px 20px 44px;
  }

  .applications-page-grid {
    grid-template-columns: repeat(2, min0);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }

  .applications-page-grid figcaption {
    height: 38px;
    font-size: 16px;
  }

  .quality-page-body {
    padding: 36px 20px 44px;
  }

  .quality-page-intro {
    grid-template-columns: min0;
    grid-template-columns: minmax(0, 1fr);
  }

  .quality-page-intro-photo {
    height: auto;
    min-height: 0;
    aspect-ratio: 653 / 402;
  }

  .quality-page-intro-copy {
    padding: 24px;
  }

  .quality-page-step {
    align-items: flex-start;
    gap: 18px;
    min-height: 0;
    padding: 26px 20px;
  }

  .quality-page-step-number {
    width: 56px;
    height: 56px;
    font-size: 26px;
  }

  .quality-page-step h3 {
    font-size: 23px;
  }

  .quality-page-step p,

  html[lang="en"] .quality-page-step p,

  html[lang="ru"] .quality-page-step p {
    font-size: 15px;
  }
}

/* Contact badges are composed from the exact two PSD layers, at original size. */
.contact-page-method-icon {
  background: transparent;
}

.contact-page-method-icon img {
  width: 1.770833vw;
  width: calc(1.77083vw);
  width: calc(1.77083 * var(--layout-unit));
  height: 1.770833vw;
  height: calc(1.77083vw);
  height: calc(1.77083 * var(--layout-unit));
  max-width: none;
  max-height: none;
}

@media (min-width: 1200px) {
  .contact-page-methods li:first-child {
    height: 5.78125vw;
    height: calc(5.78125vw);
    height: calc(5.78125 * var(--layout-unit));
  }

  .contact-page-methods li:nth-child(2) {
    height: 5.416667vw;
    height: calc(5.41667vw);
    height: calc(5.41667 * var(--layout-unit));
  }
}

@media (max-width: 1199px) {
  .contact-page-method-icon img {
    width: 34px;
    height: 34px;
  }
}

.quality-page-info-icon {
  width: 1.510417vw;
  width: calc(1.51042vw);
  width: calc(1.51042 * var(--layout-unit));
  height: 1.458333vw;
  height: calc(1.45833vw);
  height: calc(1.45833 * var(--layout-unit));
  margin-top: 2.16875vw;
  margin-top: calc(2.16875vw);
  margin-top: calc(2.16875 * var(--layout-unit));
  border: 0;
}

.quality-page-info-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 1199px) {
  .quality-page-info-icon {
    width: 29px;
    height: 28px;
    margin-top: 22px;
  }
}

/* Subtle quality-card hover treatment; the resting PSD layout stays fixed. */
.quality-page-step {
  transition: transform 320ms ease, box-shadow 320ms ease, background-color 320ms ease;
}

.quality-page-step::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 1px solid transparent;
  border-left-width: 3px;
  pointer-events: none;
  content: '';
  transition: border-color 320ms ease;
}

.quality-page-step-number {
  transition: transform 320ms ease, background-color 320ms ease, box-shadow 320ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .quality-page-step:hover {
    z-index: 1;
    transform: translateY(-5px);
    background: #fbfdff;
    box-shadow: 0 12px 28px rgba(2, 59, 128, 0.12);
  }

  .quality-page-step:hover::before {
    border-color: #d3e0f0;
    border-left-color: #023b80;
  }

  .quality-page-step:hover .quality-page-step-number {
    transform: scale(1.06);
    background: #145496;
    box-shadow: 0 5px 14px rgba(2, 59, 128, 0.18);
  }
}

@media (prefers-reduced-motion: reduce) {

  .quality-page-step,
  .quality-page-step::before,
  .quality-page-step-number {
    transition: none;
  }

  .quality-page-step:hover,
  .quality-page-step:hover .quality-page-step-number {
    transform: none;
  }
}

/* Crop-frame zoom keeps application captions and card geometry stationary. */
.applications-page-photo {
  position: relative;
  height: 21.458333vw;
  height: calc(21.45833vw);
  height: calc(21.45833 * var(--layout-unit));
  overflow: hidden;
  border-radius: 0.9375vw;
  border-radius: calc(.9375vw);
  border-radius: calc(.9375 * var(--layout-unit));
}

.applications-page-grid .applications-page-photo img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  transition: transform 1.6s cubic-bezier(0.2, 0.65, 0.3, 1);
}

.applications-page-grid figure[hidden] {
  display: none;
}

.applications-page-body.has-pagination {
  min-height: 0;
}

.applications-page-grid {
  scroll-margin-top: calc(92px);
  scroll-margin-top: calc(20px + var(--site-header-height));
}

.applications-pagination {
  margin-top: 2.083333vw;
  margin-top: calc(2.08333vw);
  margin-top: calc(2.08333 * var(--layout-unit));
}

@media (hover: hover) and (pointer: fine) {
  .applications-page-grid figure:hover .applications-page-photo img {
    transform: scale(1.045);
  }
}

@media (max-width: 1199px) {
  .applications-page-photo {
    height: auto;
    aspect-ratio: 332 / 412;
    border-radius: 14px;
  }

  .applications-pagination {
    margin-top: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .applications-page-grid .applications-page-photo img {
    transition: none;
  }
}
  html.legacy-browser .quality-page-step:hover {
    z-index: 1;
    transform: translateY(-5px);
    background: #fbfdff;
    box-shadow: 0 12px 28px rgba(2, 59, 128, 0.12);
  }

  html.legacy-browser .quality-page-step:hover::before {
    border-color: #d3e0f0;
    border-left-color: #023b80;
  }

  html.legacy-browser .quality-page-step:hover .quality-page-step-number {
    transform: scale(1.06);
    background: #145496;
    box-shadow: 0 5px 14px rgba(2, 59, 128, 0.18);
  }
  html.legacy-browser .applications-page-grid figure:hover .applications-page-photo img {
    transform: scale(1.045);
  }

