/* Shared requested design adjustments for the two Russian M17 deployments. */
.site-ru .ru-home .rs-hero__rail { display: none; }
.site-ru .ru-home .rs-hero__content {
  right: var(--gutter);
  bottom: clamp(170px, 18vh, 230px);
}
.site-ru .ru-home .rs-hero__scroll {
  left: 50%;
  right: auto;
  bottom: 52px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 88px;
  min-height: 76px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
}
.site-ru .ru-scroll-arrow {
  display: block;
  width: 30px;
  height: 44px;
  animation: ru-scroll-down 1.8s ease-in-out infinite;
}
.site-ru .ru-home .rs-hero__scroll:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 8px;
}
.site-ru .ru-home .ru-directions__grid,
.site-ru.ru-services-page .ru-services-primary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.site-ru .ru-home .ru-direction-card:first-child,
.site-ru.ru-services-page .ru-services-primary .block:first-child {
  grid-column: auto;
}
.site-ru .ru-home .ru-direction-card__copy {
  left: 22px;
  right: 22px;
}
.site-ru .ru-home .ru-direction-card__copy strong {
  font-size: clamp(26px, 2.2vw, 40px);
  line-height: 1.03;
}
.site-ru .ru-direction-card--develop,
.site-ru .ru-service--develop { cursor: default; }
.site-ru .ru-direction-card--develop img { object-position: 35% 50%; }
.site-ru .ru-direction-card--develop:hover img { transform: none; filter: none; }
.site-ru.ru-services-page .ru-service--develop .background {
  background-position: 35% 50%;
}
.site-ru.ru-services-page .ru-service--develop .title,
.site-ru.ru-services-page .ru-service--develop:hover .title {
  bottom: 86px;
}
.site-ru .ru-service--develop::after { display: none; }
.site-ru .ru-region-sites { margin-top: 8px; padding-left: 18px; }
.site-ru .ru-region-sites a { font-size: clamp(17px, 1.4vw, 22px); }
.site-ru .map-wrapper .inner .ae_link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
}
.site-ru .header-social {
  display: flex;
  align-items: center;
  justify-self: center;
  gap: 20px;
  line-height: 0;
}
.site-ru .header-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  color: rgba(255,255,255,.7);
}
.site-ru .header-social a:hover { color: #fff; }
.site-ru .header-social svg { display: block; width: 24px; height: 24px; }
.site-ru .header-social rect,
.site-ru .header-social circle { fill: none; stroke: currentColor; stroke-width: 1.8; }
.site-ru .header-social .social-icon-dot { fill: currentColor; stroke: none; }
.site-ru .header-social path { fill: currentColor; }
.site-ru .header-mobile .header-social--mobile { justify-content: center; margin-top: 18px; }
@media (min-width: 981px) {
  .site-ru .header:not(.header-mobile) {
    display: grid;
    grid-template-columns: auto minmax(68px, 1fr) auto;
    align-items: center;
  }
  .site-ru .header:not(.header-mobile) .right { float: none; }
}
@media (max-width: 1200px) {
  .site-ru .ru-home .ru-directions__grid,
  .site-ru.ru-services-page .ru-services-primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 650px) {
  .site-ru .ru-home .rs-hero__content { bottom: 166px; }
  .site-ru .ru-home .rs-hero__scroll { bottom: 34px; }
  .site-ru .ru-home .ru-directions__grid,
  .site-ru.ru-services-page .ru-services-primary {
    display: grid;
    grid-template-columns: 1fr;
  }
  .site-ru.ru-services-page .ru-services-primary .block { margin: 0; }
  .site-ru .ru-home .ru-direction-card__copy strong { font-size: 32px; }
  .site-ru .map-wrapper .inner .ae_link { padding: 20px 22px; gap: 14px 20px; }
  .site-ru .map-wrapper .inner .ae_link a { font-size: 18px; }
}
@keyframes ru-scroll-down {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}
@media (prefers-reduced-motion: reduce) {
  .site-ru .ru-scroll-arrow { animation: none; }
}

/* Readable grey panels on both Russian M17 hosts. */
body.site-ru .block-TG .text { color: #dedede; }
body.site-ru .block-TG .text a { color: inherit; }
body.site-ru .header { top: 0; }
/* If any deferred script stalls, never leave a blocking loading mask. */
body.site-ru #preloader { animation: m17-loader-failsafe 0s 4s forwards; }
@keyframes m17-loader-failsafe {
    to { visibility: hidden; opacity: 0; pointer-events: none; }
}

/* Readable project copy, including the plain text blocks outside .block-inner. */
body.site-ru main .block-T1 .text,
body.site-ru main .block-PT .text,
body.site-ru main .block-TC .text { color: rgba(255,255,255,.72); }
body.site-ru main .block-TG .text { color: #dedede; }
body.site-ru main .block-T1 .text a { color: inherit; }
/* One row height for both single- and double-width portfolio tiles. */
body.site-ru.ru-editorial.ru-portfolio-page .feed {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;
  --tile-height:clamp(320px,28vw,440px);
}
body.site-ru.ru-editorial.ru-portfolio-page .feed::before,
body.site-ru.ru-editorial.ru-portfolio-page .feed::after { content:none;display:none; }
body.site-ru.ru-editorial.ru-portfolio-page .feed > .block,
body.site-ru.ru-editorial.ru-portfolio-page .feed > .info-block {
  width:100%!important;float:none;margin:0;min-width:0;
  height:var(--tile-height);min-height:0;max-height:none;aspect-ratio:auto;
  box-sizing:border-box;grid-column:span 1;
}
body.site-ru.ru-editorial.ru-portfolio-page .feed > .half { grid-column:span 2; }
body.site-ru.ru-editorial.ru-portfolio-page .feed > .info-block { grid-column:1 / span 2;grid-row:1;overflow:auto; }
body.site-ru.ru-editorial.ru-portfolio-page .info-block__inner { padding:clamp(24px,3vw,48px); }
body.site-ru.ru-editorial.ru-portfolio-page .info-block__title { font-size:clamp(26px,2.5vw,42px);line-height:1.12;margin-bottom:20px; }
body.site-ru.ru-editorial.ru-portfolio-page .info-block__text-wrapper { display:block;height:auto; }
body.site-ru.ru-editorial.ru-portfolio-page .info-block__text { width:100%;max-width:none;font-size:clamp(16px,1.2vw,20px);line-height:1.45; }
@media(max-width:1100px) {
 body.site-ru.ru-editorial.ru-portfolio-page .feed { grid-template-columns:repeat(2,minmax(0,1fr));--tile-height:360px; }
}
@media(max-width:650px) {
 body.site-ru.ru-editorial.ru-portfolio-page .feed { grid-template-columns:minmax(0,1fr);--tile-height:340px; }
 body.site-ru.ru-editorial.ru-portfolio-page .feed > .block,
 body.site-ru.ru-editorial.ru-portfolio-page .feed > .info-block { grid-column:1; }
 body.site-ru.ru-editorial.ru-portfolio-page .feed > .info-block { height:auto;min-height:340px; }
}
