/*
Theme Name: ИНКОМСИСТЕМ
Template: jarvis
Description: Рабочая тема сайта НИЦ «ИНКОМСИСТЕМ». Здесь вся вёрстка и правки. Базовая тема — «ИНКОМСИСТЕМ — база».
Author: Климовская О.В
Author URI: https://skwigelf.ru/
Version: 1.0
*/
.system-integrators-page__description {
  width: 90%;
}

.press-center-page__hero-title {
  max-width: 100%;
}
.page-header__nav-link:not(.home .page-header__nav-link):hover{
	color:var(--primary-color);
}
.about-company__content {
    margin-bottom: 6rem;
}
.page-header__products-menu-link.is-active,
.page-header__nav-dropdown-link.is-active{
	background:var(--primary-color);
	color:#fff;
}
.about-company__stats-suffix {
    line-height: 0.8;
}
.about-company__stats-value-inner {
    align-items: flex-start;
}
.page-header__nav-link {
  transition: color .2s, min-height .2s, opacity .25s ease;
}

.page-header__nav-link.is-active{
	color:var(--primary-color);
}
.page-header__nav-link:hover {
  color: #222233;
}

.page-header__nav-toggle,
.page-header__nav-toggle.is-active,
.page-header__nav-toggle:hover,
.page-header__nav-list-item.is-open .page-header__nav-toggle,
.page-header--compact .page-header__nav-toggle,
.page-header--compact-theme .page-header__nav-toggle {
  background: transparent;
}
.page-footer__map-link{
	transition:all 0.3s;
}
.page-footer__map-link:hover{
	opacity:0.8;
}
.product-cart {
  background: #006FDD;
  box-shadow: -22px 31px 15px rgba(0, 0, 0, 0.01), -12px 17px 13px rgba(0, 0, 0, 0.04), -5px 8px 9px rgba(0, 0, 0, 0.07), -1px 2px 5px rgba(0, 0, 0, 0.08);
  border-radius: 62.5px;
}

.product-cart.is-empty {
  display: none;
}

.product-cart-modal__delete-all.is-hidden {
  display: none;
}

.cooperation-hero__description {
  width: 79%;
}

.catalog-menu__link[disabled],
.catalog-menu__link[aria-disabled="true"] {
  pointer-events: none;
}


.page-header__products-menu-title,
.page-header__nav-dropdown-title {
  display: none;
}

.page-footer__bg-image {
  height: 100%;
  object-fit: cover;
}

.page-footer__bg:after {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)), linear-gradient(180deg, rgba(34, 34, 35, 0) 8.15%, rgba(34, 34, 51, 0.95) 100%);
}

.contacts-page__map:after {
  display: none;
}

.feedback-modal__title.js-feedback-modal-course-title {
  font-size: 4rem;
}

.page-id-2219 .company-hero {
  margin-bottom: 5rem;
}

.search-results {
  min-height: unset;
  padding-top: 0;
}

.search-page__link {
  font-size: 20px;
}

.search-page__empty-link {
  margin-top: 2rem;
}

.page-header__contacts-note {
  display: block;
  margin-top: .6rem;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  color: var(--text-color);
  opacity: .55;
}

.page-header__contacts-link:hover .page-header__contacts-note,
.page-header__contacts-link:focus-visible .page-header__contacts-note {
  color: #fff;
  opacity: .8;
}

@media (width <=576px) {
	.about-company__content {
    margin-bottom: 0;
}
  .press-center__slider .press-center__item {
    width: 100%;
    margin-right: 0;
  }

  .mobile-contact__list {
    grid-auto-rows: auto;
  }

  .mobile-contact__link {
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
  }

  .mobile-contact__note {
    display: block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
    color: var(--text-color);
    opacity: .55;
  }

  .mobile-contact__link:hover,
  .mobile-contact__link:active {
    background-color: var(--primary-color);
    color: #fff;
  }

  .mobile-contact__link:hover .mobile-contact__note,
  .mobile-contact__link:active .mobile-contact__note {
    color: #fff;
    opacity: .8;
  }
}


.career-vacancies__item:nth-child(5n) {
  padding-left: 0;
  border-left: none;
}

.f-html {
  background: #222222;
  padding: 0;
}

.career-vacancies__list {
  row-gap: 2rem;
}

.press-center__list.swiper-wrapper {
  display: flex;
  grid-template-columns: none;
  gap: 0;
}

.press-center__slider.swiper-initialized .swiper-slide {
  height: auto;
}

.press-center__item .press-center-card {
  padding: 0 2rem;
}

.press-center__item:not(:first-child):before {
  left: 0;
}

.press-center__slider {
  margin: 0 -2rem;
}

.press-center .slider-navigation {
  margin-top: 64px;
}

.press-center__panels {
  margin-bottom: 7rem;
}

@media(width<=576px) {
  .product-catalog-hero__breadcrumbs {
    display: flex;
  }

  .page-id-2219 .company-hero {
    margin-bottom: 1.5rem;
  }

  .company-hero .breadcrumbs {
    display: flex;
  }

  .feedback-modal__title.js-feedback-modal-course-title {
    font-size: 2.5rem;
  }

  .career-vacancies__item:nth-child(5n) {
    padding-top: 2rem;
    padding-left: 0;
    border-left: none
  }

  .search-page__link {
    font-size: 16px;
  }

  .press-center__slider {
    min-width: 0;
    width: unset;
    position: relative;
    left: unset;
    margin-left: 0;
    margin: 0;

    padding: unset;
  }

  .press-center__item .press-center-card {
    padding: 0;
  }

  .press-center .slider-navigation {
    margin-top: 2rem;
  }

  .press-center__btn {
    margin-top: 0;
    width: 100%;
    max-width: 100%;
  }

  .press-center__panels {
    margin-bottom: 5rem;
  }
}

.fancybox__thumbs {
  display: none !important;
}

.f-caption,
.f-thumbs__viewport.is-draggable {
  display: none !important;
}

.fancybox__slide.has-html {

  width: 83%;
  margin: 0 auto;
}

.f-thumbs {
  display: none !important;
}

.pagination__list {
  justify-content: center;
}

.press-center-card__date {
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 1rem;
}

.company-hero__media {
  height: 84vh;
}

video.company-hero__video-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0
}

.gallery-hero__title {
  width: 100%;
  max-width: 75%;
  text-wrap: unset;
}

@media (width <= 576px) {
  .gallery-hero__title {
    max-width: 100%;
  }
}

.system-integrators-page__logo {
  position: relative;
}

.article-snippet__gallery-navigation {
  display: none;
}

.system-integrators-page__logo img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% - (6.4rem * 2));
  height: calc(100% - (6.4rem * 2));
  transform: translate(-50%, -50%);
}

.hidden {
  display: none;
}

.page-main-privacy {
  padding-top: 14rem;
  padding-bottom: 5rem;
}

.cook {
  display: none;
}

p.engineering-center__label {
  margin-bottom: 2rem;
}

.engineering-center__nav-list {
  margin: 0 auto;
}

@media(width<=1023px) {
  .company-hero__media {
    height: auto;
  }
}

@media(width<=576px) {
  p.engineering-center__label {
    margin-bottom: 1rem;
  }

  .system-integrators-page__logo img {
    width: calc(100% - (3.2rem * 2));
    height: calc(100% - (3.2rem * 2));
  }

  .company-hero {
    padding-top: 9rem;
  }

  .fancybox__slide.has-html {
    width: 100%;
  }
}

.video-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.video-popup.active {
  display: flex;
  opacity: 1;
}

.video-popup__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
}

.video-popup__container {
  position: relative;
  width: 90%;
  max-width: 1300px;
  z-index: 1;
}

.video-popup__close {
  position: absolute;
  top: -40px;
  right: 0;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 8px;
  z-index: 2;
  transition: transform 0.2s ease;
}

.video-popup__close:hover {
  transform: scale(1.1);
}

.video-popup__close svg {
  display: block;
  width: 28px;
  height: 28px;
}

.video-popup__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
}

.video-popup__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.company-hero__media::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.4;
  z-index: 1;
}

.system-integrators-page__copy li {
  list-style: disc;
  margin-left: 1.8rem;
}

@media (max-width: 576px) {
  .video-popup__container {
    width: 95%;
  }

  .cooperation-hero__description {
    width: auto;
  }

  .video-popup__close {
    top: -36px;
  }

  .video-popup__close svg {
    width: 24px;
    height: 24px;
  }
}

@layer base {

  h3,
  h4,
  h5,
  h6 {
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-box: trim-both cap alphabetic;
    margin-bottom: 8rem;
  }

  h3 {
    font-size: 4.8rem;
  }

  h4 {
    font-size: 4.2rem;
  }

  h5 {
    font-size: 3.6rem;
  }

  h6 {
    font-size: 3rem;
  }

  @media(width<=576px) {

    h3,
    h4,
    h5,
    h6 {
      margin-bottom: 4rem;
    }

    h3 {
      font-size: 2.8rem;
    }

    h4 {
      font-size: 2.6rem;
    }

    h5 {
      font-size: 2.4rem;
    }

    h6 {
      font-size: 2.2rem;
    }
  }
}

@scope (.article-content) to (.article-snippet) {
  h2 {
    font-size: 6rem;
  }
}

.home-video-card__image,
.training-partner-card__image,
.university-media-card__image {
  transition: transform .4s;
}

@media (hover: hover) and (pointer: fine) {

  .home-video-card__media:hover .home-video-card__image,
  .training-partner-card__media:hover .training-partner-card__image,
  .university-media-card:hover .university-media-card__image {
    transform: scale(1.04);
  }
}

.company-feature-card__description {
  width: 100%;
  max-width: 100%;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.066rem;
}

@media (width <=576px) {
  .company-feature-card__description {
    font-size: 1.8rem;
    letter-spacing: -0.054rem;
  }
}

.contact-us--reference-request .contact-us__head {
  gap: 4rem;
}

@media (width <=576px) {
  .training-center-hero__title {
    font-weight: 500;
    letter-spacing: 0;
  }
}

.harsh-conditions__slider {
  position: relative;
}

.harsh-conditions__navigation {
  position: absolute;
  top: 50%;
  left: 137.5rem;
  z-index: 5;
  transform: translate(-50%, -50%);
  width: 12.4rem;
  height: 12.4rem;
  gap: .8rem;
  border-radius: 50%;
  background: #f2f2fa;
}

.harsh-conditions__navigation .slider-navigation__button {
  width: auto;
  aspect-ratio: auto;
  padding: 1.2rem;
  background: none;
  border-radius: 0;
}

.harsh-conditions__navigation .slider-navigation__button:hover {
  background: none;
}

.harsh-conditions__navigation .slider-navigation__button svg {
  width: .9rem;
  height: 1.5rem;
}

@media (min-width: 577px) {
  .harsh-conditions-card__media {
    aspect-ratio: 1375/770;
  }

  .harsh-conditions__slider {
    margin-bottom: 0;
  }
}

@media (width <=576px) {
  .harsh-conditions__navigation {
    left: 30rem;
    width: 5.6rem;
    height: 5.6rem;
    margin-top: 0;
    gap: .2rem;
  }

  .harsh-conditions__navigation .slider-navigation__button {
    padding: .6rem;
  }
}

@media (width <=576px) {
  .article-snippet--quote {
    padding: 3.6rem;
  }

  .article-snippet--quote::before,
  .article-snippet--quote::after {
    width: 2rem;
    height: 2rem;
  }

  .article-snippet--quote::before {
    left: 1.2rem;
    top: 1.2rem;
  }

  .article-snippet--quote::after {
    right: 1.2rem;
    bottom: 1.2rem;
  }
}

@media (width <=576px) {
  .breadcrumbs__list {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .breadcrumbs__list::-webkit-scrollbar {
    display: none;
  }

  .breadcrumbs__item:last-child {
    flex: none;
  }

  .breadcrumbs__item:last-child .breadcrumbs__link,
  .breadcrumbs__item:last-child .breadcrumbs__current {
    overflow: visible;
    text-overflow: clip;
  }
}

.article-video {
  position: relative;
  display: block;
  margin: 0;
  border-radius: .5rem;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #0e1526;
  color: #fff;
}

.article-video__media {
  position: absolute;
  inset: 0;
  display: block;
  color: #fff;
}

.article-video__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.article-video__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(14, 21, 38, .6) 0%, rgba(14, 21, 38, .15) 45%),
    rgba(14, 21, 38, .45);
}

.article-video__heading {
  position: absolute;
  left: 4rem;
  right: 4rem;
  top: 3.4rem;
  z-index: 2;
  max-width: 62%;
  font-family: var(--inter);
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #fff;
}

.article-video__play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 5.9rem;
  height: 9.1rem;
  transform: translate(-50%, -50%);
  transition: transform .2s;
}

.article-video__play svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
}

@media (hover: hover) and (pointer: fine) {
  .article-video__media:hover .article-video__poster {
    transform: scale(1.04);
  }

  .article-video__media:hover .article-video__play {
    transform: translate(-50%, -50%) scale(1.08);
  }
}

.article-snippet--video-slider {
  margin-bottom: 0;
}

.article-snippet--video-slider .article-snippet__video-track {
  overflow: hidden;
  border-radius: .5rem;
}

.article-snippet--video-slider .article-snippet__video-list {
  display: flex;
}

.article-snippet--video-slider .article-snippet__video-slide {
  width: 100%;
  flex: 0 0 auto;
}

.article-snippet--video-slider .article-video {
  border-radius: 0;
}

.article-snippet__video-navigation {
  margin-top: 3.2rem;
  justify-content: center;
}

@media (width <=576px) {
  .article-video__heading {
    left: 2rem;
    right: 2rem;
    top: 2rem;
    max-width: none;
    font-size: 2rem;
  }

  .article-video__play {
    width: 3.6rem;
    height: 5.6rem;
  }

  .article-snippet__video-navigation {
    margin-top: 2rem;
  }
}

.product-detail__media--slider {
  position: relative;
  overflow: visible;
  aspect-ratio: auto;
  background: transparent;
  border-radius: 0;
}

.product-detail__media--slider .product-detail__media-track {
  position: relative;
  aspect-ratio: 16 / 13;
  overflow: hidden;
  border-radius: .5rem;
  background-color: #fff;
}

.other-articles__slider {
  overflow: visible !important;
}

.product-detail__media--slider .product-detail__media-list {
  display: flex;
}

.product-detail__media--slider .product-detail__media-slide {
  width: 100%;
  flex: 0 0 auto;
}

.product-detail__media--slider .product-detail__image {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-detail__media-nav {
  position: absolute;
  left: 1.6rem;
  right: 1.6rem;
  top: 50%;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
}

.product-detail__media-nav .slider-navigation__button {
  pointer-events: auto;
  width: 4rem;
  height: 4rem;
  background-color: rgba(242, 242, 250, 1);
  color: rgba(34, 34, 34, 1);
}

.product-detail__media-nav .slider-navigation__button svg {
  width: 1.1rem;
  height: 1.1rem;
}

@media (hover: hover) and (pointer: fine) {
  .product-detail__media-nav .slider-navigation__button:hover {
    background-color: #e6e6f2;
  }
}

@media (width <=576px) {
  .product-detail__media-nav {
    left: 1rem;
    right: 1rem;
  }
}

.product-detail__media:not(.product-detail__media--slider) {
  aspect-ratio: 16 / 9;
}

.product-detail__content {
  gap: 4rem;
}

@media (width <=576px) {
  .product-detail__media:not(.product-detail__media--slider) {
    aspect-ratio: 16 / 9;
  }
}

@media (width > 576px) {
  .product-detail__intro {
    width: calc(100% + (100vw - var(--container-padding) * 2 - var(--product-detail-grid-gap) * 7) / 8 + var(--product-detail-grid-gap));
    max-width: none;
    grid-template-columns: minmax(0, .74fr) minmax(0, 1fr);
  }
}

.product-detail__description {
  margin-top: 0;
}

.award-card__title {
  margin-top: 0;
  margin-bottom: 3rem;
}

.award-card--vertical .award-card__title {
  margin-top: 0;
  margin-bottom: 4rem;
}

@media (width <= 576px) {
  .award-card__title,
  .award-card--vertical .award-card__title {
    margin-top: 0;
    margin-bottom: 2rem;
  }
}

@media (width <= 576px) {
  .award-card--vertical .award-card__media {
    width: 78%;
  }
}

@media (width > 576px) {
  .awards__slider {
    margin-bottom: 12rem;
  }
}

@media (width > 576px) {
  .vacancy-card__title {
    margin-bottom: .5rem;
  }

  .vacancy-card__details {
    margin-top: 0;
  }
}

@media (width <= 576px) {
  .vacancy-card__title {
    margin-bottom: 1.5rem;
  }

  .vacancy-card__details {
    margin-top: 0;
  }
}

.press-center-page__hero-image {
  max-height: 90rem;
  object-fit: cover;
}

.company-departments.product-intro-gallery {
  margin-bottom: 0;
}

.contacts-page__partner-button-icon {
  transition: transform .3s ease;
}

.contacts-page__partner.active .contacts-page__partner-button-icon {
  display: block;
  transform: rotate(180deg);
}

.press-center-page-news__item {
  display: flex;
}

.press-center-page-news__item .press-center-card {
  flex: 1;
}

@media (width > 576px) {
  .production-and-services__item-preview {
    top: 0;
    bottom: 0;
    transform: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}

/* «Контроллеры АБАК»: единый шаг между блоками (решение Рустема 27.10, Loom).
   У белых блоков 8rem сверху и снизу → 16rem между ними; было 5,6/15rem у списков и 12rem над блоком с фото
   (после «Панель оператора АБАК HMI» выходило 27rem). У синего «Полного цикла» верх 4 → 8rem. */
@media (width > 576px) {
  .term-kontrollery-abak .product-category-accordion {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .term-kontrollery-abak .company-departments,
  .term-kontrollery-abak .product-category-cycle {
    padding-top: 8rem;
  }
}

.career-vacancies__item.is-collapsed {
  display: none;
}

.other-products__list.swiper-wrapper {
  align-items: stretch;
}

.other-products__item.swiper-slide {
  height: auto;
}

.other-products .product-page-module-card__content {
  height: 100%;
}

@media (width > 576px) {
  .about-company__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 2rem;
    row-gap: 0;
    min-height: auto;
    padding-top: 15rem;
    padding-bottom: 6rem;
  }

  .about-company__title {
    grid-column: 1 / -1;
    margin-bottom: 10rem;
  }

  .about-company__intro {
    grid-column: 1;
    display: flex;
    flex-direction: column;
    gap: 5rem;
    padding-right: 4rem;
  }

  .about-company__description {
    width: auto;
    max-width: 70rem;
    font-size: 2.8rem;
    line-height: 1.5;
    letter-spacing: -0.03em;
  }

  .about-company__description--extra {
    max-width: 52rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: 0;
    opacity: 0.6;
  }

  .about-company__content {
    grid-column: 2;
    gap: 0;
    margin-bottom: 0;
  }

  .about-company__stats-item {
    padding-block: 2.4rem;
    align-items: start;
  }

  .about-company__stats-item:last-child {
    padding-bottom: 0;
  }

  .about-company__stats-value {
    font-size: 12rem;
    line-height: 1;
    letter-spacing: -0.04em;
  }

  .about-company__stats-suffix {
    font-size: 5.2rem;
  }

  .about-company__stats-text {
    gap: 1.6rem;
    padding-top: 2rem;
  }

  .about-company__stats-title {
    font-size: 3rem;
    letter-spacing: -0.03em;
  }

  .about-company__stats-description {
    line-height: 1.8;
  }

  .about-company__btn {
    grid-column: 1 / -1;
    margin-top: 23rem;
  }
}

.home-videos__slider {
  position: relative;
}

.home-videos__navigation {
  position: absolute;
  top: 50%;
  left: 137.5rem;
  z-index: 5;
  transform: translate(-50%, -50%);
  width: 12.4rem;
  height: 12.4rem;
  gap: .8rem;
  margin-top: 0;
  border-radius: 50%;
  background: #f2f2fa;
}

.home-videos {
  padding-bottom: 10rem;
}

.home-videos__navigation .slider-navigation__button {
  width: auto;
  aspect-ratio: auto;
  padding: 1.2rem;
  background: none;
  border-radius: 0;
}

.home-videos__navigation .slider-navigation__button:hover {
  background: none;
}

.home-videos__navigation .slider-navigation__button svg {
  width: .9rem;
  height: 1.5rem;
}

@media (width <= 576px) {
  .home-videos__navigation {
    left: 30rem;
    width: 5.6rem;
    height: 5.6rem;
    gap: .2rem;
  }

  .home-videos__navigation .slider-navigation__button {
    padding: .6rem;
  }
}

@media (width > 576px) {
  .press-center-card {
    gap: 2rem;
    min-height: 0;
  }

  .press-center-card__title {
    margin-top: 0;
    margin-bottom: 0;
  }

  .other-articles__item .press-center-card {
    min-height: 0;
  }

  .press-center-page-news__item .press-center-card,
  .press-center__item .press-center-card,
  .other-articles__item .press-center-card {
    height: 100%;
  }

  .press-center-page__title {
    margin-bottom: 6rem;
  }

  .press-center-page-news {
    padding-top: 5rem;
    padding-bottom: 8rem;
  }

  .press-center-page-news__results {
    margin-top: 4.5rem;
  }

  .press-center-page-news__list {
    row-gap: 4rem;
  }

  .other-articles__slider {
    overflow: hidden !important;
  }

  .other-articles__list.swiper-wrapper {
    align-items: stretch;
  }

  .other-articles__item.swiper-slide {
    height: auto;
  }

  .other-articles__item:first-child::before {
    content: "";
  }
}

@media (width > 576px) {
  .press-center {
    padding-bottom: 6rem;
  }

  .press-center__title,
  .press-center--compact .press-center__title {
    margin-bottom: 5rem;
  }

  .press-center__controls {
    padding-bottom: 3rem;
    margin-bottom: 3rem;
  }

  .press-center__panels {
    margin-bottom: 6rem;
  }

  .press-center .slider-navigation {
    margin-top: 4rem;
  }
}

@media (width > 576px) {
  .company-hero__stats-item {
    gap: 2.4rem;
    min-height: 32rem;
  }

  .company-hero__stats-text {
    gap: 1.2rem;
  }
}

.page-id-2096 .harsh-conditions__pattern {
  display: none;
}

@media (width > 576px) {
  .page-id-2096 .harsh-conditions__title {
    grid-column: 1 / -1;
    max-width: none;
    width: 100%;
    font-size: 4.2rem;
  }
}

@media (width > 576px) {
  .company-reviews__title {
    margin-bottom: 7rem;
  }
}

@media (width > 576px) {
  .company-departments__stack {
    grid-template-rows: minmax(0, 1fr);
    max-height: 80svh;
  }
}

.fancybox-video-wrap {
  position: relative;
  width: 800px;
  max-width: 90vw;
  margin: 0 auto;
}

.fancybox-video {
  display: block;
  width: 100%;
  max-height: 90vh;
  background: #000;
  border-radius: 12px;
}

@media (width > 576px) {
  .fancybox-video-wrap {
    width: 100%;
    max-width: 100%;
  }

  .fancybox-video {
    width: 100%;
    height: auto;
    max-height: 85svh;
    object-fit: contain;
  }
}

@media (width > 576px) {
  .post-type-archive-press_center .press-center-page__title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .post-type-archive-press_center .press-center-page {
    --press-center-hero-bottom-gap: 8rem;
    padding-top: 16rem;
  }

  .post-type-archive-press_center .press-center-page > .container > .breadcrumbs {
    margin-bottom: 4rem;
  }

  .post-type-archive-press_center .press-center-page__hero-shell {
    padding-top: 4rem;
  }

  .post-type-archive-press_center .press-center-page__hero {
    gap: 4rem;
  }

  .post-type-archive-press_center .press-center-page__hero-content {
    gap: 4rem;
  }

  .post-type-archive-press_center .press-center-page__hero-main {
    gap: 3rem;
  }
}

@media (width > 576px) {
  .product-detail__description table {
    width: 100%;
    max-width: 100%;
  }

  .product-detail__description {
    margin-top: 0 !important;
  }
}

.pagination__item--gap {
  display: none;
}

.pagination__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 3.9rem;
  color: var(--text-color);
  opacity: .45;
  user-select: none;
}

@media (width <= 576px) {
  .pagination__item--far {
    display: none;
  }

  .pagination__item--gap {
    display: block;
  }

  .pagination__list {
    justify-content: center;
    gap: .4rem;
    padding-inline: 1.2rem;
  }

  .pagination__link {
    min-width: 3.4rem;
  }

  .pagination__link.active {
    min-width: 3.9rem;
  }

  .pagination__ellipsis {
    min-width: 1.6rem;
  }
}

@media (width <= 576px) {
  .catalog-menu__modal {
    justify-content: flex-end;
    justify-content: safe flex-end;
    overflow: hidden;
  }

  .catalog-menu__surface {
    margin-top: 0;
    max-height: calc(100dvh - 6rem);
    overflow-x: clip;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
  }

  .catalog-menu__surface::-webkit-scrollbar {
    display: none;
  }

  .catalog-menu__panel-header {
    position: sticky;
    top: 0;
    z-index: 2;
  }

  .catalog-menu__panel:not(.is-active):not(.is-swapping) {
    display: none;
  }
}

@media (width > 576px) {
  .other-articles,
  .product-category-page > .other-articles {
    padding-bottom: 6rem;
  }

  .other-articles__title {
    margin-bottom: 5rem;
  }

  .other-articles__navigation {
    margin-top: 4rem;
  }

  .other-articles__button,
  .product-category-page > .other-articles .other-articles__button {
    margin-top: 4rem;
  }

  .other-articles__navigation + .other-articles__button,
  .product-category-page > .other-articles .other-articles__navigation + .other-articles__button {
    margin-top: 2.4rem;
  }
}

.fancybox-video {
  transition: opacity .25s ease;
}

.fancybox-video-wrap.is-loading {
  aspect-ratio: 16 / 9;
}

.fancybox-video-wrap.is-loading .fancybox-video {
  height: 100%;
  opacity: 0;
}

.fancybox-video-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4.8rem;
  height: 4.8rem;
  margin: -2.4rem 0 0 -2.4rem;
  border: 3px solid rgba(255, 255, 255, .25);
  border-top-color: #fff;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
  animation: fancybox-video-spin .8s linear infinite;
}

.fancybox-video-wrap.is-loading .fancybox-video-spinner {
  opacity: 1;
  visibility: visible;
}

@keyframes fancybox-video-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .fancybox-video-spinner {
    animation: none;
  }
}

:root {
  --play-triangle-stroke: 1.6;
}

@media (width > 576px) {
  .product-category-page .product-category-media__pattern {
    display: none;
  }

  .product-category-page .product-category-media__title {
    max-width: none;
    width: 100%;
    font-size: 4.2rem;
  }
}

@media (width > 576px) {
  .press-center__slider {
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: 1px 100%;
    background-image:
      linear-gradient(#2223, #2223),
      linear-gradient(#2223, #2223),
      linear-gradient(#2223, #2223);
    background-position: 25% 0, 50% 0, 75% 0;
  }

  .press-center__item:before,
  .press-center__item:not(:first-child):before {
    content: none;
  }
}

@media (576px < width <= 991px) {
  .press-center__slider {
    background-image:
      linear-gradient(#2223, #2223),
      linear-gradient(#2223, #2223);
    background-position: 33.3333% 0, 66.6666% 0;
  }
}

@media (576px < width <= 767px) {
  .press-center__slider {
    background-image: linear-gradient(#2223, #2223);
    background-position: 50% 0;
  }
}

.catalog-menu__product-image {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
}

.product-detail__image {
  object-fit: contain;
}

.product-text-page__divider {
  margin: 8rem 0;
  height: .3rem;
  background-color: var(--primary-color);
}

@media (width <= 576px) {
  .product-text-page__divider {
    margin: 4rem 0;
    height: 1px;
  }
}

.company-departments__slide-caption {
  display: none;
}

@media (width > 576px) {
  .company-departments__slide {
    position: relative;
  }

  .company-departments__slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(rgba(34, 34, 51, 0.19), rgba(34, 34, 51, 0.19)),
      linear-gradient(rgba(34, 34, 51, 0.3), rgba(34, 34, 51, 0.3)),
      linear-gradient(180deg, rgba(34, 34, 51, 0.47) 0%, rgba(34, 34, 51, 0) 48%);
    pointer-events: none;
  }

  .company-departments__shade {
    display: none;
  }

  .company-departments__slide-image {
    object-position: 50% 0;
  }

  .company-departments__navigation .slider-navigation__button {
    background: #fff;
    color: #223;
  }

  .company-departments__navigation .slider-navigation__button:hover {
    background: #f2f4f8;
  }

  .company-departments__navigation .slider-navigation__button.swiper-button-disabled {
    opacity: 0.5;
  }

  .company-departments__slide-caption {
    display: block;
    position: absolute;
    top: 4rem;
    right: 4rem;
    z-index: 1;
    max-width: 52rem;
    margin: 0;
    font-family: var(--inter);
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: right;
    color: #fff;
  }
}

.post-type-archive-press_center .press-center-page__hero-shell {
  color: var(--text-color);
}

.post-type-archive-press_center .press-center-page__hero-shell::before {
  display: none;
}

.post-type-archive-press_center .press-center-page .press-center-page__hero-shell {
  padding-bottom: var(--press-center-hero-bottom-gap);
}

.post-type-archive-press_center .press-center-page__hero-tag {
  background-color: #f2f4f8;
}

.post-type-archive-press_center .press-center-page__hero-title {
  color: var(--text-color);
}

.post-type-archive-press_center .press-center-page__hero-link {
  border-color: var(--primary-color);
  color: var(--text-color);
}

.post-type-archive-press_center .press-center-page__hero-link:hover {
  background-color: var(--primary-color);
  color: #fff;
}

.post-type-archive-press_center .press-center-page__hero-image {
  margin-bottom: 0;
  object-fit: cover;
}

@media (width > 576px) {
  .post-type-archive-press_center .press-center-page__hero-shell {
    padding-top: 3rem;
  }

  .post-type-archive-press_center .press-center-page__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 78.8rem;
    align-items: start;
    gap: 4rem;
  }

  .post-type-archive-press_center .press-center-page__hero-content {
    gap: 7rem;
  }

  .post-type-archive-press_center .press-center-page__hero-top {
    gap: 4.8rem;
  }

  .post-type-archive-press_center .press-center-page__hero-tags {
    flex: 0 1 auto;
  }

  .post-type-archive-press_center .press-center-page__hero-main {
    gap: 5rem;
  }

  .post-type-archive-press_center .press-center-page__hero-title {
    max-width: 90rem;
    line-height: 1.25;
    letter-spacing: -0.03em;
  }

  .post-type-archive-press_center .press-center-page__hero-image {
    aspect-ratio: 788 / 574;
    border-radius: 0;
  }
}

@media (width <= 576px) {
  .post-type-archive-press_center .press-center-page {
    --press-center-hero-bottom-gap: 4rem;
  }

  .post-type-archive-press_center .press-center-page__title {
    margin-bottom: 5.6rem;
  }

  .post-type-archive-press_center .press-center-page__hero-shell {
    padding-top: 0;
  }

  .post-type-archive-press_center .press-center-page__hero {
    gap: 3.2rem;
  }

  .post-type-archive-press_center .press-center-page__hero-content {
    gap: 2.4rem;
  }

  .post-type-archive-press_center .press-center-page__hero-main {
    gap: 2.4rem;
  }

  .post-type-archive-press_center .press-center-page__hero-image {
    aspect-ratio: 4 / 3;
  }
}

.company-features .company-features__item {
  --company-feature-card-bg: #f2f2fa;
  --company-feature-card-color: #223;
}

.company-features .company-feature-card__title {
  margin: 0;
}

.company-feature-card__icon {
  display: block;
  object-fit: contain;
  pointer-events: none;
}

@media (width > 576px) {
  .company-features .company-features__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }

  .company-features .company-feature-card {
    position: relative;
    min-height: 18rem;
    padding: 2rem;
    gap: 2rem;
  }

  .company-features .company-feature-card__title {
    max-width: 65rem;
    font-size: 2.2rem;
    line-height: 1.2;
    letter-spacing: 0;
    text-wrap: pretty;
  }

  .company-features .company-feature-card__description {
    max-width: 56rem;
    margin-top: auto;
    align-self: flex-start;
    font-size: 1.6rem;
    line-height: 1.4;
  }

  .company-feature-card__icon {
    position: absolute;
    right: 1.9rem;
    bottom: -0.2rem;
    width: 11rem;
    height: 12rem;
  }
}

@media (width <= 576px) {
  .company-features .company-features__slider {
    left: auto;
    width: auto;
    margin-left: 0;
    padding-inline: 0;
    overflow: visible;
  }

  .company-features .company-features__list {
    flex-direction: column;
    width: auto;
    gap: 1rem;
  }

  .company-features .company-features__item {
    position: relative;
    width: auto;
    gap: 2.4rem;
  }

  .company-features .company-feature-card__title {
    max-width: none;
    font-size: 2rem;
    line-height: 1.2;
  }

  .company-features .company-feature-card__description {
    max-width: none;
    margin-top: 0;
    align-self: flex-start;
    font-size: 1.4rem;
    line-height: 1.43;
  }

  .company-feature-card--with-icon .company-feature-card__title {
    padding-right: 7rem;
  }

  .company-feature-card__icon {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 6.4rem;
    height: 6.4rem;
  }
}

@media (width <= 576px) {
  .about-company__intro .about-company__description {
    display: inline;
  }
}

.reveal-extra {
  opacity: 0;
  translate: 0 2.2rem;
  transition: opacity .82s cubic-bezier(.215, .61, .355, 1), translate .82s cubic-bezier(.215, .61, .355, 1);
}

.reveal-extra.is-revealed {
  opacity: 1;
  translate: 0 0;
}

.product-catalog-hero__title,
.product-detail__title,
.product-detail__panel-title,
.product-category-media__title,
.product-text-page__content > .product-text-page__intro-title {
  font-weight: 500;
  letter-spacing: 0;
}

.product-order__submit,
.product-detail__tab {
  letter-spacing: 0;
}

.catalog-menu__link--current,
.catalog-menu__link--current .catalog-menu__arrow {
  color: var(--primary-color);
}

span.catalog-menu__link--current {
  cursor: default;
}

span.catalog-menu__link--current .catalog-menu__link-label {
  text-decoration: none;
}

.it-accreditation-hero__stage:not(:has(.it-accreditation-hero__picture)) {
  padding-bottom: 7.3rem;
}

@media (width <= 576px) {
  .it-accreditation-hero__stage:not(:has(.it-accreditation-hero__picture)) {
    padding-bottom: 4rem;
  }
}

.it-accreditation-hero__stage {
  width: auto;
  margin-left: 0;
}

@media (width <= 576px) {
  .product-catalog-hero__picture {
    aspect-ratio: 375 / 750;
  }
}

.preloader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  background-color: var(--primary-color);
  transition: transform .8s cubic-bezier(.76, 0, .24, 1);
}

.preloader.is-leaving {
  transform: translateY(-100%);
}

.preloader__logo {
  width: 32.5rem;
  height: auto;
}

.preloader__fill {
  transform-box: fill-box;
  transform-origin: left center;
  transform: scaleX(0);
  animation: preloader-fill 2s cubic-bezier(.65, 0, .35, 1) .2s forwards;
}

.is-preloading,
.is-preloading body {
  overflow: hidden;
}

@keyframes preloader-fill {
  to {
    transform: scaleX(1);
  }
}

@media (width <= 576px) {
  .preloader__logo {
    width: 22rem;
  }
}

.hero__bg-video {
  opacity: 0;
  transition: opacity .6s ease;
}

/* Видео непрозрачное: заглушка под ним — его же первый кадр и сквозь видео просвечивать не должна */
.hero__bg-video.is-playing {
  opacity: 1;
}

/* Заглушка кадрируется так же, как видео, — без скачка при старте */
@media (width <= 576px) {
  .hero__bg img {
    object-position: center;
  }
}

.is-hero-intro .hero__overlay {
  translate: 0 -100%;
}

/* Маска подложки — прямо в CSS: CSS-маска с внешним файлом не рисует подложку,
   пока файл не догрузится, и на медленном соединении она появлялась после интро */
.hero__overlay:before {
  -webkit-mask-image: linear-gradient(#fff 0 0), url("data:image/svg+xml,%3Csvg width=%22322%22 height=%22331%22 viewBox=%220 0 322 331%22 fill=%22black%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M121.687 89.2155C98.9326 110.098 83.9378 132.859 83.9378 165.5C83.9379 187.82 91.2809 204.421 103.163 219.962L155.038 179.746V89.2155H186.324V242.767H155.038V218.498L123.739 242.747L123.745 242.767H81.4698C63.5628 221.966 52.6522 195.037 52.652 165.5C52.652 136.422 63.2163 109.878 80.6312 89.2155H121.687Z%22 /%3E%3Cpath fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 d=%22M166.485 0C234.762 0.000223286 293.383 40.891 319.068 99.361C319.913 101.153 320.829 103.1 321.795 105.352C321.85 105.488 321.945 105.554 322 105.691L321.782 105.867L321.795 105.881L296.311 126.341V126.321L246.932 165.988L320.575 225.146L320.514 225.316L321.4 226.034C297.081 287.466 236.926 331 166.485 331C74.5446 331 0.000460592 256.904 0 165.5C0 74.1034 74.5443 0 166.485 0ZM166.485 30.5653C91.6328 30.5653 30.7335 91.0908 30.7335 165.5C30.734 239.916 91.633 300.441 166.485 300.441C216.344 300.441 259.74 274.152 283.263 234.445L229.322 191.118V242.767H198.036V89.2155H229.322V140.858L283.494 97.3414C259.917 57.4284 216.324 30.5655 166.485 30.5653Z%22 /%3E%3Cpath d=%22M308.875 26.2005C307.056 26.2005 305.357 25.8629 303.778 25.1876C302.2 24.4973 300.809 23.552 299.606 22.3515C298.404 21.151 297.456 19.7629 296.765 18.1873C296.088 16.5967 295.75 14.901 295.75 13.1003C295.75 11.2995 296.088 9.61136 296.765 8.03573C297.456 6.44509 298.404 5.04953 299.606 3.84905C300.809 2.64856 302.2 1.71069 303.778 1.03542C305.357 0.345139 307.056 0 308.875 0C310.679 0 312.378 0.345139 313.972 1.03542C315.565 1.71069 316.956 2.64856 318.144 3.84905C319.346 5.04953 320.286 6.44509 320.963 8.03573C321.654 9.61136 322 11.2995 322 13.1003C322 14.901 321.654 16.5967 320.963 18.1873C320.286 19.7629 319.346 21.151 318.144 22.3515C316.956 23.552 315.565 24.4973 313.972 25.1876C312.393 25.8629 310.694 26.2005 308.875 26.2005ZM308.875 22.9592C310.694 22.9592 312.348 22.5165 313.836 21.6312C315.34 20.7458 316.535 19.5604 317.422 18.0748C318.309 16.5742 318.753 14.916 318.753 13.1003C318.753 11.2845 318.309 9.63387 317.422 8.14827C316.535 6.64767 315.34 5.45469 313.836 4.56934C312.348 3.68398 310.694 3.2413 308.875 3.2413C307.056 3.2413 305.395 3.68398 303.891 4.56934C302.403 5.45469 301.215 6.64767 300.328 8.14827C299.441 9.63387 298.997 11.2845 298.997 13.1003C298.997 14.916 299.441 16.5742 300.328 18.0748C301.215 19.5604 302.403 20.7458 303.891 21.6312C305.395 22.5165 307.056 22.9592 308.875 22.9592ZM304.229 18.9976V6.93279H310.296C310.867 6.91778 311.453 7.06034 312.055 7.36046C312.656 7.64557 313.16 8.07324 313.566 8.64347C313.972 9.2137 314.175 9.93399 314.175 10.8043C314.175 11.6297 313.979 12.3425 313.588 12.9427C313.212 13.5279 312.754 13.9856 312.213 14.3157L314.648 18.9976H311.559L309.484 14.901H307.026V18.9976H304.229ZM307.026 12.8302H309.371C309.762 12.8452 310.153 12.6876 310.544 12.3575C310.935 12.0123 311.13 11.4946 311.13 10.8043C311.13 10.1141 310.927 9.64137 310.521 9.38627C310.13 9.11616 309.755 8.98111 309.394 8.98111H307.026V12.8302Z%22 /%3E%3C/svg%3E");
  mask-image: linear-gradient(#fff 0 0), url("data:image/svg+xml,%3Csvg width=%22322%22 height=%22331%22 viewBox=%220 0 322 331%22 fill=%22black%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M121.687 89.2155C98.9326 110.098 83.9378 132.859 83.9378 165.5C83.9379 187.82 91.2809 204.421 103.163 219.962L155.038 179.746V89.2155H186.324V242.767H155.038V218.498L123.739 242.747L123.745 242.767H81.4698C63.5628 221.966 52.6522 195.037 52.652 165.5C52.652 136.422 63.2163 109.878 80.6312 89.2155H121.687Z%22 /%3E%3Cpath fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 d=%22M166.485 0C234.762 0.000223286 293.383 40.891 319.068 99.361C319.913 101.153 320.829 103.1 321.795 105.352C321.85 105.488 321.945 105.554 322 105.691L321.782 105.867L321.795 105.881L296.311 126.341V126.321L246.932 165.988L320.575 225.146L320.514 225.316L321.4 226.034C297.081 287.466 236.926 331 166.485 331C74.5446 331 0.000460592 256.904 0 165.5C0 74.1034 74.5443 0 166.485 0ZM166.485 30.5653C91.6328 30.5653 30.7335 91.0908 30.7335 165.5C30.734 239.916 91.633 300.441 166.485 300.441C216.344 300.441 259.74 274.152 283.263 234.445L229.322 191.118V242.767H198.036V89.2155H229.322V140.858L283.494 97.3414C259.917 57.4284 216.324 30.5655 166.485 30.5653Z%22 /%3E%3Cpath d=%22M308.875 26.2005C307.056 26.2005 305.357 25.8629 303.778 25.1876C302.2 24.4973 300.809 23.552 299.606 22.3515C298.404 21.151 297.456 19.7629 296.765 18.1873C296.088 16.5967 295.75 14.901 295.75 13.1003C295.75 11.2995 296.088 9.61136 296.765 8.03573C297.456 6.44509 298.404 5.04953 299.606 3.84905C300.809 2.64856 302.2 1.71069 303.778 1.03542C305.357 0.345139 307.056 0 308.875 0C310.679 0 312.378 0.345139 313.972 1.03542C315.565 1.71069 316.956 2.64856 318.144 3.84905C319.346 5.04953 320.286 6.44509 320.963 8.03573C321.654 9.61136 322 11.2995 322 13.1003C322 14.901 321.654 16.5967 320.963 18.1873C320.286 19.7629 319.346 21.151 318.144 22.3515C316.956 23.552 315.565 24.4973 313.972 25.1876C312.393 25.8629 310.694 26.2005 308.875 26.2005ZM308.875 22.9592C310.694 22.9592 312.348 22.5165 313.836 21.6312C315.34 20.7458 316.535 19.5604 317.422 18.0748C318.309 16.5742 318.753 14.916 318.753 13.1003C318.753 11.2845 318.309 9.63387 317.422 8.14827C316.535 6.64767 315.34 5.45469 313.836 4.56934C312.348 3.68398 310.694 3.2413 308.875 3.2413C307.056 3.2413 305.395 3.68398 303.891 4.56934C302.403 5.45469 301.215 6.64767 300.328 8.14827C299.441 9.63387 298.997 11.2845 298.997 13.1003C298.997 14.916 299.441 16.5742 300.328 18.0748C301.215 19.5604 302.403 20.7458 303.891 21.6312C305.395 22.5165 307.056 22.9592 308.875 22.9592ZM304.229 18.9976V6.93279H310.296C310.867 6.91778 311.453 7.06034 312.055 7.36046C312.656 7.64557 313.16 8.07324 313.566 8.64347C313.972 9.2137 314.175 9.93399 314.175 10.8043C314.175 11.6297 313.979 12.3425 313.588 12.9427C313.212 13.5279 312.754 13.9856 312.213 14.3157L314.648 18.9976H311.559L309.484 14.901H307.026V18.9976H304.229ZM307.026 12.8302H309.371C309.762 12.8452 310.153 12.6876 310.544 12.3575C310.935 12.0123 311.13 11.4946 311.13 10.8043C311.13 10.1141 310.927 9.64137 310.521 9.38627C310.13 9.11616 309.755 8.98111 309.394 8.98111H307.026V12.8302Z%22 /%3E%3C/svg%3E");
}

.is-hero-intro .hero__overlay {
  will-change: translate;
}

.is-hero-intro .page-header__logo,
.is-hero-intro .page-header__mobile-actions,
.is-hero-intro .page-header__products,
.is-hero-intro .page-header__search,
.is-hero-intro .page-header__nav,
.is-hero-intro .page-header__contacts,
.is-hero-intro .page-header__cta,
.is-hero-intro .hero__title,
.is-hero-intro .hero__description,
.is-hero-intro .hero__caption,
.is-hero-intro .hero__social-item {
  opacity: 0;
  translate: 0 -1.6rem;
}

.is-hero-intro .hero__title,
.is-hero-intro .hero__description,
.is-hero-intro .hero__caption,
.is-hero-intro .hero__social-item {
  translate: 0 2.4rem;
}

.is-hero-intro.is-hero-ready .hero__overlay {
  translate: none;
  transition: translate 1s cubic-bezier(.76, 0, .24, 1);
}

.is-hero-intro.is-hero-ready .page-header__logo,
.is-hero-intro.is-hero-ready .page-header__mobile-actions,
.is-hero-intro.is-hero-ready .page-header__products,
.is-hero-intro.is-hero-ready .page-header__search,
.is-hero-intro.is-hero-ready .page-header__nav,
.is-hero-intro.is-hero-ready .page-header__contacts,
.is-hero-intro.is-hero-ready .page-header__cta,
.is-hero-intro.is-hero-ready .hero__title,
.is-hero-intro.is-hero-ready .hero__description,
.is-hero-intro.is-hero-ready .hero__caption,
.is-hero-intro.is-hero-ready .hero__social-item {
  opacity: 1;
  translate: none;
  transition: opacity .7s ease var(--hero-intro-delay, 0s), translate .8s cubic-bezier(.215, .61, .355, 1) var(--hero-intro-delay, 0s);
}

.is-hero-intro .page-header__logo { --hero-intro-delay: .15s; }
.is-hero-intro .page-header__mobile-actions,
.is-hero-intro .page-header__products { --hero-intro-delay: .25s; }
.is-hero-intro .page-header__search { --hero-intro-delay: .35s; }
.is-hero-intro .page-header__nav { --hero-intro-delay: .45s; }
.is-hero-intro .page-header__contacts { --hero-intro-delay: .55s; }
.is-hero-intro .page-header__cta { --hero-intro-delay: .65s; }
.is-hero-intro .hero__title { --hero-intro-delay: .85s; }
.is-hero-intro .hero__description { --hero-intro-delay: 1s; }
.is-hero-intro .hero__caption { --hero-intro-delay: 1.15s; }
.is-hero-intro .hero__social-item:nth-child(1) { --hero-intro-delay: 1.2s; }
.is-hero-intro .hero__social-item:nth-child(2) { --hero-intro-delay: 1.28s; }
.is-hero-intro .hero__social-item:nth-child(3) { --hero-intro-delay: 1.36s; }
.is-hero-intro .hero__social-item:nth-child(4) { --hero-intro-delay: 1.44s; }

@media (width <= 576px) {
  .product-catalog-hero__breadcrumbs {
    display: none;
  }

  .product-catalog-hero {
    padding-top: var(--page-header-height, 8.5rem);
  }

  .product-catalog-hero__intro {
    position: relative;
  }

  .product-catalog-hero__picture {
    order: 1;
  }

  .product-catalog-hero .catalog-menu {
    order: 2;
    margin-top: 2.6rem;
  }

  .product-catalog-hero__title {
    position: absolute;
    top: 4rem;
    left: 0;
    z-index: 2;
    width: auto;
    max-width: calc(100% - 3.2rem);
    margin: 0 1.6rem;
    color: #fff;
    font-size: 3.4rem;
  }
}

@media (width <= 576px) {
  .hero__content {
    padding-top: calc(var(--page-header-height, 8.5rem) + 4rem);
  }

  .hero__content-inner {
    align-self: start;
  }
}

@media (width <= 576px) {
  .breadcrumbs {
    font-size: 1.2rem;
    letter-spacing: 0;
  }

  .page-main .breadcrumbs,
  .product-category-hero .breadcrumbs,
  .product-category-hero--grouped .breadcrumbs,
  .product-text-page-hero .breadcrumbs,
  .it-accreditation-hero .breadcrumbs {
    margin-bottom: 2.4rem;
  }
}

@media (width <= 576px) {
  .company-departments__slide {
    position: relative;
  }

  .company-departments__slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(34, 34, 51, .75) 0%, rgba(34, 34, 51, .65) 30%, rgba(34, 34, 51, 0) 60%);
    pointer-events: none;
  }

  .company-departments__slide-caption {
    display: block;
    position: absolute;
    left: 1.6rem;
    right: 1.6rem;
    top: 11rem;
    z-index: 1;
    margin: 0;
    font-family: var(--inter);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: left;
    color: #fff;
  }
}

@media (width > 576px) {
  .product-order {
    justify-content: flex-start;
    gap: 4rem;
  }
}

@media (width <= 576px) {
  .product-order {
    grid-template-columns: 1fr;
  }

  .product-order__submit {
    width: 100%;
    padding: 1.4rem 2rem;
    font-size: 1.1rem;
    letter-spacing: 0;
  }
}

.product-category-text {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background-color: #fff;
  color: var(--text-color);
}

.product-category-text__title {
  margin-bottom: 4rem;
  font-family: var(--inter-tight);
  font-size: 6rem;
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
  text-wrap: balance;
}

.product-category-text__content {
  max-width: 137.5rem;
  font-family: var(--inter);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
}

.product-category-text__content > * + * {
  margin-top: 2rem;
}

.product-category-text__content ul,
.product-category-text__content ol {
  padding-left: 2.4rem;
}

.product-category-text__content ul {
  list-style: disc outside;
}

.product-category-text__content ol {
  list-style: decimal outside;
}

.product-category-text__content li + li {
  margin-top: .4rem;
}

.product-category-text__content a {
  color: var(--primary-color);
  text-decoration: underline;
}

@media (width <= 576px) {
  .product-category-text {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .product-category-text__title {
    margin-bottom: 2rem;
    font-size: 2.6rem;
    line-height: 1.2;
  }

  .product-category-text__content {
    font-size: 1.4rem;
  }

  .product-category-text__content ul,
  .product-category-text__content ol {
    padding-left: 2rem;
  }
}

/* Капслок интерфейса — IBM Plex Sans, как меню шапки (решение Рустема 26.10).
   Вкладки и текстовые ссылки — как пункты меню, кнопки — как «Продукция и услуги».
   Заголовки капслоком (Inter Tight) не трогаем. */
.press-center__tab-btn,
.product-detail__tab,
.press-center-page-news__category-link,
.vacancy-card__link,
.realised-project-card__link,
.other-project-card__link,
.industry-project-card__link,
.cooperation-card__link,
.product-category-card__button,
.training-course-card__button,
.product-page-modules__more,
.product-page-module-card__button,
.realised-projects__all-link,
.realised-projects-industries__link,
.search-page__empty-link,
.suppliers-page__action,
.engineering-center__nav-link,
.realised-projects-industries__name {
  font-family: var(--imb-plex-sans);
  font-weight: 500;
  letter-spacing: normal;
}

.btn,
.page-header__cta,
.mobile-menu__cta,
.cookie-banner__button,
.select__apply,
.product-order__submit,
.catalog-menu__trigger {
  font-family: var(--imb-plex-sans);
  font-weight: 600;
  letter-spacing: -0.02em;
}

/* Вкладки-переключатели блока на той же странице — без подчёркивания:
   это не переход по ссылке, кликабельность понятна по виду (решение Рустема 26.10). */
.press-center__tab-btn,
.product-detail__tab,
.press-center-page-news__category-link {
  text-decoration: none;
}

/* Меню шапки «О компании / Документация / Контакты»: ширина по содержимому и ровный шаг 3,2rem
   вместо разноса по фиксированной ширине (было 7,2 и 5,2rem) — решение Рустема 26.10.
   У «О компании» есть внутренний отступ 2rem под подсветку, его компенсируем отрицательным полем. */
.page-header__nav {
  width: auto;
}

.page-header__nav-list {
  justify-content: flex-start;
  gap: 3.2rem;
}

.page-header__nav-list-item--dropdown {
  margin-right: -2rem;
}

/* Вкладки-переключатели плотнее, в той же пропорции, что меню шапки (решение Рустема 26.10):
   было 8,3–10,4rem между текстами (фиксированная ширина 15rem, отступы 3rem), стало ровно ~4,7rem. */
.press-center__tab-btn,
.press-center-page-news__category-link {
  min-width: 0;
  padding-left: 2rem;
  padding-right: 2rem;
}

.product-detail__tab {
  padding-left: 2rem;
  padding-right: 2rem;
}

.product-detail__tabs {
  gap: 0;
}

/* Каталог: наведение, фокус и открытый раздел — синим, без подчёркивания (решение Рустема 26.10) */
.catalog-menu__link.is-active .catalog-menu__link-label,
.catalog-menu__link:focus-visible .catalog-menu__link-label {
  text-decoration: none;
  color: var(--primary-color);
}

@media (hover: hover) and (pointer: fine) {
  .catalog-menu__link:hover .catalog-menu__link-label {
    text-decoration: none;
    color: var(--primary-color);
  }
}

.catalog-menu__link-label {
  transition: color .2s;
}

/* Подвал: все ссылки без подчёркивания (решение Рустема 26.10) */
.page-footer a,
.page-footer a:hover,
.page-footer a:focus-visible {
  text-decoration: none;
}

/* Каталог: стрелка по центру строки названия — она ниже строки (1,2rem против 1em) и стояла у верхнего края */
@media (width > 576px) {
  .catalog-menu__arrow {
    margin-top: calc((1em - 1.2rem) / 2);
  }
}

/* Подвал «шторой»: синий блок над ним уезжает вверх и открывает подвал, а сам подвал стоит на месте.
   Внутренний слой закрепляется у нижнего края окна, clip-path показывает его только в пределах места подвала.
   Включает скрипт в main.js, и только если подвал помещается в окно по высоте. */
.page-footer__reveal {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "stack";
  grid-area: stack;
  background-color: #001326;
}

.page-footer.is-reveal {
  clip-path: inset(0);
  height: var(--footer-h);
}

.page-footer.is-reveal .page-footer__reveal {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
}

/* Подвал: «Открыть в Яндекс Картах», подписи «Адрес» / «Связаться» и почта — серым, как реквизиты слева
   (белый 70%, решение Рустема 27.10). Наведение на почту по-прежнему синее. */
.page-footer__map-link,
.page-footer__section-label,
.page-footer__section-text--link[href^="mailto:"] {
  color: rgba(255, 255, 255, 0.7);
}

@media (hover: hover) and (pointer: fine) {
  .page-footer__section-text--link[href^="mailto:"]:hover {
    color: var(--primary-color);
  }
}

/* Слайдер видео на главной: затемнение обложки вдвое слабее — 75% → 37,5% (решение Рустема 27.10) */
.home-video-card__overlay {
  background: rgba(14, 21, 38, 0.375);
}

/* Крупный заголовок внутренних страниц на 20% меньше: 12rem → 9,6rem (решение Рустема 27.10).
   Все шаблоны с этим стилем; на телефоне свои размеры 2,6–3,2rem — не трогаем. */
@media (width > 576px) {
  .company-hero__title,
  .cooperation-hero__title,
  .contacts-page__title,
  .documentation-page__title,
  .press-center-page__title,
  .product-catalog-hero__title,
  .product-category-hero__title,
  .production-and-services-page__title,
  .realised-projects-page__title,
  .search-page__title,
  .system-integrators-page__title,
  .training-center-hero__title {
    font-size: 9.6rem;
  }
}

/* «О компании»: заголовок страницы поверх видео первого экрана — белым (решение Рустема 27.10).
   Включается классом блока company-hero--title-on-media; размер — как у заголовков внутренних страниц. */
.company-hero__title--on-media {
  grid-column: 1 / -1;
  margin: 0;
  color: #fff;
}

@media (width > 576px) {
  .company-hero__title--on-media {
    grid-column: 1 / 7;
    grid-row: 1;
    align-self: start;
    font-size: 9.6rem;
  }

  .company-hero--title-on-media .company-hero__video-link {
    grid-row: 1;
  }
}

/* «Контроллеры АБАК» (и другие страницы с каталогом слева в первом экране): текстовые блоки —
   описание, списки, аккордеоны — не под колонкой навигации, а по линии заголовка
   на картинке. Широкие блоки (вкладки с фото, «Полный цикл работ», «Документация по направлению», форма) остаются во всю ширину.
   Колонка навигации = отступ контейнера + 1 колонка из 8 (как в .catalog-menu), заголовок ещё на 7,6rem правее.
   Решение Рустема 27.10 (Loom «Настройка страницы контроллеры АБАК»). */
@media (width > 576px) {
  .product-catalog-hero ~ .product-category-text .container,
  .product-catalog-hero ~ .product-category-accordion .container {
    --catalog-col: calc((100vw - (var(--container-padding) * 2) - (2rem * 7)) / 8);
    padding-left: calc(var(--container-padding) + var(--catalog-col) + 7.6rem);
  }
}

/* «Полный цикл работ»: плитки без градиента */
.product-category-cycle__card {
  background-image: none;
}

/* Иконки этапов — белый каркас на прозрачном фоне (яркость уже в файлах), чуть крупнее: поля у файлов обрезаны, поэтому 1.15.
   Раньше были на чёрном с mix-blend-mode: screen — на телефонах под иконкой проступала плашка. */
.product-category-cycle__card-image {
  mix-blend-mode: normal;
  transform: scale(1.15);
  transform-origin: 100% 100%;
}

/* Плитка документа — одна на весь сайт (template-parts/doc-card.php): название слева сверху,
   бирюзовый круг с контурной иконкой справа сверху, действие снизу. Две темы: на синем и на светлом.
   Решение Рустема 27.10 (макет v3) — вместо четырёх разных плиток и стеклянных иконок. */
.doc-card {
  display: grid;
  grid-template: "title icon" 1fr "action action" auto / minmax(0, 1fr) auto;
  gap: 2rem;
  aspect-ratio: 445 / 200;
  padding: 2rem;
  border: 1px solid transparent;
  border-radius: .5rem;
  text-decoration: none;
  transition: border-color .2s;
}

.doc-card__title {
  grid-area: title;
  font-family: var(--inter);
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.066rem;
}

.doc-card__icon {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background-color: #00c8f0;
  color: #fff;
}

.doc-card__icon svg {
  width: 3rem;
  height: 3rem;
}

.doc-card__action {
  grid-area: action;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--imb-plex-sans);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .03rem;
  text-transform: uppercase;
}

.doc-card__type {
  padding: .3rem .7rem;
  border: 1px solid;
  border-radius: .3rem;
  font-size: 1.2rem;
}

.doc-card__arrow {
  font-family: var(--inter);
}

.doc-card--blue {
  border-color: rgba(255, 255, 255, .35);
  color: #fff;
}

.doc-card--blue .doc-card__type {
  border-color: rgba(255, 255, 255, .5);
}

.doc-card--light {
  background-color: #f2f2fa;
  color: #223;
}

.doc-card--light .doc-card__type {
  border-color: rgba(0, 111, 221, .4);
  color: var(--primary-color);
}

@media (hover: hover) and (pointer: fine) {
  .doc-card--blue:hover {
    border-color: #fff;
  }

  .doc-card--light:hover {
    border-color: var(--primary-color);
  }
}

.doc-card:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: .4rem;
}

/* В широких колонках (документация, продукт, контакты, партнёрам) плитка не растёт в высоту по пропорции */
.documentation-page__cards .doc-card,
.contacts-page__documents .doc-card,
.suppliers-documents .doc-card {
  aspect-ratio: auto;
  min-height: 20rem;
}

.contacts-page__documents .doc-card {
  margin-top: 5rem;
}

/* «Партнёрам»: был список строк, теперь плитки; фон секции уже #f2f2fa, поэтому плитки белые */
.suppliers-documents__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.suppliers-documents .doc-card--light {
  background-color: #fff;
}

@media (width <= 576px) {
  .doc-card {
    height: auto;
    min-height: 15rem;
    aspect-ratio: auto;
    padding: 1.6rem;
  }

  .doc-card__title {
    font-size: 2rem;
    letter-spacing: -.06rem;
  }

  .doc-card__icon {
    width: 5rem;
    height: 5rem;
  }

  .doc-card__icon svg {
    width: 2.5rem;
    height: 2.5rem;
  }

  .doc-card__action {
    font-size: 1.2rem;
  }

  .documentation-page__cards .doc-card,
  .contacts-page__documents .doc-card,
  .suppliers-documents .doc-card {
    min-height: 15rem;
  }

  .contacts-page__documents .doc-card {
    margin-top: 3rem;
  }

  .suppliers-documents__list {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
}

/* «Контакты»: подписи «Адрес», «Телефон», «Электронная почта», «Соцсети и мессенджеры» и пояснения
   под телефоном и почтой — серым, как в подвале, чтобы адрес, телефоны и почта читались первыми.
   Решение Рустема 27.10. */
.contacts-page__info-title,
.contacts-page__info-note {
  color: rgba(34, 34, 51, 0.5);
  opacity: 1;
}

/* «Продукция и услуги»: пункты списка тем же шрифтом и размером, что заголовки плиток «Полного цикла работ»
   (было Inter 3rem / 1.4rem на мобильных — мельче и другим начертанием). Решение Рустема 27.10. */
.production-and-services__item-title {
  font-family: var(--inter-tight);
  font-size: 3.2rem;
  letter-spacing: -0.01em;
}

@media (width <= 576px) {
  .production-and-services__item-title {
    font-size: 2rem;
  }
}

/* «О компании», плитки преимуществ: больше воздуха, заголовок как у плиток «Полного цикла работ»,
   описание обычным начертанием и серым — заголовок больше не сливается с текстом.
   Иконки — каркасные, серо-голубые, справа внизу (plugins/incomsystem-blocks/assets/features). Решение Рустема 27.10. */
.company-features .company-feature-card__description {
  font-weight: 400;
  color: rgba(34, 34, 51, 0.65);
}

@media (width > 576px) {
  .company-features .company-feature-card {
    min-height: 24rem;
    padding: 3rem;
    gap: 2.4rem;
  }

  .company-features .company-feature-card__title,
  .company-features--about-company .company-feature-card__title {
    max-width: 56rem;
    font-family: var(--inter-tight);
    font-size: 3.2rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
  }

  .company-features .company-feature-card__description {
    max-width: 52rem;
    font-size: 1.6rem;
    line-height: 1.45;
    letter-spacing: 0;
  }

  .company-feature-card__icon {
    right: 3rem;
    bottom: 3rem;
    width: 12rem;
    height: 12rem;
  }
}

/* «О компании», отзывы: логотипы крупно над названием, без кругов (решение Рустема 27.10).
   Логотипы — обрезанные SVG без круга (logo-*-wide.svg в медиатеке). Название — в три строки по высоте,
   чтобы письма во всех карточках начинались на одном уровне. */
.company-review-card__company {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 2.4rem;
}

.company-review-card__logo {
  order: -1;
  display: block;
  width: auto;
  height: 4.8rem;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
}

.company-review-card__logo-image {
  width: auto;
  height: 100%;
  max-width: 16rem; /* широкие логотипы (Норникель, Химград) упираются в ширину и становятся ниже — визуально вровень с остальными */
  object-fit: contain;
  object-position: left center;
}

.company-review-card__company-name {
  width: auto;
  min-height: calc(3em * 1.2);
}

/* Отступ «заголовок → плитки слайдера» как в «Учебном центре» (.training-center-partners):
   16,5rem от низа заголовка до плиток на десктопе, 7,4rem на мобильных */
.career-students__list {
  margin-top: 12rem;
}

.home-videos__title {
  margin-bottom: 12rem;
}

.harsh-conditions__title {
  margin-bottom: 10rem;
}

.company-reviews__title {
  margin-bottom: 8rem;
}

.other-articles__title {
  margin-bottom: 12rem;
}

@media (width <= 576px) {
  .career-students__list {
    margin-top: 0;
  }

  .career-students__title {
    margin-bottom: 4rem;
  }

  .home-videos__title {
    margin-bottom: 4rem;
  }

  .harsh-conditions__title {
    margin-bottom: 4rem;
  }

  .company-reviews__title {
    margin-bottom: 3rem;
  }

  .other-articles__title {
    margin-bottom: 4rem;
  }
}

/* Главная, первый экран: синяя подложка (.hero__overlay) — среднее между прежними 70vh / 75svh и 2/3 окна */
.hero__content {
  min-height: 68.333vh;
}

@media (width <= 576px) {
  .hero__content {
    min-height: 70.833svh;
  }
}

/* Пресс-центр на главной: Swiper на iOS даёт каждому слайду translateZ(0) — свой графический слой на каждую из ~100 карточек, Safari на iPhone падает по памяти при перелистывании */
.press-center .swiper-slide {
  transform: none;
}

/* Поля форм и поиска на сенсорных экранах — 16px: при шрифте мельче iPhone увеличивает страницу при нажатии на поле */
@media (pointer: coarse) {
  input,
  textarea,
  select {
    font-size: 16px;
  }
}
