/* Shared components and integrations. */

@font-face {
  font-family: "Golos Text";
  src: url("/assets/fonts/golos-text-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Golos Text";
  src: url("/assets/fonts/golos-text-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Explicit page themes replace selector-specific navbar overrides. */
.theme-dark .nav-div {
  background-color: #22222a;
  min-height: 3.25rem;
  box-sizing: border-box;
}

.theme-dark .nav-bg:not(.color-gray) {
  background-color: #22222a;
}

.theme-light .nav-div {
  background-color: #ffffff0d;
}

.theme-light .nav-bg,
.nav-bg.color-gray {
  background-color: #f4f4f4;
}

/* Native interactive states. */
.pop-up-wrapper,
.pop-up-contact,
.pop-up-pdf {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 200ms ease, visibility 200ms ease;
}

.pop-up-wrapper.is-open,
.pop-up-contact.is-open,
.pop-up-pdf.is-open {
  display: flex !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.has-open-popup,
body.has-open-menu {
  overflow: hidden;
}

.accordion-content,
.accordion-content---brix {
  max-height: 0;
  transition: max-height 300ms ease;
}

.accordion-item-2 .second-line,
.accordion-item.accordion .second-line {
  transition: transform 300ms ease;
}

.accordion-item-2.is-open .second-line,
.accordion-item.accordion.is-open .second-line {
  transform: rotate(0deg);
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-image: none;
  position: relative;
}

.w-checkbox-input--inputType-custom.w--redirected-checked::after {
  content: "";
  border: solid #fff;
  border-width: 0 2px 2px 0;
  width: 3px;
  height: 7px;
  position: absolute;
  top: 0;
  left: 4px;
  transform: rotate(45deg);
}

.lottie-animation::before,
.lottie-animation::after {
  content: "";
  background: currentColor;
  border-radius: 2px;
  width: 20px;
  height: 2px;
  position: absolute;
  left: 6px;
  transition: transform 220ms ease, top 220ms ease;
}

.lottie-animation::before {
  top: 10px;
  box-shadow: 0 5px 0 currentColor;
}

.lottie-animation::after {
  top: 20px;
}

.menu-button.w--open .lottie-animation::before {
  top: 15px;
  box-shadow: none;
  transform: rotate(45deg);
}

.menu-button.w--open .lottie-animation::after {
  top: 15px;
  transform: rotate(-45deg);
}

.stick-block._2,
.stick-block._3 {
  opacity: 0;
}

@media screen and (max-width: 991px) {
  .w-nav[data-collapse="medium"] .w-nav-menu.is-open {
    display: flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

:root {
        --chat--color--primary: #ff5a3d;
        --chat--color--primary-shade-50: #f04d31;
        --chat--color--primary--shade-100: #d93e25;

        --chat--color--secondary: #ffffff;
        --chat--color-dark: #0b0d12;
        --chat--color-light: #f6f7fb;
        --chat--color-white: #ffffff;

        --chat--font-family: "Manrope", "Inter", "Segoe UI", Arial, sans-serif;
        --chat--border-radius: 18px;

        --chat--window--width: min(400px, calc(100vw - 24px));
        --chat--window--height: min(660px, calc(100vh - 112px));
        --chat--window--border-radius: 22px;
        --chat--window--border: 1px solid rgba(255, 255, 255, 0.14);

        --chat--header--background: linear-gradient(135deg, #10131b 0%, #1d202a 55%, #ff5a3d 160%);
        --chat--header--color: #ffffff;
        --chat--heading--font-size: 18px;
        --chat--subtitle--font-size: 14px;

        --chat--body--background: linear-gradient(180deg, #f8f9fc 0%, #eef1f6 100%);
        --chat--footer--background: #f8f9fc;

        --chat--message--font-size: 15px;
        --chat--message--border-radius: 16px;
        --chat--message--bot--background: #ffffff;
        --chat--message--bot--color: #171a22;
        --chat--message--user--background: linear-gradient(135deg, #ff6a4e 0%, #f0442b 100%);
        --chat--message--user--color: #ffffff;

        --chat--toggle--size: 62px;
        --chat--toggle--border-radius: 999px;
        --chat--toggle--background: linear-gradient(135deg, #ff6a4e 0%, #f0442b 100%);
        --chat--toggle--hover--background: linear-gradient(135deg, #ff765f 0%, #ff5136 100%);

        --chat--input--border-radius: 999px;
        --chat--input--background: #ffffff;
        --chat--input--text-color: #11141c;
        --chat--input--border-active: 1px solid rgba(255, 90, 61, 0.48);

        --chat--input--send--button--color: #ff5a3d;
        --chat--input--send--button--color-hover: #d93e25;
      }

      /* Дополнительная полировка */
      .chat-window,
      .chat-layout {
        overflow: hidden;
        box-shadow: 0 28px 90px rgba(0, 0, 0, 0.34), 0 12px 28px rgba(0, 0, 0, 0.2);
      }

      .chat-message {
        max-width: 82%;
        box-shadow: 0 10px 26px rgba(17, 20, 28, 0.08);
      }

      .chat-message-from-user {
        box-shadow: 0 12px 30px rgba(240, 68, 43, 0.24);
      }

      .chat-window-toggle,
      .chat-toggle {
        box-shadow: 0 18px 44px rgba(240, 68, 43, 0.36);
      }

      .chat-window-toggle:hover,
      .chat-toggle:hover {
        transform: translateY(-2px);
      }

      @media (max-width: 480px) {
        :root {
          --chat--window--width: calc(100vw - 20px);
          --chat--window--height: calc(100vh - 98px);
          --chat--toggle--size: 56px;
        }

        .chat-message {
          max-width: 88%;
        }
      }

.gtranslate_wrapper {
        position: relative;
        display: inline-block !important;
        background: transparent !important;
        font: inherit !important;
      }

      .gtranslate_wrapper .gt-current {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: #fff;
        background: transparent;
        border: 0;
        box-shadow: none;
        cursor: pointer;
        font: inherit;
        line-height: 1;
        padding: 0;
        user-select: none;
      }

      .gtranslate_wrapper .gt-current::after {
        content: "▾";
        font-size: 12px;
        line-height: 1;
        opacity: .9;
      }

      .gtranslate_wrapper .gt-dropdown {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        min-width: 72px;
        padding: 8px 10px;
        border-radius: 10px;
        background: rgba(15, 15, 15, .92);
        backdrop-filter: blur(8px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .18s ease, visibility .18s ease;
        z-index: 9999;
      }

      .gtranslate_wrapper.is-open .gt-dropdown {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
      }

      .gtranslate_wrapper .glink {
        display: block;
        color: #fff !important;
        background: transparent !important;
        text-decoration: none !important;
        border: 0 !important;
        box-shadow: none !important;
        font: inherit !important;
        line-height: 1.2 !important;
        padding: 6px 0 !important;
        opacity: .72;
      }

      .gtranslate_wrapper .glink:hover,
      .gtranslate_wrapper .glink.gt-current-lang {
        opacity: 1;
      }

      .gtranslate_wrapper #google_translate_element2 {
        display: none !important;
      }

.gtranslate_wrapper,
.gtranslate_wrapper a,
.gtranslate_wrapper span,
.gtranslate_wrapper .gt_selected,
.gtranslate_wrapper .gt_selected a,
.gtranslate_wrapper .gt_option a {
  color: #fff !important;
}

.gtranslate_wrapper .gt_selected,
.gtranslate_wrapper .gt_selected a,
.gtranslate_wrapper .gt_option,
.gtranslate_wrapper .gt_option a {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.gtranslate_wrapper .gt_option a:hover,
.gtranslate_wrapper .gt_option a:focus,
.gtranslate_wrapper .gt_selected a:hover {
  background: transparent !important;
  color: #fff !important;
}

.gtranslate_wrapper img {
  border-radius: 999px;
}

:root {
              --circle-peak: 3rem;
              --circle-final: 2rem;
              --label-kick: -1rem;
            }

            /* ── Resting state ── */
            .btn-circle {
              transform: translateX(0) scale(0.2);
              opacity: 0;
            }

            .arrow-05 {
              transform: translateX(-8px) scale(0.4);
              opacity: 0;
            }

            /* ── Hover: burst out ── */
            .licuid-button:hover .btn-label {
              animation: labelSqueeze 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
            }

            .licuid-button:hover .btn-circle {
              animation: circleBurst 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
            }

            .licuid-button:hover .arrow-05 {
              animation: arrowBurst 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.05s forwards;
            }

            /* ── Leave: suck back ── */
            .licuid-button.is-leaving .btn-label {
              animation: labelReturn 0.3s cubic-bezier(0.55, 0, 1, 0.45) forwards;
            }

            .licuid-button.is-leaving .btn-circle {
              animation: circleSuck 0.3s cubic-bezier(0.55, 0, 1, 0.45) forwards;
            }

            .licuid-button.is-leaving .arrow-05 {
              animation: arrowSuck 0.3s cubic-bezier(0.55, 0, 1, 0.45) forwards;
            }

            /* ── Keyframes ── */

            /* label nudges left + squeezes slightly, returns to origin */
            @keyframes labelSqueeze {
              0% {
                transform: translateX(0) scale(1);
              }

              30% {
                transform: translateX(calc(var(--label-kick) - 2px)) scale(0.96);
              }

              65% {
                transform: translateX(calc(var(--label-kick) + 1px)) scale(0.98);
              }

              100% {
                transform: translateX(var(--label-kick)) scale(1);
              }
            }

            @keyframes circleBurst {
              0% {
                transform: translateX(0) scale(0.2);
                opacity: 0;
              }

              20% {
                transform: translateX(10px) scaleX(1.3) scaleY(0.75);
                opacity: 0.7;
              }

              65% {
                transform: translateX(calc(var(--circle-peak) + 5px)) scaleX(0.93) scaleY(1.07);
                opacity: 1;
              }

              78% {
                transform: translateX(var(--circle-peak)) scale(1.04);
                opacity: 1;
              }

              90% {
                transform: translateX(calc(var(--circle-final) + 3px)) scale(0.97);
                opacity: 1;
              }

              100% {
                transform: translateX(var(--circle-final)) scale(1);
                opacity: 1;
              }
            }

            @keyframes arrowBurst {
              0% {
                transform: translateX(-10px) scale(0.3);
                opacity: 0;
              }

              30% {
                transform: translateX(4px) scaleX(1.3) scaleY(0.7);
                opacity: 0.6;
              }

              65% {
                transform: translateX(-1px) scaleX(0.9) scaleY(1.1);
                opacity: 0.9;
              }

              100% {
                transform: translateX(0) scale(1);
                opacity: 1;
              }
            }

            /* label returns from left nudge back to 0 */
            @keyframes labelReturn {
              0% {
                transform: translateX(var(--label-kick)) scale(1);
              }

              40% {
                transform: translateX(2px) scale(0.97);
              }

              100% {
                transform: translateX(0) scale(1);
              }
            }

            @keyframes circleSuck {
              0% {
                transform: translateX(var(--circle-final));
                opacity: 1;
              }

              30% {
                transform: translateX(calc(var(--circle-final) + 4px)) scaleX(1.2) scaleY(0.8);
                opacity: 1;
              }

              70% {
                transform: translateX(8px) scaleX(0.6) scaleY(0.6);
                opacity: 0.5;
              }

              100% {
                transform: translateX(0) scale(0.2);
                opacity: 0;
              }
            }

            @keyframes arrowSuck {
              0% {
                transform: translateX(0) scale(1);
                opacity: 1;
              }

              50% {
                transform: translateX(5px) scaleX(0.5);
                opacity: 0.4;
              }

              100% {
                transform: translateX(-8px) scale(0.2);
                opacity: 0;
              }
            }

            #cursor {
              display: inline-block;
              margin-left: 5px;
            }

            .blink {
              animation: blink-animation 1s steps(2, start) infinite;
            }

            @keyframes blink-animation {
              to {
                visibility: hidden;
              }
            }

            #typewriter {
              display: inline-block;
              position: relative;
            }

            #typewriter::after {
              content: "|";
              margin-left: 5px;
              color: #B20B0C;
              /* ← твой цвет */
              animation: blink 1s infinite;
            }

            @keyframes blink {

              0%,
              50%,
              100% {
                opacity: 1;
              }

              25%,
              75% {
                opacity: 0;
              }
            }

            /* Make text look crisper and more legible in all browsers */
            body {
              -webkit-font-smoothing: antialiased;
              -moz-osx-font-smoothing: grayscale;
              font-smoothing: antialiased;
              text-rendering: optimizeLegibility;
            }

            /* Focus state style for keyboard navigation for the focusable elements */
            *[tabindex]:focus-visible,
            input[type="file"]:focus-visible {
              outline: 0.125rem solid #4d65ff;
              outline-offset: 0.125rem;
            }

            /* Set color style to inherit */
            .inherit-color * {
              color: inherit;
            }

            /* Get rid of top margin on first element in any rich text element */
            .w-richtext> :not(div):first-child,
            .w-richtext>div:first-child> :first-child {
              margin-top: 0 !important;
            }

            /* Get rid of bottom margin on last element in any rich text element */
            .w-richtext>:last-child,
            .w-richtext ol li:last-child,
            .w-richtext ul li:last-child {
              margin-bottom: 0 !important;
            }


            /* Make sure containers never lose their center alignment */
            .container-medium,
            .container-small,
            .container-large {
              margin-right: auto !important;
              margin-left: auto !important;
            }

            /* 
Make the following elements inherit typography styles from the parent and not have hardcoded values. 
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
            /*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
}
*/

            /* Apply "..." after 3 lines of text */
            .text-style-3lines {
              display: -webkit-box;
              overflow: hidden;
              -webkit-line-clamp: 3;
              -webkit-box-orient: vertical;
            }

            /* Apply "..." after 2 lines of text */
            .text-style-2lines {
              display: -webkit-box;
              overflow: hidden;
              -webkit-line-clamp: 2;
              -webkit-box-orient: vertical;
            }

            /* These classes are never overwritten */
            .hide {
              display: none !important;
            }

            @media screen and (max-width: 991px) {

              .hide,
              .hide-tablet {
                display: none !important;
              }
            }

            @media screen and (max-width: 767px) {
              .hide-mobile-landscape {
                display: none !important;
              }
            }

            @media screen and (max-width: 479px) {
              .hide-mobile {
                display: none !important;
              }
            }

            .margin-0 {
              margin: 0rem !important;
            }

            .padding-0 {
              padding: 0rem !important;
            }

            .spacing-clean {
              padding: 0rem !important;
              margin: 0rem !important;
            }

            .margin-top {
              margin-right: 0rem !important;
              margin-bottom: 0rem !important;
              margin-left: 0rem !important;
            }

            .padding-top {
              padding-right: 0rem !important;
              padding-bottom: 0rem !important;
              padding-left: 0rem !important;
            }

            .margin-right {
              margin-top: 0rem !important;
              margin-bottom: 0rem !important;
              margin-left: 0rem !important;
            }

            .padding-right {
              padding-top: 0rem !important;
              padding-bottom: 0rem !important;
              padding-left: 0rem !important;
            }

            .margin-bottom {
              margin-top: 0rem !important;
              margin-right: 0rem !important;
              margin-left: 0rem !important;
            }

            .padding-bottom {
              padding-top: 0rem !important;
              padding-right: 0rem !important;
              padding-left: 0rem !important;
            }

            .margin-left {
              margin-top: 0rem !important;
              margin-right: 0rem !important;
              margin-bottom: 0rem !important;
            }

            .padding-left {
              padding-top: 0rem !important;
              padding-right: 0rem !important;
              padding-bottom: 0rem !important;
            }

            .margin-horizontal {
              margin-top: 0rem !important;
              margin-bottom: 0rem !important;
            }

            .padding-horizontal {
              padding-top: 0rem !important;
              padding-bottom: 0rem !important;
            }

            .margin-vertical {
              margin-right: 0rem !important;
              margin-left: 0rem !important;
            }

            .padding-vertical {
              padding-right: 0rem !important;
              padding-left: 0rem !important;
            }

            .arrow-circle {
              transition: transform 0.3s ease;
            }

            .button-secondary:hover .arrow-circle {
              animation: pulse 1.5s infinite;
              transform: translateX(4px);
            }

            @keyframes pulse {
              0% {
                box-shadow: 0 0 0 0px rgba(255, 255, 255, 0.7);
              }

              50% {
                box-shadow: 0 0 0 8px rgba(255, 255, 255, 0);
              }

              100% {
                box-shadow: 0 0 0 0px rgba(255, 255, 255, 0);
              }
            }

            .text-auto-conteyner {
              overflow: auto;
              scrollbar-width: thin;
              /* Firefox */
              scrollbar-color: rgba(128, 128, 128, 0.35) transparent;
              /* Firefox: thumb track */
            }

            /* Chrome, Safari, Edge */
            .text-auto-conteyner::-webkit-scrollbar {
              width: 1px !important;
            }

            .text-auto-conteyner::-webkit-scrollbar-track {
              background: transparent;
            }

            .text-auto-conteyner::-webkit-scrollbar-thumb {
              background: rgba(128, 128, 128, 0.35);
              border-radius: 1px !important;
            }

            /* Wave image animation */
            .wave-card-amim {
              position: absolute;
              left: -100%;
              top: -100%;
              transition: left 0.5s ease, top 0.5s ease;
            }

            .case-tab-box:hover .wave-card-amim {
              left: -50%;
              top: -50%;
            }

            /* Benefits tag animation */
            .benifits-tag {
              transition: color 0.3s ease, border-color 0.3s ease;
            }

            .case-tab-box:hover .benifits-tag {
              background: #eb0410;
              border: 1px solid #eb0410;
              animation: tag-pulse 1.5s infinite;
            }

            @keyframes tag-pulse {
              0% {
                box-shadow: 0 0 0 0px rgba(255, 255, 255, 0.5);
              }

              50% {
                box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
              }

              100% {
                box-shadow: 0 0 0 0px rgba(255, 255, 255, 0);
              }
            }

            .article-img {
              transition: background-size 0.5s ease;
            }

            /* При наведении на article-box — картинка увеличивается на 15% */
            .article-box:hover .article-img {
              background-size: 115%;
            }

            /* Кружок скрыт по умолчанию */
            .circle-hover-article {
              opacity: 0;
              transition: opacity 0.35s ease;
            }

            /* При наведении — кружок появляется */
            .article-box:hover .circle-hover-article {
              opacity: 1;
            }

            .article-box:hover .text-size-medium {
              opacity: 0.7;
            }

            .category-list {
              transform: translateY(4rem);
              transition: transform 0.35s ease;
            }

            .article-box:hover .category-list {
              transform: translateY(0);
            }

            .crambls-text {
              display: -webkit-box;
              -webkit-line-clamp: 1;
              -webkit-box-orient: vertical;
              overflow: hidden;
              max-width: 54ch;
              /* 34 символа */
              white-space: nowrap;
              text-overflow: ellipsis;
            }

            .pulse-ring {
              position: absolute;
              inset: 0;
              border-radius: inherit;
              pointer-events: none;
              z-index: 0;
            }

            @keyframes white-pulse {
              0% {
                box-shadow: 0 0 0 0 rgba(255, 255, 255, 1);
              }

              60% {
                box-shadow: 0 0 0 12px rgba(255, 255, 255, 0);
              }

              100% {
                box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
              }
            }

            @keyframes black-pulse {
              0% {
                box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.65);
              }

              60% {
                box-shadow: 0 0 0 12px rgba(0, 0, 0, 0);
              }

              100% {
                box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
              }
            }

            .pulse-ring.is-white {
              animation: white-pulse 1.2s ease-out forwards;
            }

            .pulse-ring.is-black {
              animation: black-pulse 1.2s ease-out forwards;
            }
            }

            .w-nav-overlay {
              top: 0 !important;
              position: fixed !important;
            }

            /* Desktop hover effects inside testy-box */
            @media (hover: hover) and (min-width: 992px) {

              /* Pointer hand — hidden by default, revealed on card hover */
              .testy-box .pointer-hand {
                opacity: 0;
                transform: translateY(4px);
                transition: opacity 0.3s ease, transform 0.3s ease;
                pointer-events: none;
              }

              .testy-box:hover .pointer-hand {
                opacity: 1;
                transform: translateY(0);
              }

              /* Mirror the existing .small-cta-text:hover state when the card is hovered */
              .testy-box:hover .small-cta-text {
                background-color: #ffffff;
                color: #22222a;
              }

              /* Firefox: thin always-visible scrollbar, white thumb */
              .case-left-auto {
                scrollbar-width: thin;
                scrollbar-color: #ffffff transparent;
              }

              /* WebKit (Chrome, Safari, Edge, Android Chrome) */
              .case-left-auto::-webkit-scrollbar {
                -webkit-appearance: none;
                height: 6px;
                /* horizontal scrollbar height */
                width: 6px;
                /* in case the area also scrolls vertically */
              }

              .case-left-auto::-webkit-scrollbar-track {
                background: transparent;
              }

              .case-left-auto::-webkit-scrollbar-thumb {
                background: #ffffff;
                border-radius: 3px;
              }
