@font-face {
        font-family: "Inter";
        src: url("assets/fonts/Inter-Regular.woff2") format("woff2");
        font-weight: 400;
        font-style: normal;
        font-display: swap;
      }

@font-face {
        font-family: "Inter";
        src: url("assets/fonts/Inter-Medium.woff2") format("woff2");
        font-weight: 500;
        font-style: normal;
        font-display: swap;
      }

@font-face {
        font-family: "Inter";
        src: url("assets/fonts/Inter-Bold.woff2") format("woff2");
        font-weight: 600;
        font-style: normal;
        font-display: swap;
      }

/*
 * Все правила страницы ограничены корнем .itecma-about и не меняют
 * стили body, глобальной шапки, футера или других страниц сайта.
 */
@scope (.itecma-about) {
  :scope {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    color: var(--black);
    background: var(--white);
    font-family: var(--font);
    isolation: isolate;
  }

:scope {
        --font: "Inter", Arial, sans-serif;
        --font-inter: var(--font);
        --page: #2e3b37;
        --green: #31b996;
        --green-1: #31b996;
        --gray: #b2b2b2;
        --black: #111111;
        --white: #ffffff;
        --container: 1430px;
        --text-2xl: 500 80px / 0.9 var(--font);
        --text-1xl: 500 40px / 1 var(--font);
        --text-xl: 500 36px / 1.3 var(--font);
        --text-l: 500 26px / 1.3 var(--font);
        --text-l-bold: 500 26px / 1.3 var(--font);
        --text-m: 400 20px / 1.3 var(--font);
        --paragraph-m: 400 18px / 1.4 var(--font);
        --text-xs: 400 15px / 1.3 var(--font);
        --text-xs-bold: 500 15px / 1.3 var(--font);
        --text-xxs: 400 14px / 1.2 var(--font);
        --text-xxs-bold: 500 14px / 1.2 var(--font);
        --text-s: 400 18px / 1.3 var(--font);
        --text-s-bold: 500 18px / 1.3 var(--font);
        --text-m-bold: 500 20px / 1.3 var(--font);
        --paragraph-s: 400 16px / 1.4 var(--font);
        --caps-m: 500 12px / 1.1 var(--font);
        --menu: 500 18px / 1 var(--font);
        --button-m: 500 18px / 1 var(--font);
        --button-s: 500 15px / 1 var(--font);
        --button-xs: 500 14px / 1 var(--font);
        --price-catalog: 600 20px / 1 var(--font);
        --number-card: 500 46px / 1 var(--font);
        --year-history: 500 160px / 0.9 var(--font);
        --container-padding: 40px;
        --space-40: clamp(28px, min(2.083vw, 3.704vh), 40px);
        --space-60: clamp(44px, min(3.125vw, 5.556vh), 60px);
        --space-80: clamp(56px, min(4.167vw, 7.407vh), 80px);
        --section-space: clamp(80px, min(7.292vw, 12.963vh), 140px);
        --section-space-large: clamp(80px, min(10.417vw, 18.519vh), 200px);
        --history-space-top: clamp(80px, min(5.208vw, 9.259vh), 100px);
        --history-space-bottom: clamp(50px, min(3.646vw, 6.481vh), 70px);
      }

      * {
        box-sizing: border-box;
      }

      html,
      body {
        width: 100%;
        min-height: 100%;
        margin: 0;
      }

      body {
        overflow-x: hidden;
        color: var(--black);
        background: var(--white);
        font-family: var(--font);
      }

      a {
        color: inherit;
        text-decoration: none;
      }

      button {
        font: inherit;
      }

      .container {
        width: min(100%, calc(1430px + var(--container-padding) * 2));
        margin-right: auto;
        margin-left: auto;
        padding-right: var(--container-padding);
        padding-left: var(--container-padding);
      }

      .hero {
        position: relative;
        min-height: 100vh;
        overflow: hidden;
        background: var(--black);
      }

      .hero-video,
      .video-fallback {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
      }

      .hero-video {
        object-fit: cover;
      }

      .video-fallback {
        background: linear-gradient(120deg, rgb(42 98 69 / 82%), rgb(17 17 17 / 72%));
      }

      .hero-top-gradient {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 450px;
        background: linear-gradient(180deg, rgb(0 0 0 / 40%), transparent);
        pointer-events: none;
      }

      .hero-bottom-gradient {
        position: absolute;
        bottom: 0;
        left: 0;
        display: none;
        width: 100%;
        pointer-events: none;
      }

      .header {
        position: fixed;
        z-index: 20;
        top: 0;
        right: 0;
        left: 0;
        display: grid;
        grid-template-areas: "logo nav actions";
        grid-template-columns: auto 1fr auto;
        align-items: center;
        column-gap: 40px;
        height: 64px;
        opacity: 1;
        transition:
          height 360ms cubic-bezier(0.16, 1, 0.3, 1),
          opacity 520ms ease,
          transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .header::before {
        position: absolute;
        z-index: -1;
        top: 0;
        right: calc((100vw - 100%) / -2);
        left: calc((100vw - 100%) / -2);
        height: inherit;
        content: "";
        background: var(--white);
        transform: translate3d(0, -100%, 0);
        transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .header::after {
        position: absolute;
        right: calc((100vw - 100%) / -2);
        bottom: 0;
        left: calc((100vw - 100%) / -2);
        height: 1px;
        content: "";
        background: rgb(255 255 255 / 12%);
      }

      .logo-link {
        position: relative;
        grid-area: logo;
        display: block;
        width: 135px;
        height: 40px;
      }

      .logo {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: auto;
        height: 40px;
        transform: translate(-50%, -50%);
        transition: opacity 260ms ease;
      }

      .logo.default {
        opacity: 1;
      }

      .logo.scrolled {
        opacity: 0;
      }

      .main-nav {
        grid-area: nav;
        display: flex;
        align-items: center;
        gap: 20px;
        color: var(--white);
        font: var(--menu);
        white-space: nowrap;
        transition: color 320ms ease;
      }

      .main-nav a {
        position: relative;
      }

      .main-nav a::after {
        position: absolute;
        right: 0;
        bottom: -6px;
        left: 0;
        height: 1px;
        content: "";
        background: currentColor;
        transform: scaleX(0);
        transform-origin: right;
        transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .main-nav a:hover::after {
        transform: scaleX(1);
        transform-origin: left;
      }

      .header-actions {
        grid-area: actions;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 4px;
      }

      .header-tool-button {
        position: relative;
        overflow: hidden;
        display: inline-flex;
        height: 46px;
        padding: 0 16px;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: 0;
        border-radius: 6px;
        color: var(--white);
        background: rgb(0 0 0 / 16%);
        backdrop-filter: blur(36px);
        -webkit-backdrop-filter: blur(36px);
        font: var(--menu);
        white-space: nowrap;
        cursor: pointer;
        transition:
          color 260ms ease,
          background 260ms ease;
      }

      .header-tool-button img {
        display: block;
        width: 24px;
        height: 24px;
        flex: 0 0 auto;
      }

      .header-search {
        padding-right: 14px;
        padding-left: 14px;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }

      .header-language {
        gap: 12px;
      }

      .header-language img {
        width: auto;
        height: 15px;
      }

      .mobile-burger {
        display: none;
      }

      body.is-header-fixed .header {
        height: 56px;
      }

      body.is-header-fixed .header::before {
        transform: translate3d(0, 0, 0);
      }

      body.is-header-fixed .main-nav,
      body.is-header-fixed .header-tool-button {
        color: var(--black);
      }

      body.is-header-fixed .header-tool-button {
        background: rgb(0 0 0 / 6%);
      }

      body.is-header-fixed .header-search {
        background: transparent;
      }

      body.is-header-fixed .header-tool-button img {
        filter: brightness(0);
      }

      body.is-header-fixed .logo.default {
        opacity: 0;
      }

      body.is-header-fixed .logo.scrolled {
        opacity: 1;
      }

      body.is-footer-visible .header {
        opacity: 0;
        pointer-events: none;
        transform: translateY(-120%);
      }

      .hero-breadcrumbs {
        position: absolute;
        z-index: 3;
        top: 84px;
        right: 0;
        left: 0;
      }

      .hero-breadcrumbs-list {
        display: flex;
        margin: 0;
        padding: 0;
        align-items: center;
        gap: 6px;
        color: rgb(255 255 255 / 60%);
        font: var(--text-xxs);
        list-style: none;
      }

      .hero-breadcrumbs-link {
        transition: color 220ms ease;
      }

      .hero-breadcrumbs-link:hover,
      .hero-breadcrumbs-link:focus-visible {
        color: var(--white);
      }

      .hero-breadcrumbs-icon {
        display: block;
        width: 9px;
        height: 17px;
        opacity: 0.6;
      }

      .hero-breadcrumbs-current {
        cursor: default;
      }

      .hero-content {
        position: absolute;
        z-index: 2;
        top: 141px;
        right: 0;
        left: 0;
      }

      .hero-title {
        width: min(1254px, 100%);
        margin: 0 auto;
        color: var(--white);
        font: 500 clamp(54px, 5vw, 80px) / 0.9 var(--font);
        letter-spacing: -0.03em;
        text-align: center;
      }

      .hero-title-line {
        display: block;
        white-space: nowrap;
      }

      .hero-title.reveal-item {
        transition:
          opacity 1000ms cubic-bezier(0.16, 1, 0.3, 1),
          transform 1150ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .header-tool-button.reveal-item {
        top: 42px;
        opacity: 0;
        transform: none;
        transition:
          color 260ms ease,
          background 260ms ease;
        will-change: opacity;
      }

      .header-tool-button.reveal-item.is-visible {
        animation:
          header-tool-fade 900ms cubic-bezier(0.16, 1, 0.3, 1) var(--reveal-delay, 0ms) both,
          header-tool-move 1100ms cubic-bezier(0.16, 1, 0.3, 1) var(--reveal-delay, 0ms) both;
      }

      @keyframes header-tool-fade {
        from { opacity: 0; }
        to { opacity: 1; }
      }

      @keyframes header-tool-move {
        from { top: 42px; }
        to { top: 0; }
      }

      .history-page {
        position: relative;
        width: 100%;
        height: 1080px;
        min-height: 0;
        overflow: hidden;
        padding: var(--history-space-top) 0 var(--history-space-bottom);
        color: var(--white);
        background: var(--page);
      }

      .history-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 40px;
      }

      .history-heading {
        margin: 0;
        color: var(--white);
        font: var(--text-xl);
        letter-spacing: -0.02em;
      }

      .history-controls {
        display: flex;
        align-items: center;
        gap: 24px;
      }

      .history-divider {
        width: 100%;
        height: 1px;
        margin-top: var(--space-40);
        background: rgb(255 255 255 / 20%);
      }

      .history-stage {
        position: relative;
        height: 677px;
        margin-top: var(--space-40);
        overflow: hidden;
      }

      .history-card {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: 523px minmax(0, 1fr);
        gap: 81px;
        width: 100%;
        height: 677px;
        color: var(--white);
        backface-visibility: hidden;
        transform: translate3d(0, 0, 0);
      }

      .history-card.is-incoming {
        z-index: 3;
      }

      .history-card.is-incoming .history-figure {
        animation-duration: 1400ms;
        animation-fill-mode: both;
        animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        will-change: clip-path;
      }

      .history-card-outgoing {
        position: absolute;
        z-index: 2;
        top: 0;
        right: var(--container-padding);
        bottom: 0;
        left: var(--container-padding);
        width: auto;
        pointer-events: none;
      }

      .history-card.is-incoming.is-forward .history-figure {
        animation-name: history-card-in-forward;
      }

      .history-card.is-incoming.is-backward .history-figure {
        animation-name: history-card-in-backward;
      }

      .history-card.is-incoming .history-card-title,
      .history-card.is-incoming .history-description {
        animation-duration: 1200ms;
        animation-fill-mode: both;
        animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
        backface-visibility: hidden;
        will-change: opacity, transform;
      }

      .history-card.is-incoming.is-forward .history-card-title,
      .history-card.is-incoming.is-forward .history-description {
        animation-name: history-copy-in-forward;
      }

      .history-card.is-incoming.is-backward .history-card-title,
      .history-card.is-incoming.is-backward .history-description {
        animation-name: history-copy-in-backward;
      }

      .history-card-outgoing .history-card-title,
      .history-card-outgoing .history-description {
        animation-duration: 1200ms;
        animation-fill-mode: both;
        animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
        backface-visibility: hidden;
        will-change: opacity, transform;
      }

      .history-card-outgoing.is-forward .history-card-title,
      .history-card-outgoing.is-forward .history-description {
        animation-name: history-copy-out-forward;
      }

      .history-card-outgoing.is-backward .history-card-title,
      .history-card-outgoing.is-backward .history-description {
        animation-name: history-copy-out-backward;
      }

      .history-card-outgoing .history-year {
        visibility: hidden;
      }

      @keyframes history-card-in-forward {
        from {
          clip-path: inset(0 0 0 100%);
        }
        to {
          clip-path: inset(0 0 0 0);
        }
      }

      @keyframes history-card-in-backward {
        from {
          clip-path: inset(0 100% 0 0);
        }
        to {
          clip-path: inset(0 0 0 0);
        }
      }

      @keyframes history-copy-in-forward {
        0%,
        54% {
          opacity: 0;
          transform: translate3d(12px, 0, 0);
        }
        100% {
          opacity: 1;
          transform: translate3d(0, 0, 0);
        }
      }

      @keyframes history-copy-in-backward {
        0%,
        54% {
          opacity: 0;
          transform: translate3d(-12px, 0, 0);
        }
        100% {
          opacity: 1;
          transform: translate3d(0, 0, 0);
        }
      }

      @keyframes history-copy-out-forward {
        0% {
          opacity: 1;
          transform: translate3d(0, 0, 0);
        }
        46%,
        100% {
          opacity: 0;
          transform: translate3d(-12px, 0, 0);
        }
      }

      @keyframes history-copy-out-backward {
        0% {
          opacity: 1;
          transform: translate3d(0, 0, 0);
        }
        46%,
        100% {
          opacity: 0;
          transform: translate3d(12px, 0, 0);
        }
      }

      .history-copy {
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        height: 677px;
      }

      .history-card-title {
        max-width: 584px;
        margin: 0;
        font: var(--text-l);
        letter-spacing: -0.02em;
      }

      .history-description {
        width: 584px;
        max-width: 100%;
        margin-top: 20px;
        font: var(--paragraph-s);
      }

      .history-description p {
        margin: 0;
      }

      .history-description p + p {
        margin-top: 16px;
      }

      .history-mobile-more,
      .history-controls-mobile {
        display: none;
      }

      .history-footer {
        display: flex;
        margin-top: auto;
        align-items: flex-end;
        justify-content: space-between;
      }

      .history-figure {
        width: 523px;
        height: 677px;
        margin: 0;
        overflow: hidden;
      }

      .history-image {
        display: block;
        width: 523px;
        height: 677px;
        object-fit: cover;
      }

      .history-year {
        display: flex;
        align-items: flex-start;
        align-self: flex-start;
        width: fit-content;
        height: 0.9em;
        margin-top: 0;
        overflow: hidden;
        font: var(--year-history);
        font-variant-numeric: tabular-nums;
        letter-spacing: -0.08em;
        line-height: 0.9;
        white-space: nowrap;
      }

      .history-year-digit {
        display: block;
        width: 0.62em;
        height: 0.9em;
        overflow: hidden;
        flex: 0 0 0.62em;
      }

      .history-year-digit-track {
        display: block;
        width: 100%;
        transform: translate3d(0, 0, 0);
        transition: transform 1150ms cubic-bezier(0.4, 0, 0.2, 1);
        transition-delay: var(--digit-delay, 0ms);
        will-change: transform;
      }

      .history-year-digit-track span {
        display: block;
        width: 100%;
        height: 0.9em;
        line-height: 0.9;
      }

      .history-year-digit.is-static {
        line-height: 0.9;
      }

      .history-year-digit-track.is-forward {
        transform: translate3d(0, -50%, 0);
      }

      .history-year-digit-track.is-backward-start {
        transform: translate3d(0, -50%, 0);
      }

      .history-year-digit-track.is-backward {
        transform: translate3d(0, 0, 0);
      }

      .history-timeline {
        position: relative;
        height: 44px;
        margin-top: var(--space-60);
      }

      .timeline-container {
        position: relative;
        height: 44px;
      }

      .timeline-track {
        position: relative;
        width: 100%;
        height: 27px;
        top: 50%;
        transform: translateY(-50%);
      }

      .timeline-line {
        position: absolute;
        z-index: 0;
        top: 50%;
        right: 0;
        left: 0;
        height: 1px;
        background: var(--gray);
        transform: translateY(-50%);
      }

      .timeline-items {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 27px;
      }

      .timeline-active-indicator {
        position: absolute;
        z-index: 2;
        top: 5px;
        left: 0;
        width: 17px;
        height: 17px;
        background: var(--green);
        pointer-events: none;
        transform: translate3d(5px, 0, 0);
        transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: transform;
      }

      .timeline-item {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 27px;
        height: 27px;
        padding: 5px;
        border: 0;
        background: var(--page);
        cursor: pointer;
      }

      .timeline-dot {
        display: block;
        width: 7px;
        height: 7px;
        flex: 0 0 auto;
        background: var(--gray);
        transition:
          width 480ms cubic-bezier(0.22, 1, 0.36, 1),
          height 480ms cubic-bezier(0.22, 1, 0.36, 1),
          background 360ms ease;
      }

      .timeline-label {
        position: absolute;
        left: 50%;
        width: max-content;
        max-width: 150px;
        color: var(--white);
        font: var(--caps-m);
        text-align: center;
        text-transform: uppercase;
        white-space: nowrap;
        opacity: 0;
        pointer-events: none;
        transform: translateX(-50%);
        transition:
          opacity 320ms ease,
          transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .timeline-item.is-active .timeline-label {
        top: calc(50% + 20.5px);
        bottom: auto;
        opacity: 1;
      }

      .timeline-item:not(.is-active) .timeline-label {
        top: auto;
        bottom: calc(50% + 15.5px);
        transform: translate3d(-50%, 6px, 0);
      }

      .timeline-item:not(.is-active):hover .timeline-label,
      .timeline-item:not(.is-active):focus-visible .timeline-label {
        opacity: 0.5;
        transform: translate3d(-50%, 0, 0);
      }

      .timeline-arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
      }

      .timeline-arrow img {
        display: block;
        width: 36px;
        height: 36px;
        filter: brightness(0) invert(1);
        opacity: 1;
      }

      .timeline-arrow:disabled {
        cursor: default;
        opacity: 0.3;
      }

      .production-gallery {
        --gallery-slide-width: min(1188px, calc(100vw - 24px));
        --gallery-side-space: calc((100vw - var(--gallery-slide-width)) / 2);
        --gallery-content-edge: max(var(--container-padding), calc((100vw - var(--container)) / 2));
        padding: var(--section-space) 0;
        overflow: hidden;
        color: var(--black);
        background: var(--white);
      }

      .production-gallery-title {
        width: min(850px, 100%);
        margin: 0;
        font: var(--text-1xl);
        letter-spacing: -0.02em;
      }

      .production-gallery-shell {
        position: relative;
        margin-top: var(--space-40);
      }

      .production-gallery-viewport {
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .production-gallery-viewport::-webkit-scrollbar {
        display: none;
      }

      .production-gallery-track {
        display: flex;
        width: max-content;
        gap: 20px;
        padding-right: var(--gallery-side-space);
        padding-left: var(--gallery-content-edge);
      }

      .production-gallery-slide {
        width: var(--gallery-slide-width);
        height: auto;
        margin: 0;
        overflow: hidden;
        flex: 0 0 var(--gallery-slide-width);
        aspect-ratio: 1188 / 750;
        border-radius: 6px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
      }

      .production-gallery-slide:first-child {
        scroll-margin-left: var(--gallery-content-edge);
        scroll-snap-align: start;
      }

      .production-gallery-image {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .production-gallery-arrow {
        position: absolute;
        z-index: 3;
        top: 50%;
        display: inline-flex;
        width: 56px;
        height: 56px;
        padding: 16px;
        border: 0;
        border-radius: 6px;
        align-items: center;
        justify-content: center;
        background: var(--white);
        box-shadow: 0 8px 28px rgb(0 0 0 / 10%);
        cursor: pointer;
        transform: translateY(-50%);
        transition:
          opacity 240ms ease,
          transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .production-gallery-arrow.is-prev {
        left: var(--gallery-content-edge);
      }

      .production-gallery-arrow.is-next {
        right: var(--gallery-content-edge);
      }

      .production-gallery-arrow img {
        display: block;
        width: 24px;
        height: 24px;
      }

      .production-gallery-arrow:disabled {
        opacity: 0;
        pointer-events: none;
      }

      .production-gallery-arrow:not(:disabled):hover {
        transform: translateY(-50%) scale(1.06);
      }

      .certificates {
        padding-bottom: var(--section-space);
        color: var(--black);
        background: var(--white);
      }

      .certificates-intro {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
      }

      .certificates-title {
        margin: 0;
        font: var(--text-1xl);
        letter-spacing: -0.02em;
      }

      .certificates-description {
        width: 100%;
        margin: 0;
        font: var(--paragraph-m);
      }

      .certificates-list {
        width: calc(50% - 10px);
        margin: var(--space-40) 0 0 auto;
      }

      .certificate-item {
        display: flex;
        min-height: 80px;
        padding: 16px 0;
        border-bottom: 1px solid #ececec;
        align-items: center;
        gap: 16px;
        cursor: pointer;
      }

      .certificate-pdf-icon {
        position: relative;
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
      }

      .certificate-pdf-icon img {
        position: absolute;
        inset: 0;
        display: block;
        width: 48px;
        height: 48px;
        transition: opacity 280ms ease;
      }

      .certificate-pdf-icon img.is-hover {
        opacity: 0;
      }

      .certificate-copy {
        min-width: 0;
        flex: 1 1 auto;
      }

      .certificate-title {
        margin: 0;
        font: var(--text-m-bold);
        transition: color 280ms ease;
      }

      .certificate-description {
        margin: 4px 0 0;
        font: var(--text-xs);
      }

      .certificate-download {
        width: 24px;
        height: 24px;
        padding: 0;
        overflow: hidden;
        flex: 0 0 24px;
        border: 0;
        background: transparent;
        cursor: pointer;
      }

      .certificate-download-icon {
        position: relative;
        display: block;
        width: 24px;
        height: 24px;
      }

      .certificate-download-icon img {
        position: absolute;
        inset: 0;
        display: block;
        width: 24px;
        height: 24px;
        transition: transform 480ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .certificate-download-icon img.is-next {
        transform: translate3d(0, -110%, 0);
      }

      .certificate-item:hover .certificate-pdf-icon img.is-default {
        opacity: 0;
      }

      .certificate-item:hover .certificate-title {
        color: var(--green);
      }

      .certificate-item:hover .certificate-pdf-icon img.is-hover {
        opacity: 1;
      }

      .certificate-item:hover .certificate-download-icon img.is-current {
        transform: translate3d(0, 110%, 0);
      }

      .certificate-item:hover .certificate-download-icon img.is-next {
        transform: translate3d(0, 0, 0);
      }

      .clients {
        padding-bottom: var(--section-space);
        color: var(--black);
        background: var(--white);
      }

      .clients-title {
        margin: 0;
        font: var(--text-1xl);
        letter-spacing: -0.02em;
      }

      .clients-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
        margin-top: var(--space-40);
      }

      .client-card {
        position: relative;
        display: grid;
        height: 240px;
        overflow: hidden;
        border-radius: 12px;
        place-items: center;
        background: #f9f9f9;
      }

      .client-logo {
        display: block;
        width: 250px;
        height: 120px;
        object-fit: contain;
        transition:
          opacity 320ms ease,
          transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .client-details {
        position: absolute;
        top: 24px;
        right: 24px;
        left: 24px;
        opacity: 0;
        pointer-events: none;
        transform: translate3d(0, 14px, 0);
        transition:
          opacity 320ms ease,
          transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .client-details-title {
        margin: 0;
        font: var(--text-s-bold);
      }

      .client-details-description {
        max-width: 360px;
        margin: 12px 0 0;
        font: var(--text-xs);
      }

      .client-card.has-details {
        border: 1px solid transparent;
        transition:
          border-color 320ms ease,
          background 320ms ease,
          box-shadow 420ms ease;
      }

      .client-card.has-details:hover {
        border-color: #f1f1f1;
        background: var(--white);
        box-shadow: 0 8px 12px rgb(0 0 0 / 8%);
      }

      .client-card.has-details:hover .client-logo {
        opacity: 0;
        transform: scale(0.96);
      }

      .client-card.has-details:hover .client-details {
        opacity: 1;
        transform: translate3d(0, 0, 0);
      }

      .client-more {
        position: absolute;
        right: 12px;
        bottom: 12px;
        display: inline-flex;
        width: 48px;
        height: 48px;
        padding: 12px;
        border: 0;
        border-radius: 6px;
        align-items: center;
        justify-content: center;
        background: #ececec;
        cursor: pointer;
        transition:
          color 260ms ease,
          background 260ms ease,
          transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .client-more img {
        display: block;
        width: 24px;
        height: 24px;
        transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .client-card:hover .client-more {
        background: #d1d1d1;
        transform: scale(1.04);
      }

      .client-card:hover .client-more img {
        transform: rotate(90deg);
      }

      .faq {
        padding-bottom: var(--section-space);
        color: var(--black);
        background: var(--white);
      }

      .faq-title {
        margin: 0;
        font: var(--text-1xl);
        letter-spacing: -0.02em;
      }

      .faq-list {
        display: grid;
        gap: 8px;
        margin-top: var(--space-40);
      }

      .faq-item {
        overflow: hidden;
        border-radius: 12px;
        background: #f9f9f9;
        transition: background 280ms ease;
      }

      .faq-item:hover {
        background: #efefef;
      }

      .faq-question {
        display: flex;
        width: 100%;
        min-height: 64px;
        padding: 0 20px;
        border: 0;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        color: var(--black);
        background: transparent;
        font: var(--text-s);
        text-align: left;
        cursor: pointer;
      }

      .faq-question img {
        display: block;
        width: 24px;
        height: 24px;
        flex: 0 0 24px;
        transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .faq-item.is-open .faq-question img {
        transform: rotate(45deg);
      }

      .faq-answer {
        display: grid;
        grid-template-rows: 0fr;
        opacity: 0;
        transition:
          grid-template-rows 560ms cubic-bezier(0.16, 1, 0.3, 1),
          opacity 320ms ease;
      }

      .faq-item.is-open .faq-answer {
        grid-template-rows: 1fr;
        opacity: 1;
      }

      .faq-answer-inner {
        min-height: 0;
        overflow: hidden;
      }

      .faq-answer p {
        max-width: 920px;
        margin: 0;
        padding: 0 68px 20px 20px;
        color: rgb(17 17 17 / 70%);
        font: var(--paragraph-s);
      }

      .fixed-consultation {
        position: fixed;
        z-index: 30;
        bottom: 50px;
        left: 50%;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 58px;
        padding: 0 24px;
        border: 0;
        border-radius: 8px;
        color: var(--white);
        background: var(--green);
        font: var(--button-m);
        white-space: nowrap;
        cursor: pointer;
        transform: translate3d(-50%, 0, 0);
        transition:
          opacity 300ms ease,
          transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      body.is-footer-in-view .fixed-consultation {
        opacity: 0;
        pointer-events: none;
        transform: translate3d(-50%, 24px, 0);
      }

      .fixed-consultation::before {
        position: absolute;
        inset: 0;
        content: "";
        background: #289d7f;
        transform: translate3d(0, 101%, 0);
        transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .fixed-consultation-text {
        position: relative;
        z-index: 1;
        display: block;
        transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .fixed-consultation-text.is-next {
        position: absolute;
        top: 50%;
        right: 24px;
        left: 24px;
        text-align: center;
        transform: translateY(calc(-50% + 58px));
      }

      .fixed-consultation:hover::before {
        transform: translate3d(0, 0, 0);
      }

      .fixed-consultation:hover .fixed-consultation-text.is-current {
        transform: translateY(-58px);
      }

      .fixed-consultation:hover .fixed-consultation-text.is-next {
        transform: translateY(-50%);
      }

      .request-modal {
        position: fixed;
        z-index: 90;
        inset: 0;
        display: grid;
        place-items: center;
        padding: 20px 0;
        color: var(--black);
        background: rgb(0 0 0 / 60%);
        opacity: 0;
        pointer-events: none;
        transition: opacity 320ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .request-modal.is-open {
        opacity: 1;
        pointer-events: auto;
      }

      body.has-request-modal {
        overflow: hidden;
      }

      .request-modal-panel {
        position: relative;
        display: flex;
        width: min(828px, calc(100vw - 40px));
        height: calc(100vh - 40px);
        padding: 30px;
        overflow-x: hidden;
        overflow-y: auto;
        flex-direction: column;
        background: var(--white);
        opacity: 0;
        transform: translate3d(72px, 0, 0) scale(0.98);
        transition:
          opacity 420ms cubic-bezier(0.16, 1, 0.3, 1),
          transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .request-modal.is-open .request-modal-panel {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
      }

      .request-modal-close {
        position: absolute;
        top: 18px;
        right: 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 12px;
        border: 0;
        background: var(--white);
        cursor: pointer;
      }

      .request-modal-close img {
        display: block;
        width: 20px;
        height: 20px;
        filter: brightness(0);
        transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .request-modal-close:hover img {
        transform: rotate(90deg);
      }

      .request-modal-title {
        max-width: 690px;
        margin: 0;
        padding-right: 52px;
        color: var(--black);
        font: var(--text-xl);
      }

      .request-form {
        display: flex;
        min-height: 0;
        flex: 1 1 auto;
        flex-direction: column;
        margin-top: var(--space-40);
      }

      .request-section + .request-section {
        margin-top: var(--space-40);
      }

      .request-section-title {
        margin: 0 0 12px;
        color: var(--black);
        font: var(--text-m);
      }

      .request-fields {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
      }

      .request-input {
        width: 100%;
        height: 62px;
        padding: 0 14px 0 16px;
        color: rgb(17 17 17 / 60%);
        background: var(--white);
        border: 1px solid #ebebeb;
        border-radius: 12px;
        outline: none;
        font: var(--text-l-bold);
        transition:
          border-color 220ms ease,
          color 220ms ease;
      }

      .request-input::placeholder {
        color: rgb(17 17 17 / 30%);
      }

      .request-input:hover,
      .request-input:focus {
        border-color: #c7c7c7;
      }

      .request-options {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
      }

      .request-option {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 43px;
        padding: 0 20px;
        color: rgb(17 17 17 / 30%);
        background: var(--white);
        border: 1px solid #ebebeb;
        border-radius: 12px;
        cursor: pointer;
        font: var(--text-m-bold);
        transition:
          color 220ms ease,
          background 220ms ease,
          border-color 220ms ease,
          padding 320ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .request-option:hover {
        color: rgb(17 17 17 / 60%);
        border-color: #c7c7c7;
      }

      .request-option.is-active {
        padding-right: 34px;
        color: var(--white);
        background: var(--green);
        border-color: var(--green);
      }

      .request-option::after {
        position: absolute;
        top: 50%;
        right: 16px;
        content: "×";
        opacity: 0;
        transform: translateY(-50%) scale(0.4);
        transition:
          opacity 180ms ease,
          transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .request-option.is-active::after {
        opacity: 1;
        transform: translateY(-50%) scale(1);
      }

      .request-form-bottom {
        display: flex;
        margin-top: auto;
        padding-top: var(--space-40);
        flex-direction: column;
        gap: 16px;
      }

      .request-policy {
        margin: 0;
        color: rgb(17 17 17 / 60%);
        font: var(--text-xs);
      }

      .request-submit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 67px;
        padding: 0 24px;
        color: rgb(17 17 17 / 60%);
        background: var(--white);
        border: 1px solid #ebebeb;
        border-radius: 12px;
        cursor: pointer;
        font: var(--button-m);
        text-transform: uppercase;
        transition:
          color 240ms ease,
          background 240ms ease,
          border-color 240ms ease;
      }

      .request-submit.is-ready {
        color: var(--white);
        background: var(--green);
        border-color: var(--green);
      }

      .request-tooltip {
        position: fixed;
        z-index: 95;
        max-width: 250px;
        padding: 8px 10px;
        color: var(--white);
        background: var(--black);
        border-radius: 6px;
        opacity: 0;
        pointer-events: none;
        transform: translate3d(14px, 14px, 0);
        transition: opacity 160ms ease;
        font: var(--text-xs);
      }

      .request-tooltip.is-visible {
        opacity: 1;
      }

      .site-footer {
        position: relative;
        min-height: 100vh;
        color: var(--white);
        background: var(--page);
      }

      .site-footer-inner {
        position: relative;
        display: flex;
        min-height: 100vh;
        padding-top: var(--space-60);
        padding-bottom: var(--space-60);
        flex-direction: column;
      }

      .site-footer-top {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
      }

      .site-footer-made {
        display: flex;
        align-items: center;
        gap: 12px;
        color: var(--white);
        font: var(--text-m-bold);
      }

      .site-footer-made img {
        display: block;
        width: 32px;
        height: 32px;
      }

      .site-footer-statement {
        width: min(590px, 100%);
        margin: 24px 0 0;
        color: var(--white);
        font: var(--text-1xl);
        letter-spacing: -0.02em;
      }

      .site-footer-navigation {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
      }

      .site-footer-menu {
        display: flex;
        margin: 0;
        padding: 0;
        flex-direction: column;
        gap: 6px;
        list-style: none;
      }

      .site-footer-menu-link {
        position: relative;
        display: inline-flex;
        min-height: 26px;
        align-items: center;
        color: var(--white);
        font: var(--text-m-bold);
        transition:
          color 320ms ease,
          transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .site-footer-menu-link img {
        position: absolute;
        top: 50%;
        left: -20px;
        display: block;
        width: 16px;
        height: 16px;
        opacity: 0;
        transform: translate3d(-8px, -50%, 0);
        transition:
          opacity 260ms ease,
          transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
      }

      .site-footer-menu-link:hover,
      .site-footer-menu-link:focus-visible {
        color: var(--green);
        transform: translate3d(20px, 0, 0);
      }

      .site-footer-menu-link:hover img,
      .site-footer-menu-link:focus-visible img {
        opacity: 1;
        transform: translate3d(0, -50%, 0);
      }

      .site-footer-logo-mark {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: auto;
        height: 172px;
        transform: translate(-50%, -50%);
      }

      .site-footer-lower {
        margin-top: auto;
      }

      .site-footer-divider {
        width: 100%;
        height: 1px;
        background: #545d64;
      }

      .site-footer-contacts {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 40px;
        height: 116px;
        margin-top: 30px;
      }

      .site-footer-contact {
        position: relative;
        display: flex;
        min-width: 0;
        padding-bottom: 4px;
        flex-direction: column;
        justify-content: space-between;
      }

      .site-footer-contact + .site-footer-contact::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -20px;
        width: 1px;
        content: "";
        background: #545d64;
      }

      .site-footer-contact-label {
        margin: 0;
        color: #959595;
        font: var(--caps-m);
        text-transform: uppercase;
      }

      .site-footer-contact-value {
        margin: 0;
        color: var(--white);
        font: var(--text-s-bold);
      }

      a.site-footer-contact-value {
        transition: color 240ms ease;
      }

      a.site-footer-contact-value:hover {
        color: var(--green);
      }

      .site-footer-contacts + .site-footer-divider {
        margin-top: 30px;
      }

      .site-footer-legal-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
        margin-top: var(--space-80);
        color: #b2b5b7;
        font: var(--text-xxs);
      }

      .site-footer-copyright p,
      .site-footer-cookie {
        margin: 0;
      }

      .site-footer-copyright p + p {
        margin-top: 6px;
      }

      .site-footer-cookie {
        width: min(584px, 100%);
        justify-self: end;
      }

      @media (max-width: 1180px) {
        .history-page {
          padding-top: 80px;
        }

        .history-stage {
          height: 620px;
        }

        .history-card {
          grid-template-columns: minmax(340px, 440px) minmax(0, 1fr);
          gap: 48px;
          height: 620px;
        }

        .history-copy {
          height: 620px;
        }

        .history-figure {
          width: 100%;
          height: 620px;
        }

        .history-image {
          width: 100%;
          height: 620px;
        }

        .header {
          column-gap: 20px;
        }

        .main-nav {
          gap: 12px;
          font-size: 15px;
        }

        .header-tool-button {
          padding-right: 10px;
          padding-left: 10px;
          font-size: 15px;
        }

        .clients-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .site-footer-contacts {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          height: auto;
          row-gap: 30px;
        }

        .site-footer-contact {
          min-height: 96px;
        }

        .site-footer-contact:nth-child(3)::before {
          display: none;
        }
      }

      @media (min-width: 768px) and (max-width: 1024px) {
        :scope {
          --year-history: 500 112px / 0.9 var(--font);
        }

        .hero-title {
          width: 100%;
          font-size: clamp(40px, 4.9vw, 50px);
          line-height: 0.95;
        }

        .hero-title-line {
          white-space: normal;
        }

        .history-card {
          grid-template-columns: 300px minmax(0, 1fr);
          gap: 32px;
        }

        .history-card-outgoing {
          right: 0;
          left: 0;
        }

        .history-card-title {
          font-size: 22px;
          line-height: 1.25;
        }

        .history-description {
          font-size: 15px;
          line-height: 1.35;
        }

        .certificates-intro {
          display: block;
        }

        .certificates-title,
        .certificates-description,
        .certificates-list {
          width: 100%;
          max-width: none;
        }

        .certificates-description {
          margin-top: var(--space-40);
        }

        .certificates-list {
          margin-top: var(--space-40);
        }
      }

      @media (max-width: 767px) {
        :scope {
          --container-padding: 12px;
          --text-2xl: 500 32px / 0.9 var(--font);
          --text-1xl: 500 24px / 1 var(--font);
          --text-xl: 500 20px / 1.3 var(--font);
          --text-l: 500 26px / 1.3 var(--font);
          --text-l-bold: 500 26px / 1.3 var(--font);
          --text-m: 400 17px / 1.3 var(--font);
          --text-m-bold: 500 17px / 1.3 var(--font);
          --text-s: 400 16px / 1.3 var(--font);
          --text-s-bold: 500 16px / 1.3 var(--font);
          --text-xs: 400 15px / 1.3 var(--font);
          --text-xs-bold: 500 15px / 1.3 var(--font);
          --text-xxs: 400 14px / 1.2 var(--font);
          --text-xxs-bold: 500 14px / 1.2 var(--font);
          --caps-m: 500 11px / 1.1 var(--font);
          --paragraph-m: 400 16px / 1.4 var(--font);
          --paragraph-s: 400 14px / 1.4 var(--font);
          --button-m: 500 16px / 1 var(--font);
          --button-s: 500 14px / 1 var(--font);
          --button-xs: 500 14px / 1 var(--font);
          --price-catalog: 600 20px / 1 var(--font);
          --number-card: 500 46px / 1 var(--font);
          --year-history: 500 80px / 0.9 var(--font);
        }

        .hero {
          height: 450px;
          min-height: 450px;
          margin-top: 60px;
        }

        .hero-top-gradient {
          height: 80px;
          background: linear-gradient(180deg, rgb(0 0 0 / 30%), transparent);
        }

        .hero-bottom-gradient {
          display: block;
          height: 210px;
          background: linear-gradient(0deg, rgb(0 0 0 / 60%), transparent);
        }

        .header {
          display: flex;
          width: 100%;
          height: 60px;
          padding-right: 12px;
          padding-left: 12px;
          justify-content: space-between;
          background: var(--white);
        }

        .header::before,
        .header-actions,
        .main-nav {
          display: none;
        }

        .logo-link {
          width: 135px;
          flex: 0 0 135px;
        }

        .logo {
          left: 0;
          transform: translateY(-50%);
        }

        .logo.default {
          opacity: 0;
        }

        .logo.scrolled,
        body.is-header-fixed .logo.scrolled {
          opacity: 1;
        }

        .mobile-burger {
          position: relative;
          display: inline-flex;
          width: 36px;
          height: 36px;
          padding: 0;
          border: 0;
          align-items: center;
          justify-content: center;
          background: transparent;
        }

        .mobile-burger::before,
        .mobile-burger::after,
        .mobile-burger span {
          position: absolute;
          width: 22px;
          height: 2px;
          content: "";
          background: var(--black);
        }

        .mobile-burger::before {
          transform: translateY(-7px);
        }

        .mobile-burger::after {
          transform: translateY(7px);
        }

        .hero-content {
          top: auto;
          bottom: 20px;
        }

        .hero-title {
          font: var(--text-2xl);
          margin-left: 0;
          text-align: left;
        }

        .hero-title-line {
          white-space: normal;
        }

        .hero-breadcrumbs {
          top: 20px;
        }

        .history-page {
          height: auto;
          min-height: auto;
          padding: 40px 0 0;
        }

        .history-header {
          gap: 20px;
        }

        .history-heading {
          font: var(--text-1xl);
        }

        .history-header > .history-controls {
          display: none;
        }

        .history-divider {
          display: none;
        }

        .history-stage {
          height: auto;
          margin-top: 20px;
          overflow: visible;
        }

        .history-card {
          display: flex;
          height: auto;
          flex-direction: column;
          justify-content: flex-start;
          gap: 0;
        }

        .history-card-outgoing {
          right: 0;
          left: 0;
        }

        .history-card-outgoing .history-footer,
        .history-card-outgoing .history-mobile-more {
          visibility: hidden;
        }

        .history-copy {
          width: 100%;
          height: auto;
          min-height: 0;
        }

        .history-card-title {
          margin-top: 20px;
          font: var(--text-l);
        }

        .history-figure {
          width: 100%;
          height: auto;
          flex: none;
        }

        .history-image {
          width: 100%;
          height: auto;
          aspect-ratio: 351 / 230;
          object-fit: cover;
        }

        .history-description {
          display: -webkit-box;
          max-height: 11.2em;
          margin-top: 15px;
          overflow: hidden;
          font: var(--paragraph-s);
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 8;
        }

        .history-card.is-mobile-expanded .history-description {
          display: block;
          max-height: none;
        }

        .history-mobile-more {
          display: inline-flex;
          width: fit-content;
          margin-top: 30px;
          padding: 0;
          border: 0;
          color: var(--white);
          background: transparent;
          font: var(--button-s);
          cursor: pointer;
        }

        .history-footer {
          width: calc(100% + 24px);
          height: 104px;
          margin-top: 30px;
          margin-left: -12px;
          padding-right: 12px;
          padding-left: 12px;
          border-top: 1px solid rgb(255 255 255 / 20%);
          align-items: center;
        }

        .history-year {
          align-self: center;
          font: var(--year-history);
        }

        .history-controls-mobile {
          display: flex;
          align-items: center;
          gap: 44px;
        }

        .history-controls-mobile .timeline-arrow,
        .history-controls-mobile .timeline-arrow img {
          width: 24px;
          height: 24px;
        }

        .history-timeline {
          display: none;
        }

        .timeline-track {
          width: 100%;
        }

        .timeline-label {
          display: none;
        }

        .production-gallery {
          padding: 80px 0;
        }

        .production-gallery-title {
          font: var(--text-1xl);
        }

        .production-gallery-shell {
          margin-top: 20px;
        }

        .production-gallery {
          --gallery-slide-width: calc(100vw - 42px);
          --gallery-content-edge: 12px;
          --gallery-side-space: 12px;
        }

        .production-gallery-track {
          gap: 8px;
          padding-right: 12px;
          padding-left: 12px;
        }

        .production-gallery-slide {
          aspect-ratio: 333 / 210;
        }

        .production-gallery-arrow {
          display: none;
        }

        .certificates {
          padding-bottom: 80px;
        }

        .certificates-intro {
          grid-template-columns: 1fr;
          gap: 0;
        }

        .certificates-title {
          font: var(--text-1xl);
        }

        .certificates-list {
          width: 100%;
          margin-top: 20px;
        }

        .certificates-description {
          margin-top: 20px;
        }

        .certificate-item {
          gap: 12px;
        }

        .certificate-pdf-icon,
        .certificate-pdf-icon img {
          width: 40px;
          height: 40px;
        }

        .certificate-pdf-icon {
          flex-basis: 40px;
        }

        .certificate-download {
          display: none;
        }

        .clients {
          padding-bottom: 80px;
        }

        .clients-title {
          font: var(--text-1xl);
        }

        .clients-grid {
          display: flex;
          width: calc(100% + 24px);
          margin-top: 20px;
          margin-left: -12px;
          overflow-x: auto;
          gap: 8px;
          scroll-snap-type: x mandatory;
          scrollbar-width: none;
        }

        .clients-grid::before {
          width: 4px;
          height: 1px;
          content: "";
          flex: 0 0 4px;
        }

        .clients-grid::after {
          width: 13px;
          height: 1px;
          content: "";
          flex: 0 0 13px;
        }

        .clients-grid::-webkit-scrollbar {
          display: none;
        }

        .client-card {
          width: calc(100vw - 42px);
          flex: 0 0 calc(100vw - 42px);
          scroll-snap-align: center;
          cursor: pointer;
        }

        .client-card:first-of-type {
          scroll-snap-align: start;
          scroll-margin-left: 12px;
        }

        .client-card.has-details:hover {
          border-color: transparent;
          background: #f9f9f9;
          box-shadow: none;
        }

        .client-card.has-details:hover .client-logo {
          opacity: 1;
          transform: none;
        }

        .client-card.has-details:hover .client-details {
          opacity: 0;
          transform: translate3d(0, 14px, 0);
        }

        .client-card:hover .client-more {
          background: #ececec;
          transform: none;
        }

        .client-card:hover .client-more img {
          transform: none;
        }

        .client-card.has-details.is-open {
          border-color: #f1f1f1;
          background: var(--white);
          box-shadow: 0 8px 12px rgb(0 0 0 / 8%);
        }

        .client-card.has-details.is-open .client-logo {
          opacity: 0;
          transform: scale(0.96);
        }

        .client-card.has-details.is-open .client-details {
          opacity: 1;
          transform: translate3d(0, 0, 0);
        }

        .client-card.has-details.is-open .client-more img {
          transform: rotate(45deg);
        }

        .faq {
          padding-bottom: 80px;
        }

        .faq-title {
          font: var(--text-1xl);
        }

        .faq-list {
          margin-top: 20px;
        }

        .faq-question {
          min-height: auto;
          padding: 16px;
        }

        .faq-answer p {
          padding: 0 56px 16px 16px;
        }

        .fixed-consultation {
          bottom: 24px;
          width: calc(100% - 24px);
        }

        .request-modal {
          padding: 0;
          place-items: stretch;
        }

        .request-modal-panel {
          width: 100%;
          height: 100%;
          padding: 20px 12px;
          transform: translate3d(100%, 0, 0);
        }

        .request-modal-title {
          padding-right: 48px;
        }

        .request-fields {
          grid-template-columns: 1fr;
        }

        .site-footer,
        .site-footer-inner {
          min-height: auto;
        }

        .site-footer-inner {
          padding-top: 40px;
          padding-bottom: 40px;
        }

        .site-footer-top,
        .site-footer-legal-row {
          grid-template-columns: 1fr;
        }

        .site-footer-navigation {
          margin-top: 48px;
        }

        .site-footer-statement {
          font: var(--text-1xl);
        }

        .site-footer-logo-mark {
          position: static;
          height: 120px;
          margin: 48px auto 0;
          transform: none;
        }

        .site-footer-lower {
          margin-top: 64px;
        }

        .site-footer-contacts {
          grid-template-columns: 1fr;
          gap: 0;
        }

        .site-footer-contact {
          min-height: 100px;
          padding: 20px 0;
        }

        .site-footer-contact + .site-footer-contact::before,
        .site-footer-contact:nth-child(3)::before {
          top: 0;
          right: 0;
          bottom: auto;
          left: 0;
          display: block;
          width: 100%;
          height: 1px;
        }

        .site-footer-legal-row {
          gap: 30px;
          margin-top: 48px;
        }

        .site-footer-cookie {
          justify-self: start;
        }

        .reveal-item,
        .company-stat-card.reveal-item,
        .hero-title.reveal-item {
          opacity: 1;
          --reveal-y: 0px;
          transform: none;
          transition: none;
          will-change: auto;
        }

        .header-tool-button.reveal-item,
        .header-tool-button.reveal-item.is-visible {
          top: 0;
          opacity: 1;
          animation: none;
          transform: none;
          transition: none;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        .header-tool-button.reveal-item.is-visible {
          top: 0;
          opacity: 1;
          animation: none;
        }

        .history-card,
        .history-card.is-incoming,
        .history-card-outgoing,
        .history-card.is-incoming .history-figure,
        .history-card.is-incoming .history-card-title,
        .history-card.is-incoming .history-description,
        .history-card-outgoing .history-card-title,
        .history-card-outgoing .history-description,
        .history-year-digit-track,
        .production-gallery-viewport,
        .production-gallery-arrow,
        .certificate-pdf-icon,
        .certificate-download,
        .certificate-pdf-icon img,
        .certificate-download-icon img,
        .client-more,
        .client-more img,
        .client-card.has-details,
        .client-logo,
        .client-details,
        .faq-item,
        .faq-question img,
        .faq-answer,
        .timeline-dot,
        .timeline-label {
          transition: none;
          animation: none;
        }
      }
}
