@charset "UTF-8";

html {
   scroll-padding-top: 100px;
   scroll-behavior: smooth;
}

* {
   padding: 0;
   margin: 0;
   border: 0;
   -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
   -webkit-tap-highlight-color: transparent;
   scrollbar-color: #f51515 #444;
   scrollbar-width: thin;
}

*::-webkit-scrollbar-thumb {
   background-color: #f51515;
}

*::-webkit-scrollbar-track {
   background-color: #444;
}

*::-webkit-scrollbar-button {
   display: none;
   background-color: #f51515;
}

*::-webkit-scrollbar {
   width: 8px;
}

*,
*:before,
*:after {
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
}

:focus,
:active {
   outline: none;
}

a:focus,
a:active {
   outline: none;
}

nav,
footer,
header,
aside {
   display: block;
}

html,
body {
   height: auto;
   min-height: 100%;
   width: 100%;
   font-size: 100%;
   -ms-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
}

input::-ms-clear {
   display: none;
}

button {
   cursor: pointer;
}

button::-moz-focus-inner {
   padding: 0;
   border: 0;
}

a,
a:visited {
   text-decoration: none;
}

a:hover {
   text-decoration: none;
}

a,
button {
   -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
   -webkit-tap-highlight-color: transparent;
   background: transparent;
   font-family: inherit;
}

ul li {
   list-style: none;
}

img {
   vertical-align: top;
   max-width: 100%;
}

@font-face {
   font-family: coolvetica;
   font-display: swap;
   src: url("../fonts/coolvetica-regular.woff2") format("woff2"), url("../fonts/coolvetica-regular.woff") format("woff");
   font-weight: 400;
   font-style: normal;
}

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

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

html {
   scroll-behavior: smooth;
}

.wrapper {
   min-height: 100%;
   display: flex;
   flex-direction: column;
   font-family: Inter;
   font-size: 16px;
   color: #000;
   overflow: hidden;
   width: 100%;
}

main {
   flex: 1 1 auto;
}

body._lock {
   overflow: hidden;
   position: relative;
}

body._lock::after {
   content: "";
   display: block;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.6);
   z-index: 1;
}

.container {
   width: min(100% - 80px, 1660px);
   margin-inline: auto;
}

@media (max-width: 1200px) {
   .container {
      width: min(100% - 32px, 1660px);
   }
}

/*------------------------------РџСЂРµР»РѕР°РґРµСЂ---------------------------*/
.preloader {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 999;
   background: #414141;
   display: flex;
   align-items: center;
   overflow: hidden;
   justify-content: center;
   padding: 20px;
}

.preloader__content {
   display: flex;
   flex-direction: column;
   align-items: center;
   max-width: 520px;
   width: 100%;
}

.preloader__fix {
   margin: 0 0 20px;
   padding: 10px 18px;
   border-radius: 999px;
   background: linear-gradient(15deg, #f05205, #ff9600, #ffd000);
   color: #111;
   font-family: Coolvetica, sans-serif;
   font-size: 16px;
   font-weight: 500;
   line-height: 1.25;
   letter-spacing: 0.2px;
   text-align: center;
   box-shadow: 0 8px 28px rgba(240, 82, 5, 0.35);
   animation: preloaderBenefitIn 0.45s ease forwards;
}

.preloader__title {
   font-size: 22px;
   letter-spacing: 0.5px;
   text-align: center;
   margin-top: 24px;
   color: #fff;
   font-weight: 500;
}

.preloader__benefits {
   list-style: none;
   margin-top: 20px;
   padding: 0;
   width: 100%;
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.preloader__benefits li {
   color: rgba(255, 255, 255, 0.92);
   font-size: 15px;
   line-height: 1.4;
   text-align: center;
   padding: 8px 14px;
   border-radius: 12px;
   background: rgba(255, 255, 255, 0.08);
   opacity: 0;
   transform: translateY(8px);
   animation: preloaderBenefitIn 0.5s ease forwards;
}

.preloader__benefits li:nth-child(1) { animation-delay: 0.1s; }
.preloader__benefits li:nth-child(2) { animation-delay: 0.25s; }
.preloader__benefits li:nth-child(3) { animation-delay: 0.4s; }
.preloader__benefits li:nth-child(4) { animation-delay: 0.55s; }
.preloader__benefits li:nth-child(5) { animation-delay: 0.7s; }
.preloader__benefits li:nth-child(6) { animation-delay: 0.85s; }

@keyframes preloaderBenefitIn {
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

.preloader__item {
   width: 200px;
   height: 200px;
}

@media (max-width: 500px) {
   .preloader__fix {
      margin-bottom: 14px;
      padding: 8px 14px;
      font-size: 14px;
   }

   .preloader__title {
      font-size: 18px;
      margin-top: 16px;
   }

   .preloader__benefits li {
      font-size: 13px;
      padding: 6px 10px;
   }

   .preloader__item {
      width: 100px;
      height: 100px;
   }
}

.preloader__bg {
   position: relative;
   width: 200px;
   padding: 15px;
   height: 200px;
}

@media (max-width: 500px) {
   .preloader__bg {
      width: 100px;
      height: 100px;
   }
}

.preloader__bg::after {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   border-radius: 50%;
   background: -webkit-linear-gradient(15deg, #f05205, #ff9600, #ffd000);
   background: linear-gradient(15deg, #f05205, #ff9600, #ffd000);
   z-index: 1;
   animation: rotating 1s linear infinite 0s, shadowed 10s linear infinite 0s;
}

.preloader__img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 50%;
   z-index: 2;
   position: relative;
}

@keyframes rotating {
   0% {
      transform: rotate(0deg);
   }

   100% {
      transform: rotate(360deg);
   }
}

@keyframes shadowed {
   0% {
      box-shadow: 0 0 10px #ff9600;
   }

   50% {
      box-shadow: 10px 10px 50px #ff9600;
   }

   100% {
      box-shadow: 0 0 10px #ff9600;
   }
}

/*-----------------------------------------Header------------------------------------------------*/
.header {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 99;
   overflow: hidden;
}

@media (min-width: 1201px) {
   .header {
      overflow: visible;
   }

   .header__body,
   .header__menu,
   .menu__body {
      overflow: visible;
   }
}

.tg-channel-bar {
   display: none;
}

body.contacts-docked .contacts-dock .tg-channel-bar--dock {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 10px;
   width: 100%;
   margin-top: 8px;
   padding: 12px 16px;
   border-radius: 24px;
   background: linear-gradient(165deg, #2bb0ee 0%, #1a8bc4 100%);
   color: #fff;
   text-decoration: none;
   font-size: 14px;
   line-height: 1.2;
   border: 1px solid rgba(255, 255, 255, 0.16);
   box-shadow:
      0 12px 28px rgba(26, 139, 196, 0.35),
      0 0 0 1px rgba(255, 255, 255, 0.08) inset;
}

body.contacts-docked .contacts-dock .tg-channel-bar--dock:hover,
body.contacts-docked .contacts-dock .tg-channel-bar--dock:focus-visible {
   background: linear-gradient(165deg, #1b9ed9 0%, #1578a8 100%);
   color: #fff;
}

body.contacts-docked.contacts-collapsed .contacts-dock .tg-channel-bar--dock {
   margin-top: 6px;
   padding: 10px 12px;
}

.tg-channel-bar__icon {
   flex: 0 0 auto;
}

.tg-channel-bar__icon svg {
   display: block;
   width: 18px;
   height: 18px;
   fill: currentColor;
}

.tg-channel-bar__text {
   flex: 1 1 auto;
   min-width: 0;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.tg-channel-bar__short {
   display: none;
}

.tg-channel-bar__cta {
   flex: 0 0 auto;
   padding: 6px 12px;
   border-radius: 999px;
   background: #fff;
   color: #1a8bc4;
   font-weight: 600;
   font-size: 13px;
}

@media (max-width: 900px) {
   body.contacts-docked .contacts-dock .tg-channel-bar--dock {
      border-radius: 20px;
      padding: 10px 14px;
      font-size: 13px;
   }
}

@media (max-width: 700px) {
   body.contacts-docked .contacts-dock .tg-channel-bar--dock {
      padding: 9px 12px;
      font-size: 13px;
      gap: 8px;
   }

   .tg-channel-bar__full {
      display: none;
   }

   .tg-channel-bar__short {
      display: inline;
   }
}

.header__body {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: calc(20px + 100 * ((100vw - 320px) / 1600));
   padding: 20px 0;
}

@media (max-width: 1440px) {
   .header__body {
      gap: 30px;
   }
}

.header__logo {
   flex: 0 1 96px;
   position: relative;
   z-index: 3;
   transition: all 0.5s ease 0s;
   transform: translateY(-100px);
}

.header__logo.element-animation.element-show {
   transform: translateY(0);
}

.header__logo-link,
.header__logo-link a {
   display: block;
   width: 100%;
   height: 100%;
}

.header__logo-link img,
.header__logo-link a img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.header__menu {
   flex: 1;
}

.header__contacts {
   display: flex;
   align-items: center;
   gap: 20px;
   transition: transform 0.35s ease, opacity 0.35s ease;
}

.header__contacts-inner {
   display: flex;
   align-items: center;
   gap: 20px;
   will-change: transform;
   transition: transform 0.25s ease, background 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease, border-radius 0.35s ease;
}

.contacts-dock {
   display: none;
   position: fixed;
   top: auto;
   left: auto;
   right: max(16px, calc((100vw - 1660px) / 2 + 40px));
   bottom: calc(20px + env(safe-area-inset-bottom));
   z-index: 92;
   margin: 0;
   width: auto;
   max-width: min(460px, calc(100vw - 32px));
   filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.45));
}

.contacts-dock .header__contacts-inner {
   position: relative;
   display: flex;
   align-items: center;
   gap: 20px;
   will-change: auto;
   transition: background 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease, border-radius 0.35s ease;
}

body.contacts-docked .contacts-dock {
   display: flex;
   flex-direction: column;
}

.contacts-dock .header__contacts-head,
.contacts-dock .header__contacts-toggle {
   display: none;
}

.contacts-dock .header__contacts-title {
   margin: 0;
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 18px;
   line-height: 1;
   letter-spacing: 0.02em;
}

.contacts-dock .header__contacts-toggle {
   flex-shrink: 0;
   width: 36px;
   height: 36px;
   border: 1px solid rgba(255, 255, 255, 0.18);
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.08);
   color: #fff;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: background 0.2s ease, transform 0.25s ease;
}

.contacts-dock .header__contacts-toggle svg {
   width: 18px;
   height: 18px;
   transform: rotate(90deg);
   transition: transform 0.25s ease;
}

.contacts-dock .header__contacts-toggle:hover {
   background: rgba(255, 255, 255, 0.16);
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__contacts-toggle svg {
   transform: rotate(-90deg);
}

.contacts-dock .header__contacts-nudge {
   display: none;
   pointer-events: none;
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__contacts-nudge {
   display: block;
   position: absolute;
   right: 0;
   bottom: calc(100% + 12px);
   left: 0;
   z-index: 1;
   pointer-events: none;
}

.contacts-dock .header__contacts-nudge-bubble {
   position: relative;
   display: inline-flex;
   align-items: flex-start;
   gap: 8px;
   max-width: min(320px, calc(100vw - 48px));
   margin-left: auto;
   padding: 12px 14px 12px 12px;
   border-radius: 18px 18px 4px 18px;
   border: 2px solid rgba(245, 21, 21, 0.75);
   background: linear-gradient(135deg, #fff7d6 0%, #ffe8f0 55%, #fff 100%);
   box-shadow:
      0 10px 28px rgba(245, 21, 21, 0.22),
      0 2px 0 rgba(255, 255, 255, 0.85) inset;
   color: #1a1a22;
   font-family: Inter, sans-serif;
   font-size: 14px;
   font-weight: 600;
   line-height: 1.35;
   transform-origin: right bottom;
   animation: contactsNudgePop 0.55s cubic-bezier(0.34, 1.4, 0.64, 1), contactsNudgeFloat 3.2s ease-in-out 0.55s infinite;
}

.contacts-dock .header__contacts-nudge-bubble::after {
   content: "";
   position: absolute;
   right: 22px;
   bottom: -10px;
   width: 18px;
   height: 18px;
   background: linear-gradient(135deg, #fff0e8 0%, #fff7d6 100%);
   border-right: 2px solid rgba(245, 21, 21, 0.75);
   border-bottom: 2px solid rgba(245, 21, 21, 0.75);
   transform: rotate(45deg);
   border-bottom-right-radius: 4px;
}

.contacts-dock .header__contacts-nudge-emoji {
   flex-shrink: 0;
   font-size: 22px;
   line-height: 1;
   transform: rotate(-8deg);
}

.contacts-dock .header__contacts-nudge-text {
   display: block;
   transition: opacity 0.22s ease, transform 0.22s ease;
}

.contacts-dock .header__contacts-nudge.is-switching .header__contacts-nudge-text,
.contacts-dock .header__contacts-nudge.is-switching .header__contacts-nudge-emoji {
   opacity: 0;
   transform: translateY(6px) scale(0.96);
}

@keyframes contactsNudgePop {
   0% {
      opacity: 0;
      transform: scale(0.72) rotate(4deg);
   }

   100% {
      opacity: 1;
      transform: scale(1) rotate(-1.5deg);
   }
}

@keyframes contactsNudgeFloat {
   0%,
   100% {
      transform: translateY(0) rotate(-1.5deg);
   }

   50% {
      transform: translateY(-6px) rotate(1deg);
   }
}

body.contacts-docked.contacts-collapsed .contacts-dock {
   overflow: visible;
}

body.contacts-docked .contacts-dock .header__contacts-inner {
   flex-direction: column;
   align-items: stretch;
   gap: 14px;
   padding: 18px 20px 16px;
   border-radius: 24px;
   background: linear-gradient(165deg, rgba(28, 28, 34, 0.98) 0%, rgba(12, 12, 16, 0.99) 100%);
   backdrop-filter: blur(16px);
   box-shadow:
      0 18px 48px rgba(0, 0, 0, 0.55),
      0 0 0 2px rgba(245, 21, 21, 0.55),
      0 0 32px rgba(245, 21, 21, 0.22);
   border: 1px solid rgba(255, 255, 255, 0.14);
}

body.contacts-docked .contacts-dock .header__contacts-head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   padding-bottom: 2px;
   border-bottom: 1px solid rgba(245, 21, 21, 0.45);
}

body.contacts-docked .contacts-dock .header__contacts-title {
   display: block;
   flex: 1;
   min-width: 0;
   white-space: nowrap;
}

body.contacts-docked .contacts-dock .header__contacts-toggle {
   display: inline-flex;
}

body.contacts-docked .contacts-dock .header__contacts-body {
   display: flex;
   flex-direction: column;
   gap: 14px;
   overflow: hidden;
   max-height: 480px;
   opacity: 1;
   transition: max-height 0.35s ease, opacity 0.25s ease, gap 0.25s ease;
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__contacts-inner {
   flex-direction: row;
   flex-wrap: nowrap;
   align-items: center;
   gap: 10px;
   padding: 10px 12px;
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__contacts-head {
   display: flex;
   flex: 0 0 auto;
   padding-bottom: 0;
   border-bottom: none;
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__contacts-title {
   display: block;
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__contacts-body {
   flex: 1 1 auto;
   min-width: 0;
   max-height: none;
   opacity: 1;
   gap: 0;
   pointer-events: auto;
   overflow: visible;
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__email,
body.contacts-docked.contacts-collapsed .contacts-dock .header__socials,
body.contacts-docked.contacts-collapsed .contacts-dock .header__contacts-calc {
   display: none !important;
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__reach {
   flex-direction: row;
   align-items: center;
   gap: 0;
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__telephone {
   max-width: 100%;
   font-size: 15px;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

body.contacts-docked.contacts-collapsed .contacts-dock .header__telephone--free {
   overflow: visible;
   white-space: normal;
   max-width: none;
}

body.contacts-docked .contacts-dock .header__reach {
   flex-direction: column;
   align-items: flex-start;
   gap: 8px;
}

body.contacts-docked .contacts-dock .header__telephone,
body.contacts-docked .contacts-dock .header__email {
   opacity: 1;
   transform: none;
   font-size: 19px;
   font-weight: 600;
}

body.contacts-docked .contacts-dock .header__telephone span,
body.contacts-docked .contacts-dock .header__email span {
   display: inline !important;
   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

body.contacts-docked .contacts-dock .header__telephone--free {
   display: flex !important;
   align-items: flex-start;
   color: #fff;
}

body.contacts-docked .contacts-dock .header__telephone--free .header__phone {
   display: flex !important;
   flex-direction: column;
   align-items: flex-start;
   gap: 2px;
   line-height: 1.15;
}

body.contacts-docked .contacts-dock .header__telephone--free .header__phone-num,
body.contacts-docked .contacts-dock .header__telephone--free .header__phone-free {
   display: block !important;
   white-space: nowrap;
}

body.contacts-docked .contacts-dock .header__telephone--free .header__phone-num {
   color: #fff;
   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

body.contacts-docked .contacts-dock .header__telephone--free .header__phone-free {
   text-shadow: none;
   font-size: 10px;
   color: #ffd000;
}

body.contacts-docked .contacts-dock .header__telephone--free::after {
   display: none !important;
   content: none !important;
}

body.contacts-docked .contacts-dock .header__telephone svg,
body.contacts-docked .contacts-dock .header__email svg {
   display: none !important;
}

body.contacts-docked .contacts-dock .header__socials {
   justify-content: flex-start;
   gap: 10px;
   padding-top: 4px;
}

body.contacts-docked .contacts-dock .header__contact {
   flex: 0 0 42px;
   width: 42px;
   height: 42px;
   padding: 7px;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.08);
   border: 1px solid rgba(255, 255, 255, 0.16);
   transform: none;
   opacity: 1;
   position: relative;
   z-index: 2;
   -webkit-tap-highlight-color: transparent;
}

body.contacts-docked .contacts-dock .header__contact svg,
body.contacts-docked .contacts-dock .header__contact img {
   pointer-events: none;
}

.contacts-dock .header__contacts-calc {
   display: none;
}

body.contacts-docked .contacts-dock .header__contacts-calc {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   min-height: 46px;
   margin-top: 2px;
   padding: 12px 18px;
   border: none;
   border-radius: 500px;
   background: #f51515;
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 17px;
   line-height: 1;
   cursor: pointer;
   transition: background 0.2s ease, transform 0.2s ease;
   box-shadow: 0 8px 24px rgba(245, 21, 21, 0.35);
}

body.contacts-docked .contacts-dock .header__contacts-calc:hover {
   background: #c40c0c;
}

@media (max-width: 900px) {
   body.contacts-docked .contacts-dock {
      left: 12px;
      right: 12px;
      bottom: calc(12px + env(safe-area-inset-bottom));
      max-width: none;
   }

   body.contacts-docked .contacts-dock .header__contacts-inner {
      flex-direction: column;
      align-items: stretch;
      gap: 12px;
      padding: 16px 16px 14px;
      border-radius: 20px;
   }

   body.contacts-docked .contacts-dock .header__contacts-title {
      font-size: 16px;
   }

   body.contacts-docked.contacts-collapsed .contacts-dock .header__contacts-inner {
      padding: 10px 12px;
   }

   body.contacts-docked.contacts-collapsed .contacts-dock .header__telephone {
      font-size: 14px;
   }

   body.contacts-docked.contacts-collapsed .contacts-dock .header__contacts-nudge {
      left: 0;
      right: 0;
   }

   .contacts-dock .header__contacts-nudge-bubble {
      max-width: 100%;
      font-size: 13px;
      padding: 10px 12px;
   }

   body.contacts-docked .contacts-dock .header__reach {
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
   }

   body.contacts-docked .contacts-dock .header__socials {
      justify-content: flex-start;
   }
}

@media (min-width: 1201px) {
   .header__contacts-inner {
      flex-direction: column;
      align-items: flex-end;
      gap: 12px;
   }
}

.header__reach {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   gap: 4px;
}

@media (max-width: 1300px) {
   .header__contacts {
      gap: 10px;
      margin-left: auto;
      position: relative;
      z-index: 3;
   }

   .header__contacts-inner {
      flex-direction: row;
      align-items: center;
      gap: 10px;
   }

   .header__reach {
      flex-direction: row;
      align-items: center;
      gap: 14px;
   }
}

.header__socials {
   display: flex;
   align-items: center;
}

.header__contact {
   flex: 0 0 34px;
   width: 34px;
   height: 34px;
   padding: 5px;
   transition: all 0.5s ease 0.8s;
   transform: translateY(-100%);
   opacity: 0;
}

.header__contact svg {
   width: 100%;
   height: 100%;
   object-fit: contain;
   color: #fff;
   transition: all 0.3s ease 0s;
}

.header__contact--max img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   transition: all 0.3s ease 0s;
}

.header__contact.element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

@media (max-width: 500px) {
   .header__contact {
      transition: all 0.5s ease 0.1s;
   }
}

.header__contact:nth-child(1):hover img,
.header__contact:nth-child(1):hover svg {
   transform: scale(1.1);
   filter: brightness(1.15);
}

.header__contact:nth-child(2):hover svg {
   color: #0088cc;
   transform: scale(1.1);
}

.header__contact:nth-child(3):hover svg {
   color: #25d366;
   transform: scale(1.1);
}

.header__telephone,
.header__email {
   color: rgb(255, 255, 255);
   font-family: Inter;
   font-size: 18px;
   font-weight: 600;
   line-height: 150%;
   letter-spacing: -2%;
   transition: all 0.3s ease 0s;
   text-align: left;
   white-space: nowrap;
   transition: all 0.5s ease 0.9s;
   transform: translateY(-100%);
   opacity: 0;
   display: inline-flex;
   align-items: center;
   gap: 8px;
}

.header__telephone span,
.header__email span {
   transition: all 0.3s ease 0s;
}

.header__telephone:hover span,
.header__email:hover span {
   color: #f51515;
}

.header__telephone--free {
   align-items: flex-start;
}

.header__phone {
   display: inline-flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 1px;
   line-height: 1.15;
}

.header__phone-num {
   white-space: nowrap;
}

.header__phone-free {
   font-family: Coolvetica, sans-serif;
   font-size: 11px;
   font-weight: 400;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   color: #ffd000;
   line-height: 1.2;
   position: relative;
   padding-left: 10px;
   animation: phone-free-glow 2.4s ease-in-out infinite;
}

.header__phone-free::before {
   content: "";
   position: absolute;
   left: 0;
   top: 50%;
   width: 6px;
   height: 6px;
   margin-top: -3px;
   border-radius: 50%;
   background: #ffd000;
   box-shadow: 0 0 0 0 rgba(255, 208, 0, 0.55);
   animation: phone-free-dot 2.4s ease-in-out infinite;
}

.header__telephone--free:hover .header__phone-free {
   color: #ff9600;
}

.header__telephone--free:hover .header__phone-free::before {
   background: #ff9600;
}

.header__telephone--city {
   font-size: 15px;
   font-weight: 500;
   line-height: 1.25;
   gap: 0;
}

.header__telephone--free + .header__telephone--city {
   margin-top: 2px;
}

.page-article .header__telephone--free + .header__telephone--city,
body.contacts-docked .contacts-dock .header__telephone--free + .header__telephone--city {
   padding-left: 42px;
}

.contacts__telephone {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.contacts__telephone-link--city {
   padding-left: 100px;
   font-size: calc(18px + 14 * ((100vw - 320px) / 1600));
}

@media (max-width: 600px) {
   .contacts__telephone-link--city {
      padding-left: 60px;
   }

   .page-article .header__telephone--free + .header__telephone--city,
   body.contacts-docked .contacts-dock .header__telephone--free + .header__telephone--city {
      padding-left: 0;
   }
}

body.contacts-docked .contacts-dock .header__telephone--city {
   color: rgba(255, 255, 255, 0.88);
}

.page-article .header__telephone--city {
   color: rgb(17, 19, 39);
}

.page-article .header__telephone--city:hover {
   color: #f51515;
}

@keyframes phone-free-glow {
   0%,
   100% {
      opacity: 0.88;
   }
   50% {
      opacity: 1;
   }
}

@keyframes phone-free-dot {
   0%,
   100% {
      box-shadow: 0 0 0 0 rgba(255, 208, 0, 0.5);
   }
   50% {
      box-shadow: 0 0 0 5px rgba(255, 208, 0, 0);
   }
}

.header__telephone.element-animation.element-show,
.header__email.element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.header__email {
   transition-delay: 0.95s;
   font-size: 16px;
   font-weight: 500;
}

.header__telephone svg,
.header__email svg {
   width: 24px;
   height: 24px;
   color: #fff;
   display: none;
   flex-shrink: 0;
}

@media (max-width: 1300px) {
   .header__telephone span,
   .header__email span {
      display: none;
   }

   .header__telephone svg,
   .header__email svg {
      display: block;
   }

   /* В шапке на узком экране — иконка + «0 ₽»; в нижнем доке номер всегда текстом */
   .header:not(.contacts-dock) .header__telephone--free {
      position: relative;
      padding-right: 10px;
      box-sizing: content-box;
   }

   .header:not(.contacts-dock) .header__telephone--free .header__phone {
      display: none;
   }

   .header:not(.contacts-dock) .header__telephone--free::after {
      content: "0 \20BD";
      position: absolute;
      right: 0;
      bottom: -3px;
      min-width: 16px;
      height: 13px;
      padding: 0 3px;
      border-radius: 6px;
      background: linear-gradient(15deg, #f05205, #ff9600, #ffd000);
      color: #111;
      font-family: Coolvetica, sans-serif;
      font-size: 9px;
      font-weight: 400;
      line-height: 13px;
      text-align: center;
      pointer-events: none;
      z-index: 1;
   }

   body.contacts-docked .contacts-dock .header__telephone--free .header__phone {
      display: flex !important;
   }

   body.contacts-docked .contacts-dock .header__telephone--free .header__phone-num,
   body.contacts-docked .contacts-dock .header__telephone--free .header__phone-free {
      display: block !important;
   }

   body.contacts-docked .contacts-dock .header__telephone--free svg {
      display: none !important;
   }
}

@media (max-width: 500px) {
   .header__telephone,
   .header__email {
      transition: all 0.5s ease 0.2s;
   }
}

@media (max-width: 1200px) {
   .menu {
      order: 1;
      flex: 0 0 50px;
   }
}

.menu__icon {
   display: none;
   will-change: transform;
   transition: all 0.5s ease 0.3s;
   transform: translateX(100%);
   opacity: 0;
}

@media (max-width: 1200px) {
   .menu__icon {
      display: block;
      width: 50px;
      height: 50px;
      position: relative;
      z-index: 3;
   }

   .menu__icon::before,
   .menu__icon::after,
   .menu__icon span {
      height: 2px;
      position: absolute;
      background-color: #fff;
      border-radius: 3px;
      transition: all 0.3s ease 0s;
      width: 100%;
   }

   .menu__icon::before,
   .menu__icon::after {
      content: "";
      left: 0;
   }

   .menu__icon::before {
      top: 10px;
   }

   .menu__icon::after {
      bottom: 10px;
   }

   .menu__icon span {
      top: 23px;
      right: 0;
      width: 70%;
   }

   .menu__icon._active::before {
      top: 23px;
      transform: rotate(45deg);
      background-color: #fff;
   }

   .menu__icon._active::after {
      top: 23px;
      transform: rotate(-45deg);
      background-color: #fff;
   }

   .menu__icon._active span {
      display: none;
   }
}

.menu__icon.element-animation.element-show {
   transform: translateX(0);
   opacity: 1;
}

@media (max-width: 1200px) {
   .menu__body {
      display: flex;
      flex-direction: column-reverse;
      position: fixed;
      width: 100%;
      top: 0;
      left: 0;
      padding: 150px 15px 10px 15px;
      transition: all 0.3s ease 0s;
      overflow: auto;
      background-color: rgba(34, 34, 34, 0.9294117647);
      opacity: 0;
      pointer-events: none;
      transform: translateY(-30px);
      z-index: 2;
      backdrop-filter: blur(3px);
      -webkit-backdrop-filter: blur(3px);
      -moz-backdrop-filter: blur(3px);
      -ms-backdrop-filter: blur(3px);
      height: 100%;
      justify-content: flex-end;
   }

   .menu__body._active {
      opacity: 1;
      pointer-events: visible;
      transform: translateY(0);
   }
}

.menu__list {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 10px;
}

@media (max-width: 1200px) {
   .menu__list {
      flex-direction: column;
      gap: 30px;
   }
}

.menu__list > li:nth-child(1) {
   transition: all 0.5s ease 0.2s;
   transform: translateY(-100%);
   opacity: 0;
}

.menu__list > li:nth-child(1).element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.menu__list > li:nth-child(2) {
   transition: all 0.5s ease 0.3s;
   transform: translateY(-100%);
   opacity: 0;
}

.menu__list > li:nth-child(2).element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.menu__list > li:nth-child(3) {
   transition: all 0.5s ease 0.4s;
   transform: translateY(-100%);
   opacity: 0;
}

.menu__list > li:nth-child(3).element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.menu__list > li:nth-child(4) {
   transition: all 0.5s ease 0.5s;
   transform: translateY(-100%);
   opacity: 0;
}

.menu__list > li:nth-child(4).element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.menu__list > li:nth-child(5) {
   transition: all 0.5s ease 0.6s;
   transform: translateY(-100%);
   opacity: 0;
}

.menu__list > li:nth-child(5).element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.menu__list > li:nth-child(6) {
   transition: all 0.5s ease 0.7s;
   transform: translateY(-100%);
   opacity: 0;
}

.menu__list > li:nth-child(6).element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.menu__list > li:nth-child(7) {
   transition: all 0.5s ease 0.8s;
   transform: translateY(-100%);
   opacity: 0;
}

.menu__list > li:nth-child(7).element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.menu__dropdown-btn {
   background: none;
   border: none;
   cursor: pointer;
   font: inherit;
   padding: 0;
}

.menu__dropdown-icon {
   width: 14px;
   height: 14px;
   color: #f51515;
   transition: transform 0.3s ease;
   flex-shrink: 0;
}

@media (min-width: 1201px) {
   .menu__list {
      justify-content: center;
      gap: 6px 20px;
      flex-wrap: nowrap;
   }

   .menu__link {
      font-size: 15px;
   }

   .menu__dropdown {
      position: relative;
      z-index: 20;
   }

   .menu__dropdown.is-open {
      z-index: 30;
   }

   .menu__dropdown-btn .menu__link-arrow {
      display: none;
   }

   .menu__dropdown-icon {
      transform: rotate(90deg);
   }

   .menu__dropdown:hover .menu__dropdown-icon,
   .menu__dropdown:focus-within .menu__dropdown-icon,
   .menu__dropdown.is-open .menu__dropdown-icon {
      transform: rotate(-90deg);
   }

   .menu__dropdown-panel {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%) translateY(8px);
      min-width: 220px;
      margin: 0;
      padding: 14px 0 10px;
      list-style: none;
      border-radius: 14px;
      background: rgba(22, 22, 28, 0.96);
      border: 1px solid rgba(255, 255, 255, 0.08);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
      z-index: 100;
   }

   .menu__dropdown-panel::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 14px;
   }

   .menu__dropdown:hover .menu__dropdown-panel,
   .menu__dropdown:focus-within .menu__dropdown-panel,
   .menu__dropdown.is-open .menu__dropdown-panel {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
   }

   .menu__dropdown-panel > li {
      opacity: 1;
      transform: none;
   }

   .menu__dropdown-link {
      display: block;
      padding: 10px 18px;
      color: #fff;
      font-family: Inter, sans-serif;
      font-size: 15px;
      line-height: 1.35;
      white-space: nowrap;
      transition: color 0.2s ease, background 0.2s ease;
   }

   .menu__dropdown-link:hover {
      color: #f51515;
      background: rgba(255, 255, 255, 0.04);
   }
}

@media (min-width: 1201px) and (max-width: 1500px) {
   .menu__list {
      gap: 6px 12px;
   }

   .menu__link {
      font-size: 14px;
   }
}

@media (max-width: 1200px) {
   .menu__dropdown {
      display: contents;
   }

   .menu__dropdown-btn {
      display: none;
   }

   .menu__dropdown-panel {
      display: contents;
      list-style: none;
   }

   .menu__dropdown-panel li {
      display: block;
   }

   .menu__dropdown-link {
      color: #fff;
      font-family: Inter, sans-serif;
      font-size: 18px;
      font-weight: 400;
      line-height: 122%;
      display: flex;
      align-items: center;
      gap: 6px;
      transition: color 0.3s ease;
   }

   .menu__dropdown-link::before {
      content: "";
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23f51515'%3E%3Cpath d='M8 4l8 6-8 6V4z'/%3E%3C/svg%3E") center/contain no-repeat;
   }
}

.menu__link {
   color: rgb(255, 255, 255);
   font-family: Inter;
   font-size: 18px;
   font-weight: 400;
   line-height: 122.222222%;
   /* 22px/18 */
   letter-spacing: -2%;
   white-space: nowrap;
   display: flex;
   align-items: center;
   gap: 6px;
   transition: all 0.3s ease 0s;
}

@media (min-width: 1000px) {
   .menu__link:hover {
      color: #f51515;
   }

   .menu__link:hover .menu__link-arrow {
      max-width: 20px;
   }
}

.menu__link-arrow {
   max-width: 0;
   transition: all 0.3s ease 0s;
   width: 20px;
   height: 20px;
   color: #f51515;
}

.menu__link--accent {
   padding: 7px 15px;
   border-radius: 500px;
   background: rgba(245, 21, 21, 0.14);
   border: 1px solid rgba(245, 21, 21, 0.42);
   color: #fff !important;
   font-weight: 500;
   box-shadow: none;
   animation: menu-accent-soft 3.5s ease-in-out infinite;
}

@keyframes menu-accent-soft {
   0%,
   100% {
      background: rgba(245, 21, 21, 0.12);
      border-color: rgba(245, 21, 21, 0.35);
   }

   50% {
      background: rgba(245, 21, 21, 0.2);
      border-color: rgba(245, 21, 21, 0.55);
   }
}

@media (prefers-reduced-motion: reduce) {
   .menu__link--accent {
      animation: none;
   }
}

.menu__link--accent .menu__link-arrow {
   display: none;
}

@media (min-width: 1000px) {
   .menu__link--accent:hover {
      background: rgba(245, 21, 21, 0.28);
      border-color: rgba(245, 21, 21, 0.65);
      color: #fff !important;
      animation: none;
   }

   .menu__link--accent:hover .menu__link-arrow {
      max-width: 0;
   }
}

@media (min-width: 1201px) {
   .menu__link--accent {
      padding: 6px 13px;
      font-size: 14px;
   }
}

@media (max-width: 1200px) {
   .menu__link--accent {
      padding: 11px 22px;
      font-size: 20px;
   }
}

.page-article .menu__link--accent {
   color: #f51515 !important;
   background: rgba(245, 21, 21, 0.07);
   border-color: rgba(245, 21, 21, 0.28);
}

@media (min-width: 1000px) {
   .page-article .menu__link--accent:hover {
      color: #f51515 !important;
      background: rgba(245, 21, 21, 0.14);
      border-color: rgba(245, 21, 21, 0.45);
   }
}

/*------------------------------Home---------------------------*/
.home {
   background: url(../img/main-bg.png) center/cover no-repeat;
   min-height: 100svh;
}

.home__body {
   padding: 170px 0 0;
   position: relative;
   z-index: 2;
}

@media (min-width: 1001px) {
   body.home-advantages-settled .home__body {
      padding-bottom: 132px;
   }
}

.home-go {
   position: absolute;
   top: 80vh;
   left: 50%;
   transform: translateX(-50%);
   z-index: 93;
   font-size: 12px;
   color: #fff;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   animation: jumpedArrow 6s ease 1s infinite;
   pointer-events: auto;
}

.home-go-icon {
   display: block;
   width: 60px;
   height: 60px;
   border-radius: 50%;
   background: rgba(0, 0, 0, 0.2);
   backdrop-filter: blur(3px);
   display: flex;
   align-items: center;
   justify-content: center;
}


@media (min-width: 1000px) {
   .home-go-icon:hover svg {
      color: #c40c0c;
   }
}


@keyframes jumpedArrow {

   0%,
   100% {
      transform: translateY(0) translateX(-50%);
   }

   50% {
      transform: translateY(30%) translateX(-50%);
   }

}

.home-go-icon svg {
   width: 32px;
   height: 32px;
   object-fit: contain;
   color: #fff;
   transform: rotate(90deg);
   transition: all 0.3s ease 0s;
}

@media (max-width: 550px) {
   .home-go {
      top: 90svh;
   }

   .home-go span {
      display: none;
   }

   .home-go-icon {
      width: 40px;
      height: 40px;
   }

   .home-go-icon svg {
      width: 26px;
      height: 26px;
   }
}

.scroll-top {
   position: fixed;
   right: 24px;
   bottom: calc(24px + env(safe-area-inset-bottom));
   z-index: 88;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 6px;
   padding: 0;
   border: none;
   background: none;
   color: rgb(17, 19, 39);
   font-size: 12px;
   cursor: pointer;
   opacity: 0;
   visibility: hidden;
   transform: translateY(18px) scale(0.92);
   transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
}

.scroll-top.is-visible {
   opacity: 1;
   visibility: visible;
   transform: translateY(0) scale(1);
}

.scroll-top__icon {
   width: 52px;
   height: 52px;
   border-radius: 50%;
   background: #fff;
   border: 1px solid rgba(17, 19, 39, 0.08);
   box-shadow: 0 8px 28px rgba(17, 19, 39, 0.12);
   display: flex;
   align-items: center;
   justify-content: center;
   transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.25s ease;
}

.scroll-top__icon svg {
   width: 28px;
   height: 28px;
   color: #f51515;
   transform: rotate(-90deg);
   transition: transform 0.35s ease, color 0.25s ease;
}

.scroll-top__label {
   font-family: Inter, sans-serif;
   font-size: 11px;
   color: rgb(68, 68, 68);
}

.scroll-top:hover .scroll-top__icon,
.scroll-top:focus-visible .scroll-top__icon {
   background: #f51515;
   box-shadow: 0 10px 32px rgba(245, 21, 21, 0.28);
}

.scroll-top:hover .scroll-top__icon svg,
.scroll-top:focus-visible .scroll-top__icon svg {
   color: #fff;
   transform: rotate(-90deg) translateY(-2px);
}

.scroll-top.is-launching .scroll-top__icon {
   animation: scroll-top-launch 0.75s ease forwards;
}

@keyframes scroll-top-launch {
   0% {
      transform: translateY(0) scale(1);
   }

   35% {
      transform: translateY(-8px) scale(1.08);
   }

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

body.contacts-docked .scroll-top {
   bottom: calc(150px + env(safe-area-inset-bottom));
}

@media (max-width: 900px) {
   body.contacts-docked .scroll-top {
      bottom: calc(140px + env(safe-area-inset-bottom));
   }

   .scroll-top {
      right: 16px;
   }

   .scroll-top__label {
      display: none;
   }
}

@media (max-width: 1500px) {
   .home__body {
      padding: 135px 0 0;
   }
}

@media (max-width: 500px) {
   .home__body {
      padding: 135px 0 20px;
      min-height: 100svh;
   }
}

.home__title {
   color: rgb(255, 255, 255);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   letter-spacing: 0%;
   text-align: center;
   max-width: 953px;
   margin-inline: auto;
   margin-bottom: 20px;
   font-size: calc(30px + 60 * ((100vw - 320px) / 1600));
   transition: all 0.5s ease 1s;
   opacity: 0;
   transform: translateY(30px);
}

.home__title-fix {
   display: block;
   margin-bottom: 14px;
   font-size: 1em;
   line-height: 1.05;
   letter-spacing: 0.01em;
   background: linear-gradient(90deg, #fff 0%, #ffd59a 55%, #ff9600 100%);
   -webkit-background-clip: text;
   background-clip: text;
   color: transparent;
   -webkit-text-fill-color: transparent;
}

.home__title-main {
   display: block;
   font-size: 0.48em;
   line-height: 1.15;
   opacity: 0.92;
   font-weight: 400;
   letter-spacing: 0.02em;
}

.home__title-sub {
   display: block;
   margin-top: 10px;
   font-size: 0.72em;
   opacity: 0.95;
   letter-spacing: 0.02em;
}

.home__proof {
   text-align: center;
   margin: 0 auto 18px;
   opacity: 0;
   transform: translateY(20px);
   transition: all 0.5s ease 1.05s;
}

.home__proof.element-animation.element-show {
   opacity: 1;
   transform: translateY(0);
}

.home__proof-link {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 8px 16px;
   border-radius: 999px;
   border: 1px solid rgba(255, 208, 0, 0.45);
   background: rgba(255, 255, 255, 0.1);
   color: #ffe7b0;
   font-family: Inter, sans-serif;
   font-size: 14px;
   line-height: 1.3;
   text-decoration: none;
   transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.home__proof-link:hover {
   background: rgba(255, 208, 0, 0.16);
   border-color: rgba(255, 208, 0, 0.75);
   color: #fff;
}

@media (max-width: 500px) {
   .home__proof {
      transition: all 0.5s ease 0.55s;
      margin-bottom: 14px;
   }

   .home__proof-link {
      font-size: 13px;
      padding: 7px 12px;
   }

   .home__title-fix {
      margin-bottom: 10px;
   }

   .home__title-main {
      font-size: 0.52em;
   }
}

.home__title.element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

@media (max-width: 500px) {
   .home__title {
      transition: all 0.5s ease 0.5s;
      opacity: 0;
      transform: translateY(30px);
   }

   .home__title.element-animation.element-show {
      transform: translateY(0);
      opacity: 1;
   }
}

.home__since {
   display: block;
   width: fit-content;
   margin: 20px auto 24px;
   padding: 12px 28px;
   border-radius: 40px;
   border: 2px solid #fff;
   background: #f51515;
   color: #fff;
   font-family: Inter, sans-serif;
   font-weight: 700;
   font-size: calc(16px + 10 * ((100vw - 320px) / 1600));
   letter-spacing: 0.06em;
   text-align: center;
   text-transform: uppercase;
   box-shadow: 0 4px 24px rgba(245, 21, 21, 0.55), 0 0 0 4px rgba(245, 21, 21, 0.2);
   transition: all 0.5s ease 0.9s;
   opacity: 0;
   transform: translateY(20px);
}

@media (max-width: 500px) {
   .home__since {
      padding: 10px 20px;
      font-size: 15px;
      letter-spacing: 0.04em;
      margin-bottom: 18px;
   }
}

.home__since.element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

a.home__since {
   text-decoration: none;
   cursor: pointer;
}

a.home__since:hover {
   filter: brightness(1.08);
}

.home__offer {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 8px;
   max-width: 900px;
   margin: 0 auto 24px;
   padding: 0;
   list-style: none;
   transition: all 0.5s ease 1.2s;
   opacity: 0;
   transform: translateY(20px);
}

.home__offer li {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   padding: 6px 14px;
   border-radius: 30px;
   border: 1px solid rgba(255, 255, 255, 0.45);
   background: rgba(255, 255, 255, 0.12);
   color: #fff;
   font-family: Inter, sans-serif;
   font-weight: 600;
   font-size: calc(12px + 2 * ((100vw - 320px) / 1600));
   white-space: nowrap;
}

.home__offer-icon {
   width: 14px;
   height: 14px;
   flex: 0 0 auto;
   opacity: 0.92;
   fill: currentColor;
}

.home__offer.element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

@media (max-width: 500px) {
   .home__offer {
      gap: 6px;
      margin-bottom: 18px;
   }

   .home__offer li {
      padding: 5px 10px;
      font-size: 11px;
      gap: 5px;
      white-space: normal;
   }

   .home__offer-icon {
      width: 12px;
      height: 12px;
   }
}

@keyframes homeOfferBadgeIn {
   from {
      opacity: 0;
      transform: scale(0.86) translateY(12px);
   }

   to {
      opacity: 1;
      transform: scale(1) translateY(0);
   }
}

@keyframes homeOfferIconPulse {
   0%,
   100% {
      transform: scale(1);
      opacity: 0.9;
   }

   50% {
      transform: scale(1.22);
      opacity: 1;
   }
}

@keyframes homeOfferBadgeGlow {
   0%,
   100% {
      border-color: rgba(255, 255, 255, 0.42);
      background: rgba(255, 255, 255, 0.12);
      box-shadow: 0 0 0 rgba(255, 255, 255, 0);
   }

   50% {
      border-color: rgba(255, 255, 255, 0.82);
      background: rgba(255, 255, 255, 0.22);
      box-shadow: 0 0 14px rgba(255, 255, 255, 0.18);
   }
}

.home__offer-badge {
   opacity: 0;
}

.home__offer.element-animation.element-show .home__offer-badge {
   animation:
      homeOfferBadgeIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards,
      homeOfferBadgeGlow 3s ease-in-out infinite;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(1) {
   animation-delay: 0.08s, 0s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(2) {
   animation-delay: 0.18s, 0.35s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(3) {
   animation-delay: 0.28s, 0.7s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(4) {
   animation-delay: 0.38s, 1.05s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(5) {
   animation-delay: 0.48s, 1.4s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(6) {
   animation-delay: 0.58s, 1.75s;
}

.home__offer.element-animation.element-show .home__offer-icon {
   animation: homeOfferIconPulse 2.6s ease-in-out infinite;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(1) .home__offer-icon {
   animation-delay: 0.9s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(2) .home__offer-icon {
   animation-delay: 1.1s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(3) .home__offer-icon {
   animation-delay: 1.3s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(4) .home__offer-icon {
   animation-delay: 1.5s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(5) .home__offer-icon {
   animation-delay: 1.7s;
}

.home__offer.element-animation.element-show .home__offer-badge:nth-child(6) .home__offer-icon {
   animation-delay: 1.9s;
}

@keyframes homeSinceReveal {
   from {
      opacity: 0;
      transform: translateY(20px) scale(0.94);
   }

   to {
      opacity: 1;
      transform: translateY(0) scale(1);
   }
}

@keyframes homeSinceTrustPulse {
   0%,
   100% {
      box-shadow:
         0 4px 24px rgba(245, 21, 21, 0.55),
         0 0 0 4px rgba(245, 21, 21, 0.2);
      transform: translateY(0) scale(1);
   }

   50% {
      box-shadow:
         0 10px 36px rgba(245, 21, 21, 0.82),
         0 0 0 10px rgba(255, 255, 255, 0.14);
      transform: translateY(0) scale(1.04);
   }
}

@keyframes homeSinceShine {
   0% {
      left: -120%;
   }

   100% {
      left: 140%;
   }
}

@keyframes homeSinceCheckPop {
   0% {
      opacity: 0;
      transform: scale(0.4) rotate(-20deg);
   }

   70% {
      transform: scale(1.15) rotate(0deg);
   }

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

.home__since-trust {
   position: relative;
   overflow: hidden;
   transition: none;
   margin-bottom: 12px;
}

.home__cargo-plus {
   display: block;
   width: fit-content;
   margin: 0 auto 22px;
   padding: 8px 20px;
   border-radius: 30px;
   border: 1px solid rgba(255, 255, 255, 0.35);
   background: rgba(255, 255, 255, 0.1);
   backdrop-filter: blur(8px);
   color: rgba(255, 255, 255, 0.95);
   font-family: Inter, sans-serif;
   font-weight: 600;
   font-size: calc(14px + 5 * ((100vw - 320px) / 1600));
   letter-spacing: 0.02em;
   text-align: center;
   transition: all 0.55s ease 1.05s;
   opacity: 0;
   transform: translateY(14px);
}

.home__cargo-plus-brand {
   color: #fff;
   font-weight: 700;
   text-shadow: 0 0 12px rgba(245, 21, 21, 0.45);
}

.home__cargo-plus.element-animation.element-show {
   opacity: 1;
   transform: translateY(0);
}

@media (max-width: 500px) {
   .home__cargo-plus {
      margin-bottom: 16px;
      padding: 7px 14px;
      font-size: 14px;
   }
}

.home__since-trust::before {
   content: '\2713';
   display: inline-block;
   margin-right: 8px;
   font-size: 1.05em;
   line-height: 1;
   opacity: 0;
}

.home__since-trust.element-animation.element-show {
   animation:
      homeSinceReveal 0.65s ease 0.9s forwards,
      homeSinceTrustPulse 2.8s ease-in-out 1.7s infinite;
}

.home__since-trust.element-animation.element-show::before {
   animation: homeSinceCheckPop 0.55s ease 1.35s forwards;
}

.home__since-trust.element-animation.element-show::after {
   content: '';
   position: absolute;
   top: 0;
   left: -120%;
   width: 55%;
   height: 100%;
   background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.28), transparent);
   pointer-events: none;
   animation: homeSinceShine 3.6s ease-in-out 2s infinite;
}

@media (prefers-reduced-motion: reduce) {
   .home__offer-badge,
   .home__offer.element-animation.element-show .home__offer-badge,
   .home__offer.element-animation.element-show .home__offer-icon,
   .home__since-trust.element-animation.element-show,
   .home__since-trust.element-animation.element-show::before,
   .home__since-trust.element-animation.element-show::after,
   .home__advantages:not(.is-settled) .home__advantages-item.element-animation.element-show,
   .home__advantages.is-settled .home__advantages-item.element-animation.element-show {
      animation: none !important;
      opacity: 1;
      transform: none;
   }
}

.home__subtitle {
   color: rgba(255, 255, 255, 0.92);
   font-family: Inter, sans-serif;
   font-weight: 400;
   line-height: 1.45;
   letter-spacing: 0;
   text-align: center;
   max-width: 720px;
   margin-inline: auto;
   margin-bottom: 28px;
   font-size: calc(15px + 7 * ((100vw - 320px) / 1600));
   transition: all 0.5s ease 1.1s;
   opacity: 0;
   transform: translateY(30px);
}

.home__subtitle.element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

@media (max-width: 500px) {
   .home__subtitle {
      transition: all 0.5s ease 0.6s;
      opacity: 0;
      transform: translateY(30px);
   }

   .home__subtitle.element-animation.element-show {
      transform: translateY(0);
      opacity: 1;
   }
}

.home__image {
   max-width: 1400px;
   width: 72.7%;
   /* 1396px/1920 */
   margin-inline: auto;
   position: relative;
   padding-bottom: 48%;
   margin-top: -50px;
}

.home__image img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.home__image .container-img {
   perspective: 1000px;
}

.home__image .animated-image {
   transition: all 0.2s ease 0s;
}

@media (max-width: 1000px) {
   .home__image {
      margin-top: 0;
   }
}

@media (max-width: 700px) {
   .home__image {
      width: 100%;
      margin: 30px 0;
   }
}

@media (max-width: 500px) {
   .home__image {
      padding-bottom: 60%;
   }
}

.home__circle {
   position: absolute;
   top: 22%;
   right: 0;
   width: 21.428571%;
   aspect-ratio: 1/1;
   max-width: 300px;
   border-radius: 50%;
   background: #f51515;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: rgb(255, 255, 255);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   letter-spacing: -2%;
   text-align: center;
   min-width: 130px;
   font-size: calc(14px + 14 * ((100vw - 320px) / 1600));
   transition: all 0.8s ease 1.2s;
   transform: scale(0) rotate(180deg);
}

@media (max-width: 700px) {
   .home__circle {
      top: 10px;
   }
}

.home__circle.element-animation.element-show {
   transform: scale(1) rotate(360deg);
}

@media (max-width: 500px) {
   .home__circle {
      aspect-ratio: unset;
      border-radius: 20px;
      text-align: left;
      padding: 8px 20px;
      width: auto;
      gap: 20px;
      right: unset;
      left: 50%;
      top: unset;
      bottom: 0;
      transform: translateX(0);
      transition: all 0.8s ease 1.2s;
      transform: scale(0);
   }

   .home__circle.element-animation.element-show {
      transform: scale(1) translateX(-50%);
   }
}

.home__circle-icon {
   background: rgb(255, 255, 255);
   color: #000;
   width: 30%;
   aspect-ratio: 1/1;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   position: absolute;
   bottom: 0;
   right: 0;
   transition: all 0.8s ease 1.3s;
   transform: scale(0) rotate(0deg);
}

.home__circle-icon.element-animation.element-show {
   transform: scale(1) rotate(360deg);
}

.home__circle-icon svg {
   width: 40%;
   aspect-ratio: 1/1;
   object-fit: contain;
   transition: all 0.3s ease 0s;
}

@media (max-width: 500px) {
   .home__circle-icon {
      position: static;
      width: 40px;
   }
}

.home__circle-icon:hover svg {
   color: #f51515;
   transform: scale(1.1);
}

.home__advantages {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 10px;
   max-width: 1080px;
   margin: 4px auto 18px;
   padding: 0 16px;
   position: relative;
   z-index: 4;
   width: 100%;
   transition:
      transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
      margin 0.75s cubic-bezier(0.22, 1, 0.36, 1),
      max-width 0.75s cubic-bezier(0.22, 1, 0.36, 1),
      padding 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.home__advantages.is-docking {
   z-index: 6;
   pointer-events: none;
}

.home__advantages.is-docking .home__advantages-item,
.home__advantages-item.is-docking {
   animation: none !important;
   will-change: transform;
}

.home__advantages.is-settled {
   position: absolute;
   bottom: 0;
   left: 0;
   max-width: none;
   margin: 0;
   padding: 0;
   display: flex;
   gap: 20px;
   transform: translateY(0);
}

@media (max-width: 1000px) {
   .home__body {
      display: flex;
      flex-direction: column;
   }

   .home__title,
   .home__proof,
   .home__since-trust,
   .home__cargo-plus,
   .home__subtitle,
   .home__offer {
      order: 1;
   }

   .home__advantages {
      order: 2;
      position: relative;
      margin: 0 auto 12px;
   }

   .home__image {
      order: 3;
   }

   .home-go {
      order: 4;
   }

   .home__advantages.is-settled {
      order: 5;
      position: relative;
      margin: 16px auto 0;
      padding: 0 16px;
   }
}

@media (max-width: 860px) {
   .home__advantages,
   .home__advantages.is-settled {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 10px;
   }
}

@media (max-width: 500px) {
   .home__advantages,
   .home__advantages.is-settled {
      gap: 8px;
      padding: 0 12px;
   }
}

.home__advantages-item {
   border-radius: 16px;
   backdrop-filter: blur(30px);
   background: rgba(0, 0, 0, 0.28);
   border: 1px solid rgba(255, 255, 255, 0.14);
   padding: 14px 16px;
   opacity: 0;
   transform: translateY(24px) scale(0.96);
   transition:
      opacity 0.55s ease,
      transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
      padding 0.75s cubic-bezier(0.22, 1, 0.36, 1),
      border-radius 0.75s cubic-bezier(0.22, 1, 0.36, 1),
      background 0.75s ease;
}

.home__advantages.is-settled .home__advantages-item {
   flex: 0 1 25%;
   border-radius: 20px 20px 0 0;
   background: rgba(0, 0, 0, 0.2);
   border-color: transparent;
   padding: 23px 40px;
}

@media (max-width: 1200px) {
   .home__advantages.is-settled .home__advantages-item {
      padding: 20px 20px;
   }
}

@media (max-width: 860px) {
   .home__advantages-item,
   .home__advantages.is-settled .home__advantages-item {
      border-radius: 16px;
      padding: 14px 14px;
   }
}

.home__advantages-item.element-animation.element-show {
   opacity: 1;
   transform: translateY(0) scale(1);
}

.home__advantages:not(.is-settled) .home__advantages-item.element-animation.element-show {
   animation: homeAdvantagesFloat 4.5s ease-in-out infinite;
}

.home__advantages:not(.is-settled) .home__advantages-item:nth-child(1).element-animation.element-show {
   animation-delay: 0s;
}

.home__advantages:not(.is-settled) .home__advantages-item:nth-child(2).element-animation.element-show {
   animation-delay: 0.35s;
}

.home__advantages:not(.is-settled) .home__advantages-item:nth-child(3).element-animation.element-show {
   animation-delay: 0.7s;
}

.home__advantages:not(.is-settled) .home__advantages-item:nth-child(4).element-animation.element-show {
   animation-delay: 1.05s;
}

.home__advantages-item:nth-child(1).element-animation.element-show {
   transition-delay: 0.05s;
}

.home__advantages-item:nth-child(2).element-animation.element-show {
   transition-delay: 0.15s;
}

.home__advantages-item:nth-child(3).element-animation.element-show {
   transition-delay: 0.25s;
}

.home__advantages-item:nth-child(4).element-animation.element-show {
   transition-delay: 0.35s;
}

@keyframes homeAdvantagesFloat {
   0%,
   100% {
      transform: translateY(0) scale(1);
   }

   50% {
      transform: translateY(-7px) scale(1.01);
   }
}

@keyframes homeAdvantagesDockIn {
   from {
      opacity: 0.85;
      filter: blur(2px);
   }

   to {
      opacity: 1;
      filter: blur(0);
   }
}

.home__advantages.is-docking {
   animation: homeAdvantagesDockIn 0.9s ease forwards;
}

.home__advantages-name {
   color: rgb(255, 255, 255);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   letter-spacing: 0%;
   text-align: left;
   margin-bottom: 20px;
   font-size: calc(20px + 40 * ((100vw - 320px) / 1600));
}

@media (max-width: 500px) {
   .home__advantages-name {
      margin-bottom: 10px;
   }
}

.home__advantages-text {
   color: rgb(255, 255, 255);
   font-family: Inter;
   font-weight: 400;
   line-height: 150%;
   letter-spacing: -2%;
   text-align: left;
   font-size: calc(14px + 4 * ((100vw - 320px) / 1600));
}

/*------------------------------Services---------------------------*/
.services {
   max-width: 100vw;
}

.services__body {
   padding: 120px 0 60px;
   position: relative;
   z-index: 1;
}

@media (max-width: 767px) {
   .services__body {
      padding: 40px 0;
   }
}

.services__body .decore-arrow-1 {
   position: absolute;
   top: -120px;
   z-index: -1;
   max-width: 100%;
   pointer-events: none;
}

.services__body .decore-arrow-1 svg {
   max-width: 100%;
}

@media (max-width: 600px) {
   .services__body .decore-arrow-1 {
      top: -200px;
   }

   .services__body .decore-arrow-1 svg {
      max-width: 100%;
      transform: rotate(10deg);
   }
}

.services__body .decore-arrow-2 {
   position: absolute;
   top: 100%;
   left: 16%;
   max-width: 100%;
   pointer-events: none;
}

.services__body .decore-arrow-2 svg {
   max-width: 100%;
}

@media (max-width: 600px) {
   .services__body .decore-arrow-2 {
      top: 95%;
      left: 0;
   }

   .services__body .decore-arrow-2 svg {
      max-width: 60%;
   }
}

.services__title {
   margin-bottom: 60px;
}

@media (max-width: 767px) {
   .services__title {
      margin-bottom: 30px;
   }
}

.services__items {
   display: flex;
   gap: 20px;
   position: relative;
   z-index: 2;
}

@media (max-width: 1280px) {
   .services__items {
      flex-direction: column;
   }
}

.services__item {
   flex: 0 1 33.333%;
   width: 100%;
}

.line {
   stroke-dasharray: 16, 16;
   /* Р”Р»РёРЅР° СЃРµРіРјРµРЅС‚Р° Рё РїСЂРѕР±РµР»Р° */
   stroke-dashoffset: 10000;
   /* Р”Р»РёРЅР° РїСѓС‚Рё Р»РёРЅРёРё (РґРѕР»Р¶РЅР° Р±С‹С‚СЊ РґРѕСЃС‚Р°С‚РѕС‡РЅРѕ Р±РѕР»СЊС€РѕР№) */
   animation: draw 250s linear infinite;
   /* РќР°СЃС‚СЂРѕР№С‚Рµ РґР»РёС‚РµР»СЊРЅРѕСЃС‚СЊ Р°РЅРёРјР°С†РёРё РїРѕ РІР°С€РµРјСѓ СѓСЃРјРѕС‚СЂРµРЅРёСЋ */
}

@keyframes draw {
   to {
      stroke-dashoffset: 0;
   }
}

.service {
   border-radius: 40px;
   background: url(../img/serv-cards-bg.png) 0 0/100% 100% no-repeat;
   display: flex;
   flex-direction: column;
}

.service__icon {
   width: 150px;
   height: 150px;
   margin: 40px 40px 130px 40px;
   pointer-events: none;
   user-select: none;
}

.service__icon img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   pointer-events: none;
}

@media (max-width: 1280px) {
   .service__icon {
      margin: 20px 20px 40px 20px;
   }
}

@media (max-width: 500px) {
   .service__icon {
      width: 120px;
      height: 120px;
      margin: 16px 16px 24px 16px;
   }
}

.service__text {
   margin-top: auto;
}

.service__name {
   padding: 0 40px;
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-size: 36px;
   font-weight: 400;
   line-height: 100%;
   margin-bottom: 20px;
}

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

.service__name a:hover {
   color: #f05205;
}

@media (max-width: 1500px) {
   .service__name {
      padding: 0 20px;
   }
}

.service__description {
   padding: 0 40px;
   color: rgb(86, 86, 86);
   font-family: Inter;
   font-size: 18px;
   font-weight: 400;
   line-height: 150%;
   letter-spacing: -2%;
   margin-bottom: 20px;
}

@media (max-width: 1500px) {
   .service__description {
      padding: 0 20px;
   }
}

.service__info {
   padding: 40px;
   display: flex;
   align-items: center;
   gap: 2px;
}

@media (max-width: 1500px) {
   .service__info {
      padding: 20px;
   }
}

.service__info-item {
   border-radius: 500px;
   background: rgb(255, 255, 255);
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 20px;
   padding: 10px 20px;
}

.service__info-item:hover svg {
   color: #f51515;
}

.service__info-item svg {
   width: 32px;
   height: 32px;
   object-fit: contain;
   color: #bcbcbc;
   transition: all 0.3s ease 0s;
}

.service__info-item span {
   color: rgb(17, 19, 39);
   font-size: 18px;
   font-weight: 600;
   line-height: 150%;
   letter-spacing: -2%;
   text-align: left;
   font-size: 18px;
}

@media (max-width: 1660px) {
   .service__info-item span {
      font-size: calc(14px + 4 * ((100vw - 320px) / 1340));
   }
}

@media (max-width: 550px) {
   .service__info-item {
      gap: 10px;
   }

   .service__info-item svg {
      width: 26px;
      height: 26px;
   }
}

.service__links {
   display: flex;
   align-items: center;
   justify-content: space-between;
   position: relative;
   z-index: 5;
}

.service__routes {
   position: relative;
   z-index: 2;
   display: none;
   flex-direction: column;
   align-items: flex-start;
   padding: 0 0 29px 40px;
}

@media (max-width: 1500px) {
   .service__routes {
      padding: 0 0 29px 20px;
   }
}

@media (max-width: 500px) {
   .service__routes {
      padding: 0 0 10px 20px;
   }
}

.routes-map-modal {
   position: fixed;
   inset: 0;
   z-index: 1140;
   display: none;
   align-items: center;
   justify-content: center;
   padding: 16px;
}

.routes-map-modal.is-open {
   display: flex;
}

.routes-map-modal__overlay {
   position: absolute;
   inset: 0;
   background: rgba(19, 19, 19, 0.78);
}

.routes-map-modal__dialog {
   position: relative;
   z-index: 1;
   width: min(100%, 720px);
   max-height: min(92vh, 820px);
   overflow: auto;
   padding: calc(18px + 14 * ((100vw - 320px) / 1600));
   border-radius: 28px;
   background: #fff;
   box-shadow: 0 28px 70px rgba(17, 19, 39, 0.28);
}

.routes-map-modal__close {
   position: absolute;
   top: 12px;
   right: 14px;
   width: 40px;
   height: 40px;
   border: none;
   border-radius: 50%;
   background: #f3f3f3;
   color: #111327;
   font-size: 26px;
   line-height: 1;
   cursor: pointer;
   z-index: 2;
}

.routes-map-modal__close:hover {
   background: #e8e8e8;
}

.routes-map-modal__title {
   margin: 0 48px 14px 0;
   color: rgb(17, 19, 39);
   font-family: Coolvetica, sans-serif;
   font-size: calc(24px + 8 * ((100vw - 320px) / 1600));
   line-height: 1.15;
}

body.opened-routes-map {
   overflow: hidden;
}

.route-map {
   --route-accent: #f51515;
   --route-line: rgba(245, 21, 21, 0.55);
   --route-bg: #f7f9fc;
   box-sizing: border-box;
   padding: 14px 14px 12px;
   border-radius: 20px;
   background-color: var(--route-bg);
   border: 1px solid rgba(17, 19, 39, 0.1);
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.route-map--mode-rail {
   --route-accent: #244a8f;
   --route-line: rgba(36, 74, 143, 0.55);
   --route-bg: #edf2fa;
}

.route-map--mode-air {
   --route-accent: #127ea2;
   --route-line: rgba(18, 126, 162, 0.55);
   --route-bg: #edf7fb;
}

.route-map__modes {
   display: flex;
   gap: 8px;
   margin-bottom: 12px;
}

.route-map__mode {
   flex: 1 1 0;
   padding: 8px 12px;
   border: 1px solid rgba(17, 19, 39, 0.1);
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.7);
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: 12px;
   font-weight: 700;
   cursor: pointer;
   transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.route-map__mode.is-active {
   background: var(--route-accent);
   border-color: var(--route-accent);
   color: #fff;
}

.route-map--mode-rail .route-map__mode.is-active {
   background: #244a8f;
   border-color: #244a8f;
}

.route-map--mode-air .route-map__mode.is-active {
   background: #127ea2;
   border-color: #127ea2;
}

.service__routes-link {
   display: flex;
   align-items: center;
   gap: 20px;
   padding: 0;
   border: none;
   background: none;
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   font-size: calc(16px + 6 * ((100vw - 320px) / 1600));
   cursor: pointer;
   text-align: left;
}

.service__routes-link.is-open span {
   color: #f51515;
   border-bottom-color: #f51515;
}

.service__routes-link span {
   border-bottom: 1px dashed #f51515;
   line-height: 120%;
}

.service__routes-link svg {
   width: 27px;
   height: 32px;
   object-fit: contain;
   color: #f51515;
}

.service__routes-link:hover span {
   color: #c40c0c;
}

.route-map__countries {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   gap: 10px;
   margin-bottom: 12px;
   padding: 8px 10px;
   border-radius: 12px;
   background: rgba(255, 255, 255, 0.85);
   border: 1px solid rgba(17, 19, 39, 0.06);
}

.route-map__country {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   font-family: Inter, sans-serif;
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 0.04em;
   text-transform: uppercase;
}

.route-map__country-dot {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   flex-shrink: 0;
   box-shadow: 0 0 0 2px #fff;
}

.route-map__country--ru {
   color: #111327;
}

.route-map__country--ru .route-map__country-dot {
   background: #111327;
}

.route-map__country--kz {
   color: #244a8f;
}

.route-map__country--kz .route-map__country-dot {
   background: #244a8f;
}

.route-map__country--cn {
   color: #c40c0c;
}

.route-map__country--cn .route-map__country-dot {
   background: #f51515;
}

.route-map__country-sep {
   color: rgba(17, 19, 39, 0.2);
   font-weight: 400;
   user-select: none;
}

.route-map__geo {
   margin-bottom: 10px;
   border-radius: 14px;
   overflow: hidden;
   background: #fff;
   border: 1px solid rgba(17, 19, 39, 0.08);
   height: 380px;
}

.route-map__leaflet {
   width: 100%;
   height: 100%;
}

.route-map__leaflet .leaflet-control-attribution {
   font-family: Inter, sans-serif;
   font-size: 10px;
}

.route-map__leaflet .leaflet-control-attribution,
.route-map__leaflet .leaflet-control-attribution a {
   display: none !important;
   visibility: hidden !important;
}

.route-map__leaflet-label {
   font-family: Inter, sans-serif;
   font-size: 11px;
   font-weight: 700;
   line-height: 1;
   padding: 6px 8px;
   border-radius: 10px;
   background: rgba(255, 255, 255, 0.92);
   border: 1px solid rgba(17, 19, 39, 0.12);
   box-shadow: 0 8px 18px rgba(17, 19, 39, 0.12);
   white-space: nowrap;
}

.route-map__leaflet-label--ru { color: #111327; }
.route-map__leaflet-label--kz { color: #244a8f; }
.route-map__leaflet-label--cn { color: #f51515; }

.route-map__leaflet-country {
   font-family: Inter, sans-serif;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   white-space: nowrap;
   pointer-events: none;
   opacity: 0.55;
}

.route-map__leaflet-country--ru { color: #111327; }
.route-map__leaflet-country--kz { color: #244a8f; }
.route-map__leaflet-country--cn { color: #f51515; }

.route-map__axis {
   stroke: rgba(17, 19, 39, 0.1);
   stroke-width: 1.5;
   stroke-dasharray: 6 6;
}

.route-map__land {
   vector-effect: non-scaling-stroke;
}

.route-map__land--ru {
   fill: rgba(17, 19, 39, 0.07);
   stroke: rgba(17, 19, 39, 0.2);
   stroke-width: 1.2;
}

.route-map__land--kz {
   fill: rgba(36, 74, 143, 0.08);
   stroke: rgba(36, 74, 143, 0.24);
   stroke-width: 1;
}

.route-map__land--cn {
   fill: rgba(245, 21, 21, 0.06);
   stroke: rgba(245, 21, 21, 0.2);
   stroke-width: 1;
}

.route-map__svg {
   display: block;
   width: 100%;
   height: auto;
}

.route-map__path {
   fill: none;
   stroke: var(--route-accent);
   stroke-width: 2.5;
   stroke-linecap: round;
   stroke-linejoin: round;
   opacity: 0.32;
   stroke-dasharray: 9 7;
   transition: opacity 0.2s ease, stroke-width 0.2s ease;
}

.route-map--mode-auto .route-map__path[data-mode]:not([data-mode="auto"]),
.route-map--mode-rail .route-map__path[data-mode]:not([data-mode="rail"]),
.route-map--mode-air .route-map__path[data-mode]:not([data-mode="air"]) {
   display: none;
}

.route-map__path.is-highlighted {
   opacity: 1;
   stroke-width: 3.5;
}

.route-map.is-focus-one .route-map__path:not(.is-highlighted) {
   opacity: 0.14;
}

.route-map__marker-dot {
   fill: #fff;
   stroke: var(--route-accent);
   stroke-width: 2.5;
}

.route-map__marker-dot--ru,
.route-map__marker-dot--end {
   fill: #111327;
   stroke: #111327;
}

.route-map__marker-dot--kz {
   fill: #fff;
   stroke: #244a8f;
   stroke-width: 2.5;
}

.route-map__marker-dot--cn {
   fill: #f51515;
   stroke: #fff;
   stroke-width: 2;
}

.route-map__marker-label {
   font-family: Inter, sans-serif;
   font-size: 10px;
   font-weight: 600;
   fill: #111327;
   text-anchor: middle;
}

.route-map__marker-label--ru {
   fill: #111327;
}

.route-map__marker-label--kz {
   fill: #244a8f;
   font-weight: 700;
}

.route-map__marker-label--cn {
   fill: #c40c0c;
   font-weight: 700;
}

.route-map__list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: 8px;
}

.route-map__item {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 9px 10px;
   border-radius: 12px;
   background: rgba(255, 255, 255, 0.72);
   border: 1px solid rgba(17, 19, 39, 0.06);
   cursor: default;
   transition: border-color 0.2s ease, background 0.2s ease;
}

.route-map__item.is-active {
   border-color: color-mix(in srgb, var(--route-accent) 35%, transparent);
   background: rgba(255, 255, 255, 0.92);
}

.route-map__item-line {
   flex: 0 0 28px;
   height: 3px;
   border-radius: 3px;
   background: linear-gradient(90deg, var(--route-accent), var(--route-line));
}

.route-map__item-cities {
   color: #111327;
   font-family: Inter, sans-serif;
   font-size: 11px;
   font-weight: 600;
   line-height: 1.35;
}

.route-map__list[hidden] {
   display: none;
}

@media (prefers-reduced-motion: reduce) {
   .route-map__path,
   .route-map__item {
      transition: none;
   }
}

@media (max-width: 900px) {
   .service__links {
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 12px;
   }

   .service__routes {
      flex: 1 1 100%;
      width: 100%;
      padding: 0 16px 12px;
      box-sizing: border-box;
   }

   .service__calc {
      flex: 1 1 100%;
      width: 100%;
      align-self: stretch;
   }

   .routes-map-modal__dialog {
      padding: 14px;
      border-radius: 22px;
   }

   .route-map__list {
      gap: 8px;
   }

   .route-map__item {
      padding: 8px 8px 6px;
   }

   .route-map__marker-label {
      font-size: 9px;
   }

   .route-map__item-cities {
      font-size: 10px;
   }
}

@media (max-width: 500px) {
   .route-map {
      padding: 10px 8px 8px;
   }

   .route-map__countries {
      gap: 8px;
      padding: 7px 8px;
   }

   .route-map__country {
      font-size: 10px;
   }

   .route-map__mode {
      font-size: 11px;
      padding: 7px 8px;
   }
}

@media (max-width: 1500px) {
   .service__routes-link {
      gap: 10px;
   }
}

.service__calc {
   display: flex;
   align-items: center;
   width: 54.730983%;
   align-self: end;
}

a.service__calc-link,
a.service__calc-link-icon {
   text-decoration: none;
   color: inherit;
   box-sizing: border-box;
}

@media (max-width: 1680px) {
   .service__calc-link {
      text-align: center !important;
   }
}

@media (max-width: 767px) {
   .service__calc-link {
      padding: 14px !important;
   }
}

.service__calc-link-icon {
   flex: 0 0 70px;
   width: 70px;
   height: 70px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #f51515;
   transition: all 0.3s ease 0s;
}

.service__calc-link-icon:hover {
   background-color: #c40c0c;
}

.service__calc-link-icon:active {
   background-color: #ff6363;
}

.service__calc-link-icon:disabled {
   background: #e6e6e6;
}

.service__calc-link-icon svg {
   width: 32px;
   height: 32px;
   color: #fff;
}

@media (max-width: 1680px) {
   .service__calc-link-icon {
      display: none;
   }
}

.service:nth-child(1) {
   transition: all 0.5s ease 0s;
   transform: scaleX(0);
}

.service:nth-child(1).element-animation.element-show {
   transform: scaleX(1);
}

.service:nth-child(2) {
   transition: all 0.5s ease 0.1s;
   transform: scaleX(0);
}

.service:nth-child(2).element-animation.element-show {
   transform: scaleX(1);
}

.service:nth-child(3) {
   transition: all 0.5s ease 0.2s;
   transform: scaleX(0);
}

.service:nth-child(3).element-animation.element-show {
   transform: scaleX(1);
}

.title {
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   letter-spacing: 0%;
   text-align: left;
   font-size: calc(26px + 64 * ((100vw - 320px) / 1600));
   transition: all 0.5s ease 0s;
   transform: scaleY(0);
}

.title span {
   display: block;
   padding-left: 15%;
}

.title.element-animation.element-show {
   transform: scaleY(1);
}

.link {
   padding: 24px 44px;
   background-color: #f51515;
   color: rgb(255, 255, 255);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   letter-spacing: -2%;
   text-align: left;
   border-radius: 500px;
   transition: all 0.3s ease 0s;
   font-size: calc(16px + 6 * ((100vw - 320px) / 1600));
   white-space: nowrap;
}

.link:hover {
   background-color: #c40c0c;
}

.link:active {
   background-color: #ff6363;
}

.link:disabled {
   background: #e6e6e6;
}

/*------------------------------How we work---------------------------*/
.how {
   margin-top: 80px;
}

.how__body {
   padding-bottom: 20px;
}

.how__title {
   margin-bottom: 50px;
}

.how__badge {
   display: inline-block;
   margin-left: 12px;
   padding: 6px 14px;
   border-radius: 999px;
   background: linear-gradient(135deg, #fff4f4 0%, #ffe8e8 100%);
   border: 1px solid rgba(245, 21, 21, 0.22);
   color: #c40c0c;
   font-family: Coolvetica, sans-serif;
   font-size: calc(14px + 4 * ((100vw - 320px) / 1600));
   vertical-align: middle;
}

.how__cartoon-open {
   cursor: pointer;
   transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.how__cartoon-open:hover {
   transform: translateY(-1px) scale(1.03);
   box-shadow: 0 8px 20px rgba(245, 21, 21, 0.18);
   background: linear-gradient(135deg, #ffe8e8 0%, #ffd6d6 100%);
}

@media (max-width: 600px) {
   .how__cartoon-open {
      display: block;
      margin: 14px auto 0;
   }
}

.cargo-cartoon {
   position: relative;
   max-width: 920px;
   margin: 0 auto;
   padding: 18px 18px 14px;
   border-radius: 36px;
   background: linear-gradient(180deg, #fff 0%, #f7f8fc 100%);
   border: 2px solid rgba(17, 19, 39, 0.06);
   box-shadow: 0 20px 50px rgba(17, 19, 39, 0.08);
   overflow: hidden;
}

.cargo-cartoon-modal {
   position: fixed;
   inset: 0;
   z-index: 1150;
   display: none;
   align-items: center;
   justify-content: center;
   padding: 16px;
}

.cargo-cartoon-modal.is-open {
   display: flex;
}

.cargo-cartoon-modal__overlay {
   position: absolute;
   inset: 0;
   background: rgba(19, 19, 19, 0.78);
}

.cargo-cartoon-modal__dialog {
   position: relative;
   z-index: 1;
   width: min(100%, 960px);
   max-height: min(92vh, 860px);
   overflow: auto;
   padding: calc(20px + 16 * ((100vw - 320px) / 1600));
   border-radius: 32px;
   background: #fff;
   box-shadow: 0 28px 70px rgba(17, 19, 39, 0.28);
}

.cargo-cartoon-modal__close {
   position: absolute;
   top: 12px;
   right: 14px;
   width: 40px;
   height: 40px;
   border: none;
   border-radius: 50%;
   background: #f3f3f3;
   color: #111327;
   font-size: 26px;
   line-height: 1;
   cursor: pointer;
   z-index: 2;
}

.cargo-cartoon-modal__close:hover {
   background: #e8e8e8;
}

.cargo-cartoon-modal__title {
   margin: 0 48px 18px 0;
   color: rgb(17, 19, 39);
   font-family: Coolvetica, sans-serif;
   font-size: calc(24px + 10 * ((100vw - 320px) / 1600));
   line-height: 1.15;
   text-align: center;
}

.cargo-cartoon-modal .cargo-cartoon {
   max-width: none;
   margin: 0;
   box-shadow: none;
}

body.opened-cartoon {
   overflow: hidden;
}

.cargo-cartoon__progress {
   position: relative;
   height: 8px;
   margin-bottom: 16px;
   border-radius: 999px;
   background: linear-gradient(90deg, #ffd6d6, #fff0c2, #d7f5ff, #d9ffd9, #ffe0f3);
   overflow: hidden;
}

.cargo-cartoon__runner {
   position: absolute;
   top: 1px;
   left: 0;
   width: 18%;
   height: 6px;
   border-radius: 999px;
   background: #f51515;
   box-shadow: 0 0 12px rgba(245, 21, 21, 0.55);
   animation: cargo-cartoon-runner 20s linear infinite;
}

@keyframes cargo-cartoon-runner {
   0% { left: 0; }
   100% { left: 82%; }
}

.cargo-cartoon__screen {
   position: relative;
   height: min(52vw, 320px);
   min-height: 260px;
   border-radius: 28px;
   overflow: hidden;
   background: #eef2f8;
}

.cargo-cartoon__scene {
   position: absolute;
   inset: 0;
   opacity: 0;
   visibility: hidden;
   transform: scale(0.96) translateY(8px);
   transition: opacity 0.45s ease, transform 0.45s ease, visibility 0.45s;
   pointer-events: none;
}

.cargo-cartoon__scene.is-active {
   opacity: 1;
   visibility: visible;
   transform: scale(1) translateY(0);
   pointer-events: auto;
}

.cargo-cartoon__sky {
   position: absolute;
   inset: 0 0 28%;
}

.cargo-cartoon__sky--dawn { background: linear-gradient(180deg, #ffe8b8 0%, #fff6df 55%, #fff 100%); }
.cargo-cartoon__sky--day { background: linear-gradient(180deg, #8fd3ff 0%, #d8f1ff 60%, #fff 100%); }
.cargo-cartoon__sky--china { background: linear-gradient(180deg, #ffb4b4 0%, #ffe3e3 55%, #fff 100%); }
.cargo-cartoon__sky--route { background: linear-gradient(180deg, #9ad7ff 0%, #e8f7ff 100%); }
.cargo-cartoon__sky--party { background: linear-gradient(180deg, #c9b6ff 0%, #ffe7fb 55%, #fff 100%); }

.cargo-cartoon__ground {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   height: 28%;
   background: linear-gradient(180deg, #8fd06a 0%, #6cb44f 100%);
   border-top: 4px solid rgba(255, 255, 255, 0.35);
}

.cargo-cartoon__step-tag {
   position: absolute;
   left: 16px;
   bottom: 14px;
   z-index: 5;
   margin: 0;
   padding: 6px 12px;
   border-radius: 999px;
   background: rgba(17, 19, 39, 0.82);
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 14px;
   letter-spacing: 0.02em;
}

.cargo-cartoon__bubble {
   position: absolute;
   z-index: 4;
   max-width: 46%;
   padding: 12px 14px;
   border-radius: 18px;
   background: #fff;
   border: 2px solid #111327;
   color: #111327;
   font-family: Inter, sans-serif;
   font-size: clamp(12px, 2.6vw, 15px);
   font-weight: 600;
   line-height: 1.35;
   box-shadow: 4px 4px 0 rgba(17, 19, 39, 0.85);
   animation: cargo-bubble-pop 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
}

.cargo-cartoon__scene.is-active .cargo-cartoon__bubble {
   animation: cargo-bubble-pop 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
}

.cargo-cartoon__bubble--left { top: 14%; left: 8%; }
.cargo-cartoon__bubble--right { top: 16%; right: 8%; }
.cargo-cartoon__bubble--top { top: 10%; left: 50%; transform: translateX(-50%); max-width: 58%; }

@keyframes cargo-bubble-pop {
   from { opacity: 0; transform: scale(0.8) translateY(6px); }
   to { opacity: 1; transform: scale(1) translateY(0); }
}

.cargo-cartoon__bubble--top {
   animation-name: cargo-bubble-pop-center;
}

@keyframes cargo-bubble-pop-center {
   from { opacity: 0; transform: translateX(-50%) scale(0.8) translateY(6px); }
   to { opacity: 1; transform: translateX(-50%) scale(1) translateY(0); }
}

.cargo-cartoon__actor {
   position: absolute;
   z-index: 3;
   font-size: clamp(42px, 10vw, 64px);
   line-height: 1;
   filter: drop-shadow(0 6px 10px rgba(17, 19, 39, 0.15));
}

.cargo-cartoon__actor--client {
   left: 14%;
   bottom: 22%;
   animation: cargo-bounce 1.8s ease-in-out infinite;
}

.cargo-cartoon__actor--manager {
   left: 10%;
   bottom: 20%;
   animation: cargo-wiggle 2.2s ease-in-out infinite;
}

.cargo-cartoon__actor--happy {
   right: 18%;
   bottom: 22%;
   animation: cargo-bounce 1.5s ease-in-out infinite;
}

.cargo-cartoon__phone {
   position: absolute;
   left: 42%;
   bottom: 30%;
   font-size: clamp(36px, 8vw, 52px);
   animation: cargo-phone-shake 0.45s ease-in-out infinite;
}

.cargo-cartoon__vibe {
   position: absolute;
   top: -10px;
   right: -12px;
   width: 14px;
   height: 14px;
   border-radius: 50%;
   background: #f51515;
   animation: cargo-ping 1s ease-out infinite;
}

.cargo-cartoon__box {
   position: absolute;
   font-size: clamp(34px, 8vw, 50px);
   filter: drop-shadow(0 6px 8px rgba(17, 19, 39, 0.12));
}

.cargo-cartoon__box--curious {
   right: 16%;
   bottom: 24%;
   animation: cargo-box-hop 1.6s ease-in-out infinite;
}

.cargo-cartoon__box--curious span {
   position: absolute;
   top: -8px;
   right: -10px;
   font-size: 18px;
   font-weight: 700;
   color: #f51515;
}

.cargo-cartoon__box--packed {
   left: 44%;
   bottom: 24%;
   animation: cargo-box-pack 2s ease-in-out infinite;
}

.cargo-cartoon__box--home {
   left: 38%;
   bottom: 26%;
   animation: cargo-box-hop 1.4s ease-in-out infinite;
}

.cargo-cartoon__calc {
   position: absolute;
   left: 38%;
   bottom: 28%;
   font-size: clamp(40px, 9vw, 58px);
   animation: cargo-calc-spin 3s ease-in-out infinite;
}

.cargo-cartoon__route-card {
   position: absolute;
   padding: 6px 10px;
   border-radius: 12px;
   border: 2px solid #111327;
   background: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 13px;
   box-shadow: 3px 3px 0 rgba(17, 19, 39, 0.8);
}

.cargo-cartoon__route-card--1 { right: 12%; top: 34%; background: #fff0f0; animation: cargo-card-float 2s ease-in-out infinite; }
.cargo-cartoon__route-card--2 { right: 22%; top: 48%; background: #f0f5ff; animation: cargo-card-float 2s ease-in-out 0.3s infinite; }
.cargo-cartoon__route-card--3 { right: 8%; top: 62%; background: #eefbff; animation: cargo-card-float 2s ease-in-out 0.6s infinite; }

.cargo-cartoon__warehouse {
   position: absolute;
   left: 12%;
   bottom: 22%;
   font-size: clamp(44px, 10vw, 68px);
}

.cargo-cartoon__tape {
   position: absolute;
   height: 8px;
   border-radius: 4px;
   background: repeating-linear-gradient(90deg, #f5c542 0 8px, #e8a900 8px 16px);
   opacity: 0;
}

.cargo-cartoon__scene--3.is-active .cargo-cartoon__tape--1 {
   width: 70px;
   left: 40%;
   bottom: 38%;
   animation: cargo-tape-on 1.2s ease forwards 0.4s;
}

.cargo-cartoon__scene--3.is-active .cargo-cartoon__tape--2 {
   width: 90px;
   left: 38%;
   bottom: 32%;
   animation: cargo-tape-on 1.2s ease forwards 0.9s;
}

.cargo-cartoon__road-line {
   position: absolute;
   left: 6%;
   right: 6%;
   bottom: 32%;
   height: 6px;
   border-radius: 6px;
   background: repeating-linear-gradient(90deg, #fff 0 14px, #f51515 14px 28px);
   animation: cargo-road-move 1.2s linear infinite;
}

.cargo-cartoon__vehicle {
   position: absolute;
   bottom: 34%;
   font-size: clamp(34px, 8vw, 48px);
   filter: drop-shadow(0 4px 8px rgba(17, 19, 39, 0.2));
}

.cargo-cartoon__vehicle--truck {
   left: 10%;
   animation: cargo-truck-drive 3.5s ease-in-out infinite;
}

.cargo-cartoon__vehicle--plane {
   top: 28%;
   left: 55%;
   animation: cargo-plane-fly 2.8s ease-in-out infinite;
}

.cargo-cartoon__pin {
   position: absolute;
   right: 18%;
   bottom: 40%;
   font-size: 28px;
   animation: cargo-pin-drop 1.6s ease-in-out infinite;
}

.cargo-cartoon__house {
   position: absolute;
   left: 10%;
   bottom: 22%;
   font-size: clamp(48px, 11vw, 72px);
}

.cargo-cartoon__door {
   position: absolute;
   left: 17%;
   bottom: 24%;
   width: 28px;
   height: 42px;
   border-radius: 4px 4px 0 0;
   background: #8b5a2b;
   transform-origin: left center;
   animation: cargo-door-open 2.4s ease-in-out infinite;
}

.cargo-cartoon__confetti {
   position: absolute;
   font-size: 24px;
   animation: cargo-confetti 2s ease-in-out infinite;
}

.cargo-cartoon__confetti--1 { top: 18%; left: 55%; }
.cargo-cartoon__confetti--2 { top: 24%; right: 20%; animation-delay: 0.4s; }
.cargo-cartoon__confetti--3 { top: 12%; left: 72%; animation-delay: 0.8s; }

@keyframes cargo-bounce {
   0%, 100% { transform: translateY(0); }
   50% { transform: translateY(-8px); }
}

@keyframes cargo-wiggle {
   0%, 100% { transform: rotate(0deg); }
   25% { transform: rotate(-4deg); }
   75% { transform: rotate(4deg); }
}

@keyframes cargo-phone-shake {
   0%, 100% { transform: rotate(0deg); }
   25% { transform: rotate(-8deg); }
   75% { transform: rotate(8deg); }
}

@keyframes cargo-ping {
   0% { transform: scale(0.8); opacity: 1; }
   100% { transform: scale(2); opacity: 0; }
}

@keyframes cargo-box-hop {
   0%, 100% { transform: translateY(0) rotate(0deg); }
   50% { transform: translateY(-10px) rotate(-3deg); }
}

@keyframes cargo-box-pack {
   0%, 100% { transform: scale(1); }
   50% { transform: scale(1.08); }
}

@keyframes cargo-calc-spin {
   0%, 100% { transform: rotate(-4deg) scale(1); }
   50% { transform: rotate(4deg) scale(1.05); }
}

@keyframes cargo-card-float {
   0%, 100% { transform: translateY(0); }
   50% { transform: translateY(-6px); }
}

@keyframes cargo-tape-on {
   from { opacity: 0; width: 0; }
   to { opacity: 1; }
}

@keyframes cargo-road-move {
   to { background-position: 28px 0; }
}

@keyframes cargo-truck-drive {
   0% { left: 8%; }
   50% { left: 48%; }
   100% { left: 8%; }
}

@keyframes cargo-plane-fly {
   0% { transform: translate(0, 0); }
   50% { transform: translate(18px, -12px); }
   100% { transform: translate(0, 0); }
}

@keyframes cargo-pin-drop {
   0%, 100% { transform: translateY(0); }
   50% { transform: translateY(8px); }
}

@keyframes cargo-door-open {
   0%, 100% { transform: perspective(200px) rotateY(0deg); }
   50% { transform: perspective(200px) rotateY(-55deg); }
}

@keyframes cargo-confetti {
   0%, 100% { transform: translateY(0) rotate(0deg); opacity: 1; }
   50% { transform: translateY(10px) rotate(20deg); opacity: 0.7; }
}

.cargo-cartoon__nav {
   display: flex;
   justify-content: center;
   gap: 10px;
   margin-top: 16px;
}

.cargo-cartoon__dot {
   width: 12px;
   height: 12px;
   padding: 0;
   border: none;
   border-radius: 50%;
   background: #d7dbe8;
   cursor: pointer;
   transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.cargo-cartoon__dot.is-active {
   background: #f51515;
   transform: scale(1.25);
   box-shadow: 0 0 0 4px rgba(245, 21, 21, 0.18);
}

.cargo-cartoon__caption {
   margin: 10px 0 0;
   text-align: center;
   color: rgb(120, 120, 120);
   font-family: Inter, sans-serif;
   font-size: 13px;
}

@media (max-width: 700px) {
   .cargo-cartoon {
      padding: 14px 12px 12px;
      border-radius: 28px;
   }

   .cargo-cartoon__screen {
      min-height: 240px;
   }

   .cargo-cartoon__bubble {
      max-width: 54%;
      padding: 10px 12px;
      font-size: 12px;
   }

   .cargo-cartoon__bubble--top {
      max-width: 72%;
   }
}

@media (prefers-reduced-motion: reduce) {
   .cargo-cartoon__scene,
   .cargo-cartoon__scene *,
   .cargo-cartoon__runner {
      animation: none !important;
      transition: none;
   }
}

.how__more {
   margin-top: 32px;
   text-align: center;
}

.how__more-link {
   color: #f51515;
   font-family: Coolvetica, sans-serif;
   font-size: calc(18px + 6 * ((100vw - 320px) / 1600));
   text-decoration: none;
   border-bottom: 2px solid rgba(245, 21, 21, 0.35);
   transition: border-color 0.2s ease, color 0.2s ease;
}

.how__more-link:hover {
   color: #c40c0c;
   border-bottom-color: #c40c0c;
}

.how__steps {
   display: grid;
   grid-template-columns: repeat(5, 1fr);
   gap: 20px;
}

.how__step {
   border-radius: 30px;
   background: #fff;
   padding: 28px 24px 32px;
   box-shadow: 0 8px 32px rgba(17, 19, 39, 0.06);
}

.how__step-num {
   color: #f51515;
   font-family: Coolvetica, sans-serif;
   font-size: calc(28px + 12 * ((100vw - 320px) / 1600));
   line-height: 1;
   margin-bottom: 16px;
}

.how__step-name {
   color: rgb(17, 19, 39);
   font-family: Coolvetica, sans-serif;
   font-size: calc(22px + 8 * ((100vw - 320px) / 1600));
   margin-bottom: 12px;
}

.how__step-text {
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: calc(14px + 4 * ((100vw - 320px) / 1600));
   line-height: 1.45;
}

@media (max-width: 1300px) {
   .how__steps {
      grid-template-columns: repeat(3, 1fr);
   }
}

@media (max-width: 1100px) {
   .how__steps {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media (max-width: 600px) {
   .how {
      margin-top: 40px;
   }

   .how__title {
      margin-bottom: 30px;
   }

   .how__steps {
      grid-template-columns: 1fr;
   }
}

/*------------------------------Form contact hint---------------------------*/
.form-contact-hint {
   margin: 0 0 16px;
   text-align: center;
}

.form-contact-hint--inline {
   margin: 0 auto 20px;
   max-width: 520px;
}

.form-contact-hint--promo .form-contact-hint__card {
   position: relative;
   padding: 16px 18px 18px;
   border-radius: 20px;
   background: linear-gradient(135deg, #fff8f8 0%, #fff 55%, #fff5f5 100%);
   border: 2px solid rgba(245, 21, 21, 0.18);
   box-shadow:
      0 10px 28px rgba(245, 21, 21, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
   overflow: hidden;
}

.form-contact-hint--promo .form-contact-hint__card::before {
   content: '\26A1';
   position: absolute;
   top: 12px;
   right: 14px;
   font-size: 18px;
   opacity: 0.85;
   transform: rotate(8deg);
}

.form-contact-hint--dark.form-contact-hint--promo .form-contact-hint__card {
   background: linear-gradient(135deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%);
   border-color: rgba(245, 21, 21, 0.45);
   box-shadow:
      0 12px 32px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.form-contact-hint__title {
   color: #111327;
   font-family: Coolvetica, sans-serif;
   font-size: calc(16px + 4 * ((100vw - 320px) / 1600));
   font-weight: 400;
   line-height: 1.15;
   margin: 0 0 6px;
   letter-spacing: 0.01em;
}

.form-contact-hint__subtitle {
   margin: 0 0 14px;
   color: rgb(86, 86, 86);
   font-family: Inter, sans-serif;
   font-size: calc(12px + 2 * ((100vw - 320px) / 1600));
   font-weight: 500;
   line-height: 1.35;
}

.form-contact-hint--dark .form-contact-hint__title {
   color: #fff;
}

.form-contact-hint--dark .form-contact-hint__subtitle {
   color: rgba(255, 255, 255, 0.78);
}

.form-contact-hint__links {
   display: flex;
   align-items: stretch;
   justify-content: center;
   flex-wrap: wrap;
   gap: 10px;
}

.form-contact-hint__link {
   display: inline-flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 6px;
   min-width: 92px;
   padding: 10px 12px 8px;
   border-radius: 16px;
   background: #fff;
   border: 1px solid rgba(17, 19, 39, 0.08);
   text-decoration: none;
   transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.form-contact-hint--dark .form-contact-hint__link {
   background: rgba(255, 255, 255, 0.1);
   border-color: rgba(255, 255, 255, 0.16);
}

.form-contact-hint__link:hover {
   transform: translateY(-3px);
   box-shadow: 0 10px 24px rgba(17, 19, 39, 0.14);
}

.form-contact-hint__link--max:hover {
   border-color: rgba(123, 63, 242, 0.45);
   box-shadow: 0 10px 24px rgba(123, 63, 242, 0.18);
}

.form-contact-hint__link--tg:hover {
   border-color: rgba(42, 171, 238, 0.45);
   box-shadow: 0 10px 24px rgba(42, 171, 238, 0.18);
}

.form-contact-hint__link--wa:hover {
   border-color: rgba(37, 211, 102, 0.45);
   box-shadow: 0 10px 24px rgba(37, 211, 102, 0.18);
}

.form-contact-hint__link-icon {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 44px;
   height: 44px;
   border-radius: 50%;
   overflow: hidden;
   flex-shrink: 0;
}

.form-contact-hint__link-icon img {
   width: 44px;
   height: 44px;
   display: block;
   border-radius: 50%;
   pointer-events: none;
}

.form-contact-hint__link-label {
   color: #111327;
   font-family: Inter, sans-serif;
   font-size: 12px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.02em;
   pointer-events: none;
}

.form-contact-hint--dark .form-contact-hint__link-label {
   color: #fff;
}

.form-contact-hint__or {
   display: flex;
   align-items: center;
   gap: 12px;
   margin: 0 0 14px;
   color: rgb(120, 120, 120);
   font-family: Inter, sans-serif;
   font-size: 13px;
   font-weight: 600;
   text-transform: lowercase;
}

.form-contact-hint__or::before,
.form-contact-hint__or::after {
   content: "";
   flex: 1;
   height: 1px;
   background: linear-gradient(90deg, transparent, rgba(17, 19, 39, 0.14), transparent);
}

.form-contact-hint__or span {
   flex-shrink: 0;
   padding: 4px 10px;
   border-radius: 999px;
   background: rgba(17, 19, 39, 0.05);
}

.form-contact-hint--inline + .price__buttons,
.form-contact-hint--inline + .contacts__buttons {
   margin-top: 4px;
}

@media (max-width: 500px) {
   .form-contact-hint--promo .form-contact-hint__card {
      padding: 14px 14px 16px;
   }

   .form-contact-hint__links {
      gap: 8px;
   }

   .form-contact-hint__link {
      min-width: calc(33.333% - 6px);
      flex: 1 1 calc(33.333% - 6px);
      padding: 8px 6px 6px;
   }

   .form-contact-hint__link-icon,
   .form-contact-hint__link-icon img {
      width: 38px;
      height: 38px;
   }

   .form-contact-hint__link-label {
      font-size: 11px;
   }
}

/*------------------------------Equipment offer---------------------------*/
.equipment-offer {
   margin: 48px 0 20px;
}

.equipment-offer__body {
   max-width: 920px;
   margin: 0 auto;
}

.equipment-offer__card {
   position: relative;
   border-radius: 32px;
   padding: calc(28px + 20 * ((100vw - 320px) / 1600)) calc(24px + 32 * ((100vw - 320px) / 1600));
   background: linear-gradient(135deg, #fff5f5 0%, #fff 55%);
   border: 2px solid rgba(245, 21, 21, 0.22);
   box-shadow: 0 12px 40px rgba(17, 19, 39, 0.06);
   overflow: hidden;
}

.equipment-offer__card::before {
   content: "";
   position: absolute;
   left: 0;
   top: 0;
   bottom: 0;
   width: 6px;
   background: #f51515;
   border-radius: 32px 0 0 32px;
}

.equipment-offer__badge {
   display: inline-block;
   margin: 0 0 14px;
   padding: 6px 14px;
   border-radius: 500px;
   background: #f51515;
   color: #fff;
   font-family: Inter, sans-serif;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: 0.02em;
   text-transform: uppercase;
}

.equipment-offer__title {
   font-family: Coolvetica, sans-serif;
   font-size: calc(26px + 18 * ((100vw - 320px) / 1600));
   line-height: 1.1;
   color: #111327;
   margin-bottom: 12px;
   max-width: 640px;
}

.equipment-offer__lead {
   font-family: Inter, sans-serif;
   font-size: calc(15px + 3 * ((100vw - 320px) / 1600));
   line-height: 1.55;
   color: #3d4059;
   margin-bottom: 20px;
   max-width: 680px;
}

.equipment-offer__list {
   list-style: none;
   margin: 0 0 24px;
   padding: 0;
   display: grid;
   gap: 10px;
}

.equipment-offer__list li {
   position: relative;
   padding-left: 28px;
   font-family: Inter, sans-serif;
   font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
   line-height: 1.5;
   color: #111327;
}

.equipment-offer__list li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 0.55em;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: #f51515;
   box-shadow: 0 0 0 4px rgba(245, 21, 21, 0.15);
}

.equipment-offer__btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 48px;
   padding: 12px 28px;
   border: none;
   border-radius: 500px;
   background: #111327;
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: calc(16px + 2 * ((100vw - 320px) / 1600));
   text-decoration: none;
   cursor: pointer;
   transition: background-color 0.3s ease, transform 0.2s ease;
}

.equipment-offer__btn:hover {
   background: #f51515;
}

@media (max-width: 500px) {
   .equipment-offer {
      margin: 32px 0 8px;
   }

   .equipment-offer__card {
      border-radius: 24px;
   }

   .equipment-offer__card::before {
      width: 4px;
      border-radius: 24px 0 0 24px;
   }
}

/*------------------------------Sales CTA---------------------------*/
.sales-cta {
   margin: 60px 0 20px;
}

.sales-cta--after-hero {
   margin: 28px 0 36px;
}

.sales-cta__body {
   border-radius: 40px;
   background: linear-gradient(135deg, #111327 0%, #2a2d4a 100%);
   padding: calc(32px + 24 * ((100vw - 320px) / 1600)) calc(24px + 36 * ((100vw - 320px) / 1600));
   text-align: center;
}

.sales-cta__title {
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: calc(26px + 20 * ((100vw - 320px) / 1600));
   line-height: 1.1;
   margin-bottom: 12px;
}

.sales-cta__text {
   color: rgba(255, 255, 255, 0.82);
   font-family: Inter, sans-serif;
   font-size: calc(15px + 5 * ((100vw - 320px) / 1600));
   max-width: 640px;
   margin: 0 auto 28px;
   line-height: 1.5;
}

.sales-cta__buttons {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 12px;
}

.sales-cta__btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 52px;
   padding: 14px 28px;
   border-radius: 500px;
   border: none;
   font-family: Coolvetica, sans-serif;
   font-size: calc(16px + 4 * ((100vw - 320px) / 1600));
   text-decoration: none;
   cursor: pointer;
   transition: background-color 0.3s ease, transform 0.2s ease;
}

.sales-cta__btn--wa,
.sales-cta__btn--tg,
.sales-cta__btn--max {
   background: rgba(255, 255, 255, 0.12);
   color: #fff;
   border: 1px solid rgba(255, 255, 255, 0.25);
}

.sales-cta__btn--wa:hover,
.sales-cta__btn--tg:hover,
.sales-cta__btn--max:hover {
   background: rgba(255, 255, 255, 0.2);
}

.sales-cta__btn--form {
   background: #f51515;
   color: #fff;
}

.sales-cta__btn--form:hover {
   background: #c40c0c;
}

@media (max-width: 500px) {
   .sales-cta {
      margin-top: 40px;
   }

   .sales-cta--after-hero {
      margin: 16px 0 28px;
   }

   .sales-cta__buttons {
      flex-direction: column;
      align-items: stretch;
   }
}

/*------------------------------Sticky CTA (РѕС‚РєР»СЋС‡РµРЅРѕ вЂ” Р·Р°РјРµРЅРµРЅРѕ РїР°РЅРµР»СЊСЋ РєРѕРЅС‚Р°РєС‚РѕРІ)---------------------------*/
.sticky-cta {
   display: none !important;
}

/*------------------------------Benefits---------------------------*/
.benefits {
   margin-top: 60px;
   background: url(../img/stroke-bg.svg) center/cover no-repeat, #f3f3f3;
}

@media (max-width: 1000px) {
   .benefits {
      margin-top: 0;
   }
}

.benefits__body {
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   padding-top: calc(40px + 360 * ((100vw - 320px) / 1600));
   padding-bottom: calc(40px + 208 * ((100vw - 320px) / 1600));
   isolation: isolate;
}

@media (min-width: 1201px) {
   .benefits__cards {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
   }
}

.benefits__focus {
   position: relative;
   z-index: 4;
}

.benefits__title.benefits__focus::before {
   content: "";
   position: absolute;
   left: 50%;
   top: 50%;
   width: 118%;
   height: 150%;
   transform: translate(-50%, -50%);
   background: radial-gradient(ellipse at center, rgba(243, 243, 243, 0.97) 28%, rgba(243, 243, 243, 0.72) 52%, transparent 76%);
   z-index: -1;
   pointer-events: none;
}

.benefits__image {
   max-width: min(100%, 640px);
   margin-top: 24px;
}

.benefits__image::before {
   content: "";
   position: absolute;
   inset: -14%;
   background: radial-gradient(ellipse at center, rgba(243, 243, 243, 0.95) 32%, rgba(243, 243, 243, 0.5) 58%, transparent 78%);
   z-index: -1;
   pointer-events: none;
}

.benefits__image img {
   display: block;
   width: 100%;
   height: auto;
   position: relative;
}

@media (max-width: 1200px) {
   .benefits__body {
      padding: 40px 0;
   }
}

.benefits__title {
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   letter-spacing: 0%;
   text-align: center;
   font-size: calc(26px + 64 * ((100vw - 320px) / 1600));
   max-width: 1160px;
}

.benefits__title span {
   color: #f51515;
}

@media (max-width: 1200px) {
   .benefits__cards {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 20px;
   }
}

@media (max-width: 820px) {
   .benefits__cards {
      grid-template-columns: 1fr 1fr;
   }
}

.benefit {
   position: absolute;
   width: 21%;
   min-width: 260px;
   border-radius: 40px;
   backdrop-filter: blur(16px);
   -webkit-backdrop-filter: blur(16px);
   background: rgba(255, 255, 255, 0.58);
   border: 1px solid rgba(255, 255, 255, 0.82);
   box-shadow: 0 14px 36px rgba(17, 19, 39, 0.07);
   padding: 40px;
   z-index: 2;
   transition: opacity 0.55s ease;
   pointer-events: none;
}

@media (max-width: 1500px) {
   .benefit {
      padding: 30px;
   }
}

@media (max-width: 1200px) {
   .benefit {
      position: static;
      transform: none !important;
      animation: none;
      width: 100%;
      min-width: unset;
   }
}

@media (max-width: 600px) {
   .benefit {
      padding: 16px;
      text-align: center;
      transition: all 0.5s ease 0s;
      transform: scale(0.4) !important;
      opacity: 0;
   }

   .benefit.element-animation.element-show {
      transform: scale(1) !important;
      opacity: 1;
   }
}

.benefit__icon {
   width: 55px;
   height: 55px;
   margin-bottom: 50px;
}

.benefit__icon img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

@media (max-width: 600px) {
   .benefit__icon {
      margin-bottom: 20px;
      margin-inline: auto;
   }
}

.benefit__text {
   color: rgb(17, 19, 39);
   font-weight: 400;
   line-height: 150%;
   font-size: 18px;
}

@media (max-width: 1660px) {
   .benefit__text {
      font-size: calc(14px + 4 * ((100vw - 320px) / 1340));
   }
}

.benefit-1 {
   top: 10%;
   animation: jumped 7s ease-in-out 0.4s infinite;
   left: 5%;
}

.benefit-2 {
   left: 50%;
   top: 5%;
   transform: translateX(-50%);
   animation: jumpedx 6.5s ease-in-out 0s infinite;
}

.benefit-3 {
   top: 10%;
   right: 5%;
   animation: jumped 8s ease-in-out 1.1s infinite;
}

.benefit-4 {
   bottom: 30%;
   left: 0;
   animation: jumped 7.5s ease-in-out 0.8s infinite;
}

.benefit-5 {
   left: 50%;
   bottom: 10%;
   transform: translateX(-50%);
   animation: jumpedx 7s ease-in-out 0.6s infinite;
}

.benefit-6 {
   bottom: 30%;
   right: 0;
   animation: jumped 6.8s ease-in-out 1.4s infinite;
}

@media (max-width: 1500px) {
   .benefit-1 {
      top: 5%;
      animation: jumped 7s ease-in-out 0.4s infinite;
      left: 5%;
   }

   .benefit-2 {
      left: 50%;
      top: 2%;
      transform: translateX(-50%);
      animation: jumpedx 6.5s ease-in-out 0s infinite;
   }

   .benefit-3 {
      top: 5%;
      right: 5%;
      animation: jumped 8s ease-in-out 1.1s infinite;
   }

   .benefit-4 {
      bottom: 30%;
      left: 0;
      animation: jumped 7.5s ease-in-out 0.8s infinite;
   }

   .benefit-5 {
      left: 50%;
      bottom: 10%;
      transform: translateX(-50%);
      animation: jumpedx 7s ease-in-out 0.6s infinite;
   }

   .benefit-6 {
      bottom: 30%;
      right: 0;
      animation: jumped 6.8s ease-in-out 1.4s infinite;
   }
}

@keyframes jumped {

   0%,
   90%,
   100% {
      transform: translateY(0);
   }

   50% {
      transform: translateY(-30px);
   }
}

@keyframes jumpedx {

   0%,
   90%,
   100% {
      transform: translateY(0) translateX(-50%);
   }

   50% {
      transform: translateY(-30px) translateX(-50%);
   }
}

/*------------------------------Simple text---------------------------*/
.simple {
   position: relative;
}

.simple__body {
   padding: 120px 0;
   display: flex;
   align-items: flex-start;
}

.simple__body p {
   color: #f51515;
   font-family: Coolvetica;
   font-size: 60px;
   font-weight: 400;
   line-height: 100%;
}

@media (max-width: 600px) {
   .simple__body p {
      font-size: 40px;
   }
}

@media (max-width: 1550px) {
   .simple__body {
      flex-direction: column;
      gap: 20px;
   }
}

@media (max-width: 1300px) {
   .simple__body {
      padding: 70px 0;
   }
}

.simple__title {
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   letter-spacing: 0%;
   text-align: left;
   font-size: 50px;
   max-width: 1240px;
   margin-left: auto;
   position: relative;
   z-index: 2;
}

@media (max-width: 1300px) {
   .simple__title {
      font-size: 70px;
   }
}

@media (max-width: 767px) {
   .simple__title {
      font-size: 50px;
   }
}

@media (max-width: 550px) {
   .simple__title {
      font-size: 30px;
      max-width: 90%;
      margin-inline: 0;
      line-height: 130%;
   }
}

.simple .scroll-text span {
   display: inline;
   color: transparent;
   transition: color 0.8s linear;
   color: #f1f1f1;
}

.simple .decore-arrow-3 {
   position: absolute;
   top: -10%;
   left: 0;
   width: 100%;
   height: auto;
   z-index: 1;
}

.simple .decore-arrow-3 svg {
   width: 100%;
}

@media (max-width: 920px) {
   .simple .decore-arrow-3 {
      width: 900px;
      top: -150px;
   }
}

@media (max-width: 600px) {
   .simple .decore-arrow-3 {
      top: -200px;
      width: 700px;
   }
}

@media (max-width: 500px) {
   .simple .decore-arrow-3 {
      width: 750px;
   }
}

.simple .pekin {
   position: absolute;
   top: 43.5%;
   left: 20%;
   text-align: center;
}

.simple .pekin span {
   display: block;
   width: 22px;
   height: 22px;
   border-radius: 50%;
   background: #f51515;
   margin-inline: auto;
}

.simple .pekin p {
   color: rgb(17, 19, 39);
   font-size: 18px;
   font-weight: 600;
}

.simple .moscow {
   display: flex;
   align-items: center;
   gap: 10px;
   position: absolute;
   bottom: 10%;
   right: 27.5%;
   z-index: 2;
}

.simple .moscow span {
   display: block;
   width: 22px;
   height: 22px;
   border-radius: 50%;
   background: #f51515;
}

.simple .moscow p {
   color: rgb(17, 19, 39);
   font-size: 18px;
   font-weight: 600;
}

@media (max-width: 1850px) {
   .simple .pekin {
      top: 44.5%;
      left: 20%;
   }

   .simple .moscow {
      bottom: 9%;
      right: 27.5%;
   }
}

@media (max-width: 1680px) {
   .simple .pekin {
      top: 43.5%;
      left: 15%;
   }

   .simple .moscow {
      bottom: 7%;
      right: 27.5%;
   }
}

@media (max-width: 1580px) {
   .simple .pekin {
      top: 43.5%;
      left: 13%;
   }

   .simple .moscow {
      bottom: 7%;
      right: 27.5%;
   }
}

@media (max-width: 1550px) {
   .simple .pekin {
      top: 5%;
      left: 13%;
   }

   .simple .moscow {
      bottom: 7%;
      right: 44.5%;
   }
}

@media (max-width: 1500px) {
   .simple .pekin {
      top: 5%;
      left: 12%;
   }

   .simple .moscow {
      bottom: 7%;
      right: 44.5%;
   }
}

@media (max-width: 1440px) {
   .simple .pekin {
      top: 5%;
      left: 10%;
   }

   .simple .moscow {
      bottom: 7%;
      right: 44.5%;
   }
}

@media (max-width: 1370px) {
   .simple .pekin {
      top: 5%;
      left: 8%;
   }

   .simple .moscow {
      bottom: 7%;
      right: 44.5%;
   }
}

@media (max-width: 1310px) {
   .simple .pekin {
      top: 5%;
      left: 5%;
   }

   .simple .moscow {
      bottom: 18%;
      right: 44.5%;
   }
}

@media (max-width: 1300px) {
   .simple .pekin {
      display: none;
   }

   .simple .moscow {
      display: none;
   }
}

/*------------------------------About---------------------------*/
.about__body {
   display: grid;
   grid-template-columns: 1fr 1fr;
   grid-template-rows: 1fr 1fr 1fr;
   gap: 20px;
   position: relative;
}

.about__body .decore-arrow-4 {
   position: absolute;
   max-width: 100%;
   bottom: -150px;
   left: 35%;
}

.about__body .decore-arrow-4 svg {
   max-width: 100%;
}

@media (max-width: 1360px) {
   .about__body {
      position: relative;
      z-index: 2;
   }
}

@media (max-width: 800px) {
   .about__body {
      grid-template-columns: 1fr;
      grid-template-rows: auto;
   }
}

.about__block-text {
   border-radius: 0px 40px 40px 0px;
   padding: 30px;
   background: rgb(243, 243, 243);
   background: url(../img/stroke.svg) center/cover no-repeat, #f3f3f3;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}

.about__name {
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   font-size: calc(24px + 30 * ((100vw - 320px) / 1600));
   margin-bottom: calc(20px + 40 * ((100vw - 320px) / 1600));
   max-width: 700px;
}

.about__description {
   color: rgb(17, 19, 39);
   font-weight: 400;
   line-height: 150%;
   max-width: 700px;
   font-size: calc(15px + 3 * ((100vw - 320px) / 1600));
   margin-bottom: calc(20px + 40 * ((100vw - 320px) / 1600));
}

.about__description p {
   margin-bottom: 16px;
}

.about__description ul {
   margin-bottom: 16px;
}

.about__description ul li {
   padding-left: 26px;
   position: relative;
}

.about__description ul li:not(:last-child) {
   margin-bottom: 10px;
}

.about__description ul li::before {
   content: "-";
   display: inline-block;
   position: absolute;
   left: 0;
   color: #f51515;
   font-size: 30px;
}

.about__block:nth-child(4) {
   border-radius: 40px 0px 0px 40px;
}

.about__block:nth-child(3) {
   border-radius: 0px 40px 40px 0px;
}

.about__block:nth-child(1).element-animation,
.about__block:nth-child(3).element-animation,
.about__block:nth-child(5).element-animation {
   transition: all 0.3s ease 0s;
   transform: translateX(-50%);
}

.about__block:nth-child(1).element-animation.element-show,
.about__block:nth-child(3).element-animation.element-show,
.about__block:nth-child(5).element-animation.element-show {
   transform: translateX(0);
}

.about__block:nth-child(2).element-animation,
.about__block:nth-child(4).element-animation,
.about__block:nth-child(6).element-animation {
   transition: all 0.3s ease 0s;
   transform: translateX(50%);
}

.about__block:nth-child(2).element-animation.element-show,
.about__block:nth-child(4).element-animation.element-show,
.about__block:nth-child(6).element-animation.element-show {
   transform: translateX(0);
}

@media (max-width: 800px) {
   .about__block:nth-child(1) {
      order: 1;
   }

   .about__block:nth-child(2) {
      order: 2;
   }

   .about__block:nth-child(3) {
      order: 4;
   }

   .about__block:nth-child(4) {
      order: 3;
   }

   .about__block:nth-child(5) {
      order: 5;
   }

   .about__block:nth-child(6) {
      order: 6;
   }
}

.about__links {
   display: flex;
   align-items: center;
   text-align: left;
   max-width: 700px;
   width: 100%;
}

.about__link-icon {
   flex: 0 0 70px;
   width: 70px;
   height: 70px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #f51515;
   transition: all 0.3s ease 0s;
}

.about__link-icon:hover {
   background-color: #c40c0c;
}

.about__link-icon:active {
   background-color: #ff6363;
}

.about__link-icon:disabled {
   background: #e6e6e6;
}

.about__link-icon svg {
   width: 32px;
   height: 32px;
   color: #fff;
}

.about__block-image {
   position: relative;
   border-radius: 40px 0px 0px 40px;
   overflow: hidden;
   width: 100%;
   height: 100%;
}

.about__block-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.about__block-video {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: none;
   pointer-events: none;
}

.about__block-image.has-video .about__block-video {
   display: block;
}

.about__block-image.has-video > img {
   visibility: hidden;
}

/*------------------------------Document---------------------------*/
.document__body {
   padding: 120px 0;
}

@media (max-width: 900px) {
   .document__body {
      padding: 80px 0;
   }
}

@media (max-width: 550px) {
   .document__body {
      padding: 40px 0;
   }
}

.document__title {
   margin-bottom: calc(20px + 40 * ((100vw - 320px) / 1600));
}

.document__subtitle {
   display: flex;
   align-items: center;
   justify-content: space-between;
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   font-size: calc(18px + 18 * ((100vw - 320px) / 1600));
   margin-bottom: calc(20px + 40 * ((100vw - 320px) / 1600));
   transition: all 0.5s ease 0.2s;
   transform: scaleY(0);
}

.document__subtitle p {
   margin-left: 15%;
   max-width: 500px;
}

.document__subtitle.element-animation.element-show {
   transform: scaleY(1);
}

@media (max-width: 1000px) {
   .document__subtitle {
      margin-left: 0;
   }
}

.document__slider-buttons {
   display: flex;
   align-items: center;
   gap: 10px;
}

.document__slide {
   user-select: none;
   position: relative;
   border-radius: 40px;
   overflow: hidden;
}

.document__image {
   position: relative;
   aspect-ratio: 3 / 4;
   overflow: hidden;
}

.document__image > img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.document__video {
   position: absolute;
   inset: 0;
   background: #111327;
}

.document__video-poster,
.document__video-el {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.document__video-el {
   opacity: 0;
   pointer-events: none;
   background: #000;
}

.document__video.is-playing .document__video-el {
   opacity: 1;
   pointer-events: auto;
   z-index: 2;
}

/* Р’ РіР°Р»РµСЂРµРµ РІРёРґРµРѕ РЅРµ РїРµСЂРµС…РІР°С‚С‹РІР°РµС‚ РјС‹С€СЊ вЂ” СЃР»Р°Р№РґС‹ РјРѕР¶РЅРѕ С‚СЏРЅСѓС‚СЊ РєР°Рє РєР°СЂС‚РёРЅРєРё */
.document__slider .document__video.is-playing .document__video-el {
   pointer-events: none;
}

.document__video.is-playing .document__video-poster,
.document__video.is-playing .document__video-play {
   opacity: 0;
   pointer-events: none;
}

.document__video-play {
   position: absolute;
   left: 50%;
   top: 50%;
   z-index: 3;
   width: 72px;
   height: 72px;
   margin: 0;
   padding: 0;
   border: 0;
   border-radius: 50%;
   transform: translate(-50%, -50%);
   background: rgba(245, 21, 21, 0.92);
   box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   transition: transform 0.2s ease, background 0.2s ease;
}

.document__video-play:hover {
   transform: translate(-50%, -50%) scale(1.06);
   background: rgb(245, 21, 21);
}

.document__video-play-icon {
   display: block;
   width: 0;
   height: 0;
   margin-left: 4px;
   border-style: solid;
   border-width: 12px 0 12px 20px;
   border-color: transparent transparent transparent #fff;
}

@media (max-width: 600px) {
   .document__video-play {
      width: 60px;
      height: 60px;
   }

   .document__video-play-icon {
      border-width: 10px 0 10px 16px;
   }
}

.document__tape {
   position: absolute;
   left: -8%;
   right: -8%;
   top: 58%;
   z-index: 2;
   height: 44px;
   transform: rotate(-7deg);
   background: #fff;
   box-shadow:
      0 6px 18px rgba(0, 0, 0, 0.35),
      0 1px 0 rgba(0, 0, 0, 0.08);
   border-top: 1px solid rgba(227, 6, 19, 0.18);
   border-bottom: 1px solid rgba(227, 6, 19, 0.18);
   overflow: hidden;
   pointer-events: none;
}

.document__tape-track {
   display: flex;
   width: max-content;
   height: 100%;
   animation: document-tape-scroll 18s linear infinite;
}

.document__tape-track img {
   height: 100%;
   width: auto;
   flex-shrink: 0;
   display: block;
}

@keyframes document-tape-scroll {
   from { transform: translateX(0); }
   to { transform: translateX(-33.333%); }
}

@media (max-width: 600px) {
   .document__tape {
      top: 56%;
      height: 36px;
      transform: rotate(-6deg);
   }
}

@media (prefers-reduced-motion: reduce) {
   .document__tape-track {
      animation: none;
   }
}

.document__name {
   position: absolute;
   bottom: 40px;
   left: 40px;
   color: rgb(255, 255, 255);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   font-size: calc(18px + 18 * ((100vw - 320px) / 1600));
}

@media (max-width: 600px) {
   .document__name {
      bottom: 20px;
      left: 20px;
   }
}

.document__date {
   position: absolute;
   top: 16px;
   left: 16px;
   z-index: 3;
   border-radius: 500px;
   backdrop-filter: blur(12px);
   background: rgba(17, 19, 39, 0.55);
   color: rgb(255, 255, 255);
   font-family: Inter, sans-serif;
   font-weight: 600;
   line-height: 1;
   font-size: 14px;
   padding: 10px 14px;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   pointer-events: none;
   box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.document__date svg {
   width: 18px;
   height: 18px;
   color: #fff;
}

@media (max-width: 600px) {
   .document__date {
      top: 12px;
      left: 12px;
      padding: 8px 12px;
      font-size: 12px;
   }

   .document__date svg {
      width: 16px;
      height: 16px;
   }
}

.prev-slide,
.next-slide {
   width: 70px;
   height: 70px;
   border-radius: 50%;
   user-select: none;
   background: #f51515;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   cursor: pointer;
}

.prev-slide svg,
.next-slide svg {
   width: 32px;
   height: 32px;
   color: #fff;
}

.prev-slide:active,
.next-slide:active {
   background-color: #ff6363;
}

.prev-slide:active svg,
.next-slide:active svg {
   transform: scale(0.9);
}

@media (min-width: 1000px) {

   .prev-slide:hover,
   .next-slide:hover {
      background-color: #c40c0c;
   }
}

@media (max-width: 600px) {

   .prev-slide,
   .next-slide {
      width: 40px;
      height: 40px;
   }

   .prev-slide svg,
   .next-slide svg {
      width: 20px;
      height: 20px;
   }
}

.prev-slide {
   transition: transform 1s ease 0.2s, background-color 0.1s ease 0s;
   transform: translateX(50%) rotate(0);
}

.prev-slide.element-animation.element-show {
   transform: translateX(0) rotate(-180deg);
}

.next-slide {
   transition: transform 1s ease 0.3s, background-color 0.1s ease 0s;
   transform: translateX(50%) rotate(0);
}

.next-slide.element-animation.element-show {
   transform: translateX(0) rotate(-360deg);
}

/*------------------------------price---------------------------*/
.price {
   background: url(../img/container2.png) 0 90%/55% auto no-repeat, url(../img/stroke-bg.svg) center/cover no-repeat, #f3f3f3;
   position: relative;
}

.price .decore-arrow-5 {
   position: absolute;
   top: -160px;
   left: 30%;
}

@media (max-width: 1000px) {
   .price .decore-arrow-5 {
      max-width: 40%;
   }

   .price .decore-arrow-5 svg {
      width: 100%;
   }
}

@media (max-width: 600px) {
   .price .decore-arrow-5 {
      max-width: 60%;
   }

   .price .decore-arrow-5 svg {
      width: 100%;
   }
}

.price .decore-arrow-6 {
   position: absolute;
   bottom: -160px;
   left: 50%;
}

@media (max-width: 1000px) {
   .price .decore-arrow-6 {
      max-width: 30%;
   }

   .price .decore-arrow-6 svg {
      width: 100%;
   }
}

@media (max-width: 600px) {
   .price .decore-arrow-6 {
      max-width: 40%;
   }

   .price .decore-arrow-6 svg {
      width: 100%;
   }
}

@media (max-width: 1500px) {
   .price {
      background: url(../img/container2.png) 0 80%/40% auto no-repeat, url(../img/stroke-bg.svg) center/cover no-repeat, #f3f3f3;
   }
}

@media (max-width: 1200px) {
   .price {
      background: url(../img/stroke-bg.svg) center/cover no-repeat, #f3f3f3;
   }
}

.price__body {
   padding: 120px 0;
}

@media (max-width: 900px) {
   .price__body {
      padding: 80px 0;
   }
}

@media (max-width: 1200px) {
   .price__body {
      padding: 40px 0;
   }
}

.price__title {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 60px;
}

@media (max-width: 600px) {
   .price__title {
      margin-bottom: 30px;
   }
}

.price__title span {
   color: #f51515;
}

@media (max-width: 1200px) {
   .price__title {
      flex-direction: column;
      gap: 20px;
   }
}

.price__subtitle {
   color: rgb(0, 0, 0);
   font-family: Inter;
   font-size: 18px;
   font-weight: 400;
   line-height: 150%;
   letter-spacing: -2%;
   text-align: left;
   font-size: calc(16px + 2 * ((100vw - 320px) / 1600));
   max-width: 400px;
}

@media (max-width: 1200px) {
   .price__subtitle {
      max-width: 600px;
   }
}

.price__types {
   display: flex;
   justify-content: flex-end;
   gap: 20px;
}

@media (max-width: 1200px) {
   .price__types {
      justify-content: center;
   }
}

@media (max-width: 767px) {
   .price__types {
      flex-wrap: wrap;
   }
}

.price__type {
   position: relative;
   max-width: 260px;
   width: 100%;
   cursor: pointer;
   transition: transform 0.5s ease 0s;
   transform: scaleX(0);
}

.price__type:not(.active):hover .price__type-check {
   background: #ff6363;
}

.price__type:not(.active):hover .price__type-name {
   color: #f51515;
}

.price__type.element-animation.element-show {
   transform: scaleX(1);
}

.price__type.active .price__type-check {
   background: #f51515;
}

@media (max-width: 550px) {
   .price__type {
      max-width: 100%;
   }
}

.price__type:nth-child(1) {
   transition: transform 0.5s ease 0s;
   transform: scaleX(0);
}

.price__type:nth-child(1).element-animation.element-show {
   transform: scaleX(1);
}

.price__type-img {
   position: relative;
   aspect-ratio: 1 / 1;
   border-radius: 24px;
   overflow: hidden;
}

.price__type-img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: all 0.3s ease 0s;
}

.price__type-img--video {
   position: relative;
   aspect-ratio: 1 / 1;
   border-radius: 24px;
   overflow: hidden;
}

.price__type-img--video .price__video,
.price__type-img--video .document__video {
   position: absolute;
   inset: 0;
}

.price__type-img--video .document__video-play {
   width: 56px;
   height: 56px;
}

.price__type-img--video .document__video-play-icon {
   border-width: 9px 0 9px 15px;
}

.price__type-name {
   text-align: center;
   transition: all 0.3s ease 0s;
   margin-top: 10px;
   color: rgb(17, 19, 39);
   font-family: Inter;
   font-size: 18px;
   font-weight: 600;
   line-height: 150%;
   letter-spacing: -2%;
   text-align: center;
}

.price__type-check {
   position: absolute;
   top: 0;
   left: 0;
   width: 32px;
   height: 32px;
   background: #d3d3d3;
   border-radius: 5px;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: all 0.3s ease 0s;
}

.price__type-check svg {
   width: 12px;
   color: #fff;
}

@media (max-width: 550px) {
   .price__type-check {
      width: 12vw;
      height: 12vw;
   }
}

.price__buttons {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   margin-top: calc(30px + 50 * ((100vw - 320px) / 1600));
}

.price__buttons .service__calc-link {
   flex: 0 1 auto;
}

@media (max-width: 550px) {
   .price__buttons .service__calc-link {
      min-height: 50px;
      padding: 14px 18px !important;
   }
}

@media (max-width: 1700px) {
   .price__buttons .service__calc-link-icon {
      display: flex;
   }
}

@media (max-width: 1200px) {
   .price__buttons {
      justify-content: center;
   }
}

@media (max-width: 550px) {
   .price__buttons .service__calc-link-icon {
      width: 50px;
      height: 50px;
      flex: 0 0 50px;
   }

   .price__buttons .service__calc-link-icon svg {
      width: 22px;
      height: 22px;
   }
}

/*------------------------------Testimonials---------------------------*/
.testimonials__body {
   padding: 120px 0;
}

@media (max-width: 1200px) {
   .testimonials__body {
      padding: 80px 0;
   }
}

@media (max-width: 600px) {
   .testimonials__body {
      padding: 40px 0;
   }
}

.testimonials__tabs {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 20px;
   margin-bottom: 30px;
}

.testimonials__tab {
   color: #000;
   font-weight: 500;
   transition: all 0.3s ease 0s;
   cursor: pointer;
   border-bottom: 1px dashed #000;
}

.testimonials__tab.active {
   color: #c40c0c;
   border: none;
}

.testimonials__contents {}

.testimonials__content {
   display: none;
}

.testimonials__content.active {
   display: block;
}

.testimonial {
   background: #f9f9f9;
   padding: 20px 16px;
   border-radius: 20px;
   height: auto;
   display: flex;
   flex-direction: column;
}

.testimonial__author {
   display: flex;
   align-items: flex-start;
   gap: 6px;
   color: #fff;
   padding-left: 10px;
   flex: 1;
}

@media (max-width: 600px) {
   .testimonial {
      padding: 16px 10px;
   }

   .testimonial__author {
      flex-direction: column;
      padding-left: 0;
   }
}

.testimonial__name {
   color: rgb(0, 0, 0);
   font-weight: 600;
   margin-bottom: 7px;
}

.testimonial__message {
   color: rgb(0, 0, 0);
   font-size: 0.875rem;
   font-weight: 400;
   line-height: 128%;
}

.testimonial__audio {
   width: 100%;
   margin-top: 25px;
}

.testimonial__audio audio {
   width: 100%;
}

.testimonials__head {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 20px 24px;
   margin-bottom: calc(20px + 20 * ((100vw - 320px) / 1600));
}

.testimonials__title {
   margin: 0;
}

.testimonials__yandex {
   display: flex;
   align-items: center;
   gap: 14px;
   padding: 14px 18px;
   background: #fff;
   border: 1px solid rgb(231, 231, 231);
   border-radius: 16px;
   text-decoration: none;
   color: inherit;
   box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
   transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
   max-width: 100%;
}

.testimonials__yandex:hover {
   border-color: rgba(245, 21, 21, 0.35);
   box-shadow: 0 8px 24px rgba(245, 21, 21, 0.08);
   transform: translateY(-1px);
}

.testimonials__yandex-brand {
   width: 40px;
   height: 40px;
   border-radius: 10px;
   background: #fc3f1d;
   color: #fff;
   font-family: Inter, sans-serif;
   font-weight: 700;
   font-size: 1.125rem;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.testimonials__yandex-body {
   display: flex;
   flex-direction: column;
   gap: 2px;
   min-width: 0;
}

.testimonials__yandex-row {
   display: flex;
   align-items: center;
   gap: 8px;
}

.testimonials__yandex-score {
   font-family: Coolvetica, sans-serif;
   font-size: 1.5rem;
   line-height: 1;
   color: rgb(17, 19, 39);
}

.testimonials__yandex-stars {
   display: flex;
   gap: 1px;
}

.testimonials__yandex-stars svg {
   width: 14px;
   height: 14px;
   fill: #f51515;
}

.testimonials__yandex-meta {
   font-family: Inter, sans-serif;
   font-size: 0.8125rem;
   color: rgb(136, 136, 136);
   line-height: 1.35;
}

.testimonials__yandex-link {
   font-family: Inter, sans-serif;
   font-size: 0.875rem;
   font-weight: 500;
   color: #f51515;
   white-space: nowrap;
   margin-left: auto;
}

@media (max-width: 820px) {
   .testimonials__head {
      flex-direction: column;
      align-items: stretch;
   }

   .testimonials__yandex {
      flex-wrap: wrap;
   }

   .testimonials__yandex-link {
      width: 100%;
      margin-left: 0;
      padding-top: 4px;
   }
}

.testimonials__title span {
   color: #f51515;
}

.testimonials__slide {
   width: 100%;
   height: auto;
}

.testimonials__slide img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

.chat-screenshot {
   padding: 0;
   height: 100%;
}

.chat-screenshot__frame {
   border-radius: 20px;
   overflow: hidden;
   background: #fff;
   border: 1px solid rgb(231, 231, 231);
   box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
   font-family: Inter, sans-serif;
   height: 100%;
}

.chat-screenshot__statusbar {
   display: none;
}

.chat-mockup {
   display: flex;
   flex-direction: column;
   overflow: hidden;
   height: 100%;
   min-height: 360px;
   max-height: 440px;
}

.chat-mockup__header {
   padding: 12px 14px;
   display: flex;
   align-items: center;
   gap: 8px;
   flex-shrink: 0;
   background: #f3f3f3;
   border-bottom: 1px solid rgb(231, 231, 231);
}

.chat-mockup__back {
   display: none;
}

.chat-mockup__header-info {
   display: flex;
   flex-direction: column;
   gap: 2px;
   width: 100%;
   text-align: center;
}

.chat-mockup__name {
   font-size: 0.875rem;
   font-weight: 400;
   font-family: Coolvetica, sans-serif;
   color: rgb(17, 19, 39);
}

.chat-mockup__status {
   font-size: 0.625rem;
   color: #f51515;
   opacity: 1;
}

.chat-mockup--solo {
   min-height: auto;
   max-height: none;
}

.chat-mockup__body--solo {
   justify-content: center;
   align-items: stretch;
   padding: 16px;
}

.chat-mockup__body--solo .chat-mockup__msg--review {
   max-width: 100%;
   width: 100%;
   font-size: 0.75rem;
   line-height: 1.45;
   padding: 14px 12px;
}

.chat-mockup__body--solo .chat-mockup__msg--review span {
   padding-right: 0;
}

.chat-mockup__body {
   flex: 1;
   overflow-y: auto;
   padding: 10px 10px 14px;
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   gap: 6px;
   scroll-behavior: smooth;
   background: #f9f9f9;
}

.chat-mockup__date {
   align-self: center;
   font-size: 0.5625rem;
   padding: 3px 10px;
   border-radius: 500px;
   margin: 4px 0;
   color: rgb(86, 86, 86);
   background: #eee;
}

.chat-mockup__msg {
   max-width: 92%;
   padding: 7px 10px 5px;
   border-radius: 14px;
   font-size: 0.6875rem;
   line-height: 1.4;
   position: relative;
   word-break: break-word;
}

.chat-mockup__msg span {
   display: block;
   padding-right: 32px;
}

.chat-mockup__msg time {
   position: absolute;
   right: 8px;
   bottom: 5px;
   font-size: 0.5625rem;
   opacity: 0.45;
}

.chat-mockup__msg--in {
   align-self: flex-start;
   background: #fff;
   color: rgb(17, 19, 39);
   border: 1px solid rgb(231, 231, 231);
   border-bottom-left-radius: 4px;
}

.chat-mockup__msg--out {
   align-self: flex-end;
   background: #f51515;
   color: #fff;
   border-bottom-right-radius: 4px;
}

.chat-mockup__msg--out time {
   opacity: 0.65;
   color: #fff;
}

.chat-mockup__msg--review {
   border: 1px dashed #f51515;
   background: #fff !important;
   color: rgb(17, 19, 39) !important;
}

.chat-mockup__msg--review span {
   font-weight: 500;
}

.chat-mockup__msg--review time {
   color: inherit;
}

@media (max-width: 560px) {
   .chat-mockup:not(.chat-mockup--solo) {
      min-height: 320px;
      max-height: 380px;
   }

   .chat-mockup__msg {
      font-size: 0.625rem;
   }

   .chat-mockup__body--solo .chat-mockup__msg--review {
      font-size: 0.6875rem;
   }

   .chat-screenshot__frame {
      border-radius: 16px;
   }
}

.testimonials__buttons {
   display: flex;
   align-items: center;
   gap: 10px;
   justify-content: center;
   margin-top: calc(20px + 20 * ((100vw - 320px) / 1600));
}

.testimonials__slider--reviews {
   overflow: visible;
}

.testimonials__slider--reviews .testimonials__slide {
   height: auto;
   display: flex;
}

.review-card {
   background: #fff;
   border: 1px solid rgb(231, 231, 231);
   border-radius: 20px;
   padding: 24px 22px;
   width: 100%;
   min-height: 100%;
   display: flex;
   flex-direction: column;
   gap: 14px;
   font-family: Inter, sans-serif;
   box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

.review-card--price {
   border-color: rgba(240, 82, 5, 0.35);
   box-shadow: 0 8px 28px rgba(240, 82, 5, 0.1);
}

.review-card__badge {
   display: inline-flex;
   align-self: flex-start;
   margin: 0;
   padding: 4px 10px;
   border-radius: 999px;
   background: linear-gradient(15deg, #f05205, #ff9600);
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 12px;
   line-height: 1.2;
   letter-spacing: 0.02em;
}

#review-price-fix,
#review-price-oleg {
   scroll-margin-top: 96px;
}

#review-price-fix:target .review-card,
#review-price-oleg:target .review-card {
   outline: 2px solid #f05205;
   outline-offset: 2px;
}

.review-card__top {
   display: flex;
   align-items: center;
   gap: 12px;
}

.review-card__avatar {
   width: 44px;
   height: 44px;
   border-radius: 50%;
   background: rgba(245, 21, 21, 0.08);
   display: flex;
   align-items: center;
   justify-content: center;
   font-family: Coolvetica, sans-serif;
   font-size: 1.0625rem;
   font-weight: 700;
   color: #c40c0c;
   flex-shrink: 0;
}

.review-card__name {
   font-family: Coolvetica, sans-serif;
   font-size: 0.9375rem;
   font-weight: 600;
   color: rgb(17, 19, 39);
   margin-bottom: 2px;
}

.review-card__date {
   font-size: 0.75rem;
   color: rgb(136, 136, 136);
}

.review-card__stars {
   display: flex;
   gap: 2px;
}

.review-card__stars svg {
   width: 15px;
   height: 15px;
   fill: #f51515;
}

.review-card__text {
   font-size: 0.875rem;
   line-height: 1.65;
   color: rgb(68, 68, 68);
   flex: 1;
}

.review-card__text.is-truncated {
   display: -webkit-box;
   -webkit-line-clamp: 5;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.review-card__more {
   font-size: 0.8125rem;
   color: #f51515;
   cursor: pointer;
   background: none;
   border: none;
   padding: 0;
   font-family: inherit;
   text-decoration: underline;
   text-align: left;
   align-self: flex-start;
}

.review-card__more.is-hidden {
   display: none;
}

@media (max-width: 600px) {
   .review-card {
      padding: 18px 16px;
      border-radius: 16px;
   }

   .review-card__text {
      font-size: 0.8125rem;
   }
}

.audio-wip {
   display: flex;
   justify-content: center;
   padding: 10px 0 20px;
}

.audio-wip__card {
   max-width: 520px;
   width: 100%;
   background: #fff;
   border: 1px solid rgb(231, 231, 231);
   border-radius: 24px;
   padding: 40px 32px 36px;
   text-align: center;
   font-family: Inter, sans-serif;
   box-shadow: 0 8px 32px rgba(245, 21, 21, 0.08);
   animation: audio-wip-in 0.5s cubic-bezier(0.34, 1.4, 0.64, 1) both;
}

@keyframes audio-wip-in {
   from {
      opacity: 0;
      transform: translateY(16px) scale(0.97);
   }
   to {
      opacity: 1;
      transform: translateY(0) scale(1);
   }
}

.audio-wip__visual {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 28px;
   margin-bottom: 28px;
}

.audio-wip__mic {
   position: relative;
   width: 72px;
   height: 72px;
   border-radius: 50%;
   background: rgba(245, 21, 21, 0.08);
   color: #f51515;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.audio-wip__mic svg {
   width: 32px;
   height: 32px;
   position: relative;
   z-index: 1;
}

.audio-wip__pulse {
   position: absolute;
   inset: 0;
   border-radius: 50%;
   border: 2px solid rgba(245, 21, 21, 0.35);
   animation: audio-wip-pulse 2s ease-out infinite;
}

.audio-wip__pulse--2 {
   animation-delay: 1s;
}

@keyframes audio-wip-pulse {
   0% {
      transform: scale(1);
      opacity: 0.7;
   }
   100% {
      transform: scale(1.7);
      opacity: 0;
   }
}

.audio-wip__bars {
   display: flex;
   align-items: flex-end;
   gap: 5px;
   height: 48px;
}

.audio-wip__bars span {
   display: block;
   width: 5px;
   height: 100%;
   border-radius: 3px;
   background: linear-gradient(to top, #c40c0c, #f51515);
   transform-origin: bottom;
   animation: audio-wip-bar 0.9s ease-in-out infinite alternate;
}

.audio-wip__bars span:nth-child(1) { animation-delay: 0s; }
.audio-wip__bars span:nth-child(2) { animation-delay: 0.12s; }
.audio-wip__bars span:nth-child(3) { animation-delay: 0.24s; }
.audio-wip__bars span:nth-child(4) { animation-delay: 0.08s; }
.audio-wip__bars span:nth-child(5) { animation-delay: 0.18s; }
.audio-wip__bars span:nth-child(6) { animation-delay: 0.3s; }
.audio-wip__bars span:nth-child(7) { animation-delay: 0.06s; }

@keyframes audio-wip-bar {
   from { transform: scaleY(0.25); }
   to { transform: scaleY(1); }
}

.audio-wip__badge {
   display: inline-block;
   font-size: 0.75rem;
   font-weight: 600;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: #f51515;
   background: rgba(245, 21, 21, 0.08);
   border-radius: 500px;
   padding: 6px 14px;
   margin-bottom: 14px;
}

.audio-wip__title {
   font-family: Coolvetica, sans-serif;
   font-size: calc(22px + 6 * ((100vw - 320px) / 1600));
   font-weight: 600;
   color: rgb(17, 19, 39);
   margin-bottom: 10px;
   line-height: 1.25;
}

.audio-wip__text {
   font-size: 0.9375rem;
   line-height: 1.55;
   color: rgb(100, 100, 100);
   margin-bottom: 24px;
}

.audio-wip__status {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   background: #f9f9f9;
   border-radius: 500px;
   padding: 10px 18px;
   margin-bottom: 24px;
}

.audio-wip__rec {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background: #f51515;
   flex-shrink: 0;
   animation: audio-wip-rec 1.2s ease-in-out infinite;
}

@keyframes audio-wip-rec {
   0%, 100% { opacity: 1; transform: scale(1); }
   50% { opacity: 0.35; transform: scale(0.85); }
}

.audio-wip__status-text {
   font-size: 0.875rem;
   font-weight: 500;
   color: rgb(68, 68, 68);
   min-width: 140px;
   text-align: left;
   transition: opacity 0.2s;
}

.audio-wip__status-text.is-fading {
   opacity: 0;
}

.audio-wip__back {
   display: inline-flex;
   align-items: center;
   font-size: 0.875rem;
   font-weight: 500;
   color: #f51515;
   background: none;
   border: none;
   border-bottom: 1px dashed #f51515;
   padding: 0 0 2px;
   cursor: pointer;
   font-family: inherit;
   transition: color 0.15s, border-color 0.15s;
}

.audio-wip__back:hover {
   color: #c40c0c;
   border-color: #c40c0c;
}

@media (max-width: 600px) {
   .audio-wip__card {
      padding: 32px 20px 28px;
      border-radius: 20px;
   }

   .audio-wip__visual {
      gap: 20px;
      margin-bottom: 22px;
   }

   .audio-wip__mic {
      width: 60px;
      height: 60px;
   }

   .audio-wip__mic svg {
      width: 26px;
      height: 26px;
   }

   .audio-wip__bars {
      height: 40px;
   }
}

/*------------------------------FAQ---------------------------*/
.faq {
   margin: calc(40px + 20 * ((100vw - 320px) / 1600)) 0;
}

.faq__body {
   max-width: 920px;
   margin-inline: auto;
}

.faq__title {
   text-align: center;
   margin-bottom: 12px;
}

.faq__title span {
   color: #f51515;
}

.faq__subtitle {
   text-align: center;
   max-width: 560px;
   margin: 0 auto calc(28px + 12 * ((100vw - 320px) / 1600));
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: calc(15px + 3 * ((100vw - 320px) / 1600));
   line-height: 1.5;
}

.faq__list {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.faq__item {
   border-radius: 20px;
   background: #fff;
   box-shadow: 0 4px 24px rgba(17, 19, 39, 0.06);
   overflow: hidden;
   transition: box-shadow 0.2s ease;
}

.faq__item[open] {
   box-shadow: 0 8px 32px rgba(17, 19, 39, 0.08);
}

.faq__question {
   position: relative;
   padding: 20px 52px 20px 24px;
   cursor: pointer;
   color: rgb(17, 19, 39);
   font-family: Coolvetica, sans-serif;
   font-size: calc(18px + 6 * ((100vw - 320px) / 1600));
   line-height: 1.25;
   list-style: none;
   user-select: none;
}

.faq__question::-webkit-details-marker {
   display: none;
}

.faq__question::after {
   content: "+";
   position: absolute;
   right: 22px;
   top: 50%;
   transform: translateY(-50%);
   color: #f51515;
   font-family: Inter, sans-serif;
   font-size: 24px;
   font-weight: 300;
   line-height: 1;
   transition: transform 0.2s ease;
}

.faq__item[open] .faq__question::after {
   content: '\2212';
}

.faq__answer {
   padding: 0 24px 20px;
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
   line-height: 1.6;
}

.faq__answer p {
   margin: 0 0 12px;
}

.faq__answer p:last-child {
   margin-bottom: 0;
}

.faq__answer a,
.how__step-text a {
   color: #f51515;
   text-decoration: none;
   border-bottom: 1px solid rgba(245, 21, 21, 0.35);
}

.faq__answer a:hover,
.how__step-text a:hover {
   border-bottom-color: #f51515;
}

.faq__answer ul {
   margin: 0 0 12px;
   padding-left: 1.2em;
}

.faq__answer li + li {
   margin-top: 6px;
}

.faq__more {
   margin-top: 24px;
   text-align: center;
   color: rgb(86, 86, 86);
   font-family: Inter, sans-serif;
   font-size: 15px;
}

.faq__more a {
   color: #f51515;
   text-decoration: none;
   border-bottom: 1px solid rgba(245, 21, 21, 0.35);
}

.faq__more a:hover {
   border-bottom-color: #f51515;
}

@media (max-width: 600px) {
   .faq__question {
      padding: 16px 44px 16px 18px;
      font-size: 17px;
   }

   .faq__answer {
      padding: 0 18px 16px;
   }
}

/*------------------------------Contacts---------------------------*/
.contacts__body {
   position: relative;
   display: flex;
   gap: 20px;
}

@media (max-width: 1000px) {
   .contacts__body {
      flex-direction: column;
      gap: 0;
   }
}

.contacts__body .decore-arrow-7 {
   position: absolute;
   left: 30%;
   top: -260px;
   width: 13%;
}

.contacts__body .decore-arrow-7 svg {
   max-width: 100%;
}

@media (max-width: 1000px) {
   .contacts__body .decore-arrow-7 {
      width: 20%;
   }
}

@media (max-width: 500px) {
   .contacts__body .decore-arrow-7 {
      top: -300px;
      width: 27%;
      left: 60%;
   }
}

.contacts__info {
   flex: 0 1 50%;
   border-radius: 0 40px 40px 0;
   overflow: hidden;
   background: #000;
   background: url(../img/stroke.svg) center/cover no-repeat, #f3f3f3;
   display: flex;
   flex-direction: column;
   padding: 40px;
}

@media (max-width: 1000px) {
   .contacts__info {
      border-radius: 0;
   }
}

@media (max-width: 767px) {
   .contacts__info {
      padding: 20px;
   }
}

.contacts__address {
   display: flex;
   align-items: center;
   gap: 40px;
}

@media (max-width: 767px) {
   .contacts__address {
      gap: 20px;
      margin-bottom: 20px;
   }
}

.contacts__address a {
   color: rgb(0, 0, 0);
   line-height: 150%;
   transition: color 0.3s ease 0s;
}

.contacts__address a span {
   font-size: calc(16px + 2 * ((100vw - 320px) / 1600));
   display: block;
}

@media (max-width: 550px) {
   .contacts__address a span {
      font-size: 14px;
   }
}

.contacts__address a:hover {
   color: #f51515;
}

.contacts__address svg {
   width: 60px;
   height: 60px;
   color: #f51515;
}

@media (max-width: 600px) {
   .contacts__address svg {
      width: 40px;
      height: 40px;
      flex: 0 0 40px;
   }
}

.contacts__address span:nth-child(1) {
   transition: transform 0.5s ease 0s;
   transform: translateY(30px);
   opacity: 0;
}

.contacts__address span:nth-child(1).element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.contacts__address span:nth-child(2) {
   transition: transform 0.5s ease 0.05s;
   transform: translateY(30px);
   opacity: 0;
}

.contacts__address span:nth-child(2).element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.contacts__links {
   margin-top: auto;
}

.contacts__telephone {
   margin-bottom: calc(20px + 20 * ((100vw - 320px) / 1600));
}

.contacts__telephone a,
.contacts__email a {
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   font-size: calc(24px + 30 * ((100vw - 320px) / 1600));
   display: flex;
   align-items: center;
   gap: 40px;
   transition: color 0.3s ease 0s;
}

.contacts__telephone a:hover,
.contacts__email a:hover {
   color: #f51515;
}

@media (max-width: 767px) {

   .contacts__telephone a,
   .contacts__email a {
      gap: 20px;
   }
}

.contacts__telephone svg,
.contacts__email svg {
   width: 60px;
   height: 60px;
   color: #f51515;
}

@media (max-width: 600px) {

   .contacts__telephone svg,
   .contacts__email svg {
      width: 40px;
      height: 40px;
      flex: 0 0 40px;
   }
}

.contacts__telephone > a > span {
   transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
   transform: translateY(30px);
   opacity: 0;
}

.contacts__telephone > a > span.element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.contacts__telephone-link--free {
   align-items: center;
}

.contacts__phone {
   display: inline-flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 8px;
}

.contacts__phone-num,
.contacts__phone-free {
   display: block;
   opacity: 1 !important;
   transform: none !important;
}

.contacts__phone-num {
   color: rgb(17, 19, 39);
}

.contacts__phone-free {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 6px 12px 6px 10px;
   border-radius: 999px;
   background: linear-gradient(15deg, #f05205, #ff9600, #ffd000);
   color: #111;
   font-family: Coolvetica, sans-serif;
   font-size: calc(12px + 4 * ((100vw - 320px) / 1600));
   font-weight: 400;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   line-height: 1;
   box-shadow: 0 8px 20px rgba(240, 82, 5, 0.22);
   animation: contacts-free-pulse 2.8s ease-in-out infinite;
}

.contacts__phone-free::before {
   content: "";
   width: 7px;
   height: 7px;
   border-radius: 50%;
   background: #111;
   opacity: 0.75;
}

.contacts__telephone-link--free:hover .contacts__phone-num {
   color: #f51515;
}

.contacts__telephone-link--free:hover .contacts__phone-free {
   color: #111;
}

@keyframes contacts-free-pulse {
   0%,
   100% {
      transform: translateY(0);
      box-shadow: 0 8px 20px rgba(240, 82, 5, 0.22);
   }
   50% {
      transform: translateY(-2px);
      box-shadow: 0 12px 26px rgba(240, 82, 5, 0.32);
   }
}

.contacts__email span {
   transition: transform 0.5s ease 0.2s, opacity 0.5s ease 0.2s;
   transform: translateY(30px);
   opacity: 0;
}

.contacts__email span.element-animation.element-show {
   transform: translateY(0);
   opacity: 1;
}

.contacts__buttons {
   margin-top: 60px;
   display: flex;
   align-items: center;
}

@media (max-width: 767px) {
   .contacts__buttons {
      margin-top: 20px;
   }
}

.contacts__buttons .service__calc-link {
   flex: 0 1 auto;
}

.contacts__buttons .service__calc-link-icon {
   display: flex !important;
}

@media (max-width: 767px) {
   .contacts__buttons .service__calc-link-icon {
      width: 45px;
      height: 45px;
      flex: 0 0 45px;
   }

   .contacts__buttons .service__calc-link-icon svg {
      width: 24px;
      height: 24px;
   }
}

.contacts__map {
   flex: 0 1 50%;
   border-radius: 40px 0 0 40px;
   overflow: hidden;
}

@media (max-width: 1000px) {
   .contacts__map {
      border-radius: 0;
   }
}

@media (max-width: 767px) {
   .contacts__map iframe {
      width: 100%;
      height: 100%;
      min-height: 400px;
   }
}

/*------------------------------Footer---------------------------*/
.footer__body {
   padding: 60px 0;
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 30px;
}

@media (max-width: 767px) {
   .footer__body {
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      padding: 40px 0;
   }
}

@media (max-width: 550px) {
   .footer__body {
      padding: 20px 0;
      gap: 10px;
   }
}

.footer__req {
   color: rgb(0, 0, 0);
   font-family: Inter;
   font-weight: 400;
   line-height: 150%;
   font-size: calc(14px + 4 * ((100vw - 320px) / 1600));
   opacity: 0.5;
}

.footer__sv {
   color: rgb(0, 0, 0);
   font-family: Inter;
   font-weight: 400;
   line-height: 150%;
   font-size: calc(14px + 4 * ((100vw - 320px) / 1600));
   opacity: 0.5;
   border-bottom: 2px dashed #f51515;
}

@media (max-width: 550px) {
   .footer__sv p {
      padding-bottom: 10px;
   }
}

@media (max-width: 550px) {
   .footer__socials {
      width: 100%;
   }
}

.footer__socials-title {
   color: rgb(0, 0, 0);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 100%;
   font-size: calc(16px + 6 * ((100vw - 320px) / 1600));
   margin-bottom: 20px;
}

@media (max-width: 550px) {
   .footer__socials-title {
      text-align: center;
   }
}

.footer__socials-links {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   gap: 10px;
}

.footer__socials-links a {
   display: inline-flex;
   width: 60px;
   height: 60px;
   justify-content: center;
   align-items: center;
   border-radius: 50%;
   background: #f51515;
   transition: all 0.3s ease 0s;
}

.footer__socials-links a:hover {
   background: #c40c0c;
}

.footer__socials-links a svg {
   width: 32px;
   height: 32px;
   object-fit: contain;
   color: #fff;
}

@media (max-width: 767px) {
   .footer__socials-links {
      justify-content: flex-start;
   }
}

@media (max-width: 550px) {
   .footer__socials-links {
      justify-content: center;
      text-align: center;
   }
}

/*------------------------------РџРѕРїР°Рї---------------------------*/
.callback {
   position: fixed;
   inset: 0;
   z-index: 999;
   background: rgba(19, 19, 19, 0.8);
   display: none;
   overflow-x: hidden;
   overflow-y: auto;
   -webkit-overflow-scrolling: touch;
   cursor: url("../img/close-cursor.svg"), auto;
}

.callback.open {
   display: flex;
   flex-direction: column;
   align-items: stretch;
   justify-content: center;
   overflow: hidden;
   padding: max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
}

body.opened-callback {
   overflow: hidden;
}

.callback.open .callback__body {
   grid-area: unset;
   flex: 0 1 auto;
   min-height: 0;
   width: min(100%, 724px);
   max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
   margin-inline: auto;
   overflow-y: auto;
   -webkit-overflow-scrolling: touch;
   animation: visibled 0.4s ease-out 0s forwards;
}

.callback__body {
   position: relative;
   padding: clamp(20px, 2.8vh, 36px) clamp(18px, 2.5vw, 32px);
   border-radius: clamp(20px, 3vh, 40px);
   background: rgb(243, 243, 243);
   width: min(100% - 40px, 724px);
   margin-inline: auto;
   transform: scale(0.5);
   cursor: auto;
}

.callback__close {
   position: fixed;
   top: max(12px, env(safe-area-inset-top));
   right: max(12px, env(safe-area-inset-right));
   z-index: 1001;
   width: 44px;
   height: 44px;
   margin: 0;
   border: none;
   border-radius: 50%;
   background: #fff;
   color: #111327;
   font-size: 28px;
   line-height: 1;
   cursor: pointer;
   box-shadow: 0 4px 14px rgba(17, 19, 39, 0.16);
   flex-shrink: 0;
   grid-area: unset;
   place-self: unset;
}

.callback__close:hover {
   background: #f51515;
   color: #fff;
}

.callback__body.is-sending form {
   pointer-events: none;
   opacity: 0.55;
}

.callback__sending {
   display: none;
   position: absolute;
   inset: 0;
   z-index: 5;
   border-radius: 40px;
   background: rgba(243, 243, 243, 0.82);
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 14px;
}

.callback__body.is-sending .callback__sending {
   display: flex;
}

.callback__sending-spinner {
   width: 42px;
   height: 42px;
   border: 3px solid rgba(245, 21, 21, 0.2);
   border-top-color: #f51515;
   border-radius: 50%;
   animation: callbackSpin 0.8s linear infinite;
}

.callback__sending p {
   color: #111;
   font-size: 16px;
   font-weight: 500;
}

@keyframes callbackSpin {
   to {
      transform: rotate(360deg);
   }
}

.callback__body.sended .callback__title,
.callback__body.sended .callback__subtitle,
.callback__body.sended form {
   display: none;
}

.callback__body.sended .message {
   display: block;
}

.callback__body .message {
   display: none;
}

@media (max-width: 767px) {
   .callback.open {
      justify-content: flex-start;
      padding: max(8px, env(safe-area-inset-top)) 10px max(8px, env(safe-area-inset-bottom));
   }

   .callback.open .callback__body {
      flex: 1 1 auto;
      max-height: none;
      margin-top: 44px;
   }

   .callback__close {
      top: max(8px, env(safe-area-inset-top));
      right: max(8px, env(safe-area-inset-right));
   }

   .callback__body {
      width: min(100%, 724px);
      padding: 18px 16px 16px;
      border-radius: 20px;
   }
}

@media (max-width: 767px) and (max-height: 700px) {
   .callback__body {
      margin-top: 40px;
      padding: 14px 14px 12px;
   }
}


.form-id-badge {
   position: absolute;
   top: 14px;
   left: 14px;
   z-index: 2;
   display: inline-flex;
   align-items: center;
   padding: 4px 10px;
   border-radius: 999px;
   background: rgba(245, 21, 21, 0.1);
   border: 1px solid rgba(245, 21, 21, 0.28);
   color: #c40c0c;
   font-family: Inter, sans-serif;
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   pointer-events: none;
}

.form-id-badge--calc {
   position: absolute;
   top: 0;
   right: 0;
   left: auto;
}

.callback__title {
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 1.05;
   font-size: clamp(24px, 3.2vh, 42px);
   margin-bottom: 8px;
   text-align: center;
}

.callback__subtitle {
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-weight: 400;
   line-height: 1.2;
   font-size: clamp(16px, 2vh, 28px);
   text-align: center;
}

.callback__form {
   margin-top: 18px;
   display: flex;
   flex-direction: column;
   gap: 8px;
}

.callback__form-item {
   position: relative;
   width: 100%;
   height: 64px;
   cursor: pointer;
}

.callback__form-item:is(:focus-within, .added) label {
   top: 12px;
   transform: translateX(-50%);
   font-size: 12px;
}

.callback__form-item:is(:focus-within, .added) input {
   padding: 36px 24px 14px;
}

.callback__form-item input {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   border: 1px solid rgb(231, 231, 231);
   border-radius: 500px;
   background: rgb(255, 255, 255);
   z-index: 1;
   padding: 24px 24px 16px;
   text-align: center;
   color: #000;
   font-size: 18px;
}

.callback__form-item.has-error input {
   border-color: #f51515;
}

.callback__form-item.has-error {
   margin-bottom: 22px;
}

.callback__form-hint {
   position: absolute;
   bottom: -20px;
   left: 50%;
   transform: translateX(-50%);
   color: #f51515;
   font-family: Inter, sans-serif;
   font-size: 12px;
   line-height: 1.2;
   white-space: nowrap;
   z-index: 3;
}

.callback__form-item--phone label {
   transition: opacity 0.2s ease, visibility 0.2s ease;
}

.callback__form-item--phone:is(:focus-within, .added) label {
   opacity: 0;
   visibility: hidden;
}

.callback__form-item--phone:is(:focus-within, .added) input {
   padding: 24px 16px 16px;
}

.callback__form-item--phone input {
   font-variant-numeric: tabular-nums;
   letter-spacing: 0.02em;
   font-size: 16px;
}

.callback__form-item--phone input::placeholder {
   color: rgb(160, 160, 160);
   font-size: 15px;
}

.callback__form-item label {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   color: rgb(86, 86, 86);
   font-family: Inter;
   font-size: 16px;
   z-index: 2;
   pointer-events: none;
   transition: all 0.3s ease 0s;
   white-space: nowrap;
}

.callback__form-buttons {
   display: flex;
   align-items: center;
   min-height: 60px;
   margin-top: 4px;
}

.callback__consent {
   margin: 2px 0 10px;
}

.callback__consent.has-error .callback__consent-label {
   color: #b10e0e;
}

.callback__consent-label {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   cursor: pointer;
   font-family: Inter, sans-serif;
   font-size: 14px;
   line-height: 1.45;
   color: #3d4059;
}

.callback__consent-input {
   flex: 0 0 auto;
   width: 18px;
   height: 18px;
   margin-top: 2px;
   accent-color: #f51515;
   cursor: pointer;
}

.callback__consent-link {
   display: inline;
   padding: 0;
   border: none;
   background: none;
   color: #111327;
   font: inherit;
   text-decoration: underline;
   text-decoration-color: rgba(245, 21, 21, 0.45);
   text-underline-offset: 2px;
   cursor: pointer;
}

.callback__consent-link:hover {
   color: #f51515;
}

.callback__consent-hint {
   position: static;
   transform: none;
   display: block;
   margin-top: 6px;
   padding-left: 28px;
   white-space: normal;
   text-align: left;
}

.callback__consent.has-error .callback__consent-hint {
   opacity: 1;
   transform: translateY(0);
}

.callback .form-contact-hint {
   margin: 0 0 10px;
}

.callback .form-contact-hint--promo .form-contact-hint__card {
   padding: 12px 14px 14px;
}

.callback .form-contact-hint__subtitle {
   margin-bottom: 10px;
}

.callback .form-contact-hint__or {
   margin: 6px 0;
}

@media (min-width: 768px) and (max-height: 900px) {
   .callback__body {
      padding: 18px 24px 16px;
   }

   .callback__title {
      font-size: clamp(22px, 2.8vh, 34px);
   }

   .callback__subtitle {
      font-size: clamp(14px, 1.8vh, 22px);
   }

   .callback__form {
      margin-top: 12px;
      gap: 6px;
   }

   .callback__form-item {
      height: 58px;
   }

   .callback .form-contact-hint__subtitle {
      display: none;
   }

   .callback__form-buttons {
      min-height: 52px;
   }

   .callback .submit {
      min-height: 52px;
      height: 52px;
   }
}

@media (max-width: 767px) {
   .callback__title {
      font-size: 22px;
      margin-bottom: 6px;
   }

   .callback__subtitle {
      font-size: 13px;
      line-height: 1.25;
   }

   .callback__form {
      margin-top: 14px;
      gap: 8px;
   }

   .callback__form-item {
      height: 58px;
   }

   .callback__form-item input {
      font-size: 16px;
      padding: 20px 16px 12px;
   }

   .callback__form-item:is(:focus-within, .added) label {
      top: 8px;
      font-size: 11px;
   }

   .callback__form-item:is(:focus-within, .added) input {
      padding: 28px 16px 10px;
   }

   .callback__form-item--phone:is(:focus-within, .added) input {
      padding: 20px 16px 12px;
   }

   .callback__consent {
      margin: 2px 0 8px;
   }

   .callback__consent-label {
      font-size: 12px;
      line-height: 1.35;
      gap: 8px;
   }

   .callback__consent-input {
      width: 16px;
      height: 16px;
      margin-top: 1px;
   }

   .callback .form-contact-hint {
      margin: 0 0 8px;
   }

   .callback .form-contact-hint--promo .form-contact-hint__card {
      padding: 10px 12px 12px;
   }

   .callback .form-contact-hint__title {
      font-size: 14px;
      margin-bottom: 8px;
   }

   .callback .form-contact-hint__subtitle {
      display: none;
   }

   .callback .form-contact-hint__links {
      gap: 6px;
   }

   .callback .form-contact-hint__link {
      min-width: 0;
      flex: 1 1 0;
      padding: 6px 4px 4px;
      gap: 4px;
   }

   .callback .form-contact-hint__link-icon,
   .callback .form-contact-hint__link-icon img {
      width: 32px;
      height: 32px;
   }

   .callback .form-contact-hint__link-label {
      font-size: 10px;
   }

   .callback .form-contact-hint__or {
      margin: 4px 0;
   }

   .callback__form-buttons {
      min-height: 52px;
      margin-top: 4px;
   }

   .callback .submit {
      min-height: 52px;
      height: 52px;
   }
}

@media (max-width: 767px) and (max-height: 700px) {
   .callback__title {
      font-size: 20px;
   }

   .callback__subtitle {
      font-size: 12px;
   }

   .callback__form {
      margin-top: 10px;
      gap: 6px;
   }

   .callback__form-item {
      height: 52px;
   }

   .callback__form-buttons {
      min-height: 48px;
   }

   .callback .submit {
      min-height: 48px;
      height: 48px;
   }
}

@media (max-width: 550px) {
   .callback__form-item {
      height: 52px;
   }
}

.submit {
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   background: transparent;
   min-height: 70px;
   border-radius: 500px;
   transition: all 0.3s ease 0s;
}

@media (max-width: 550px) {
   .submit {
      height: 60px;
      min-height: 60px;
   }
}

.submit:hover .submit__icon {
   background: #c40c0c;
}

.submit:hover .link {
   background: #c40c0c;
}

.submit__text {
   background: #f51515;
   display: inline-flex;
   justify-content: center;
   align-items: center;
   gap: 10px;
   width: 100%;
   height: 100%;
   flex: 1;
   min-height: 70px;
   border-radius: 500px;
}

.submit__loader {
   display: none;
   width: 20px;
   height: 20px;
   border: 2px solid rgba(255, 255, 255, 0.35);
   border-top-color: #fff;
   border-radius: 50%;
   animation: callbackSpin 0.7s linear infinite;
   flex-shrink: 0;
}

.submit.is-loading {
   pointer-events: none;
}

.submit.is-loading .submit__loader {
   display: block;
}

.submit.is-loading .submit__icon {
   opacity: 0.6;
}

@media (max-width: 550px) {
   .submit__text {
      min-height: 60px;
   }
}

.submit__icon {
   background: #f51515;
   height: 70px;
   aspect-ratio: 1/1;
   border-radius: 50%;
   display: inline-flex;
   justify-content: center;
   transition: all 0.3s ease 0s;
   align-items: center;
}

@media (max-width: 550px) {
   .submit__icon {
      min-height: 60px;
      width: 60px;
      height: 60px;
   }
}

.submit__icon svg {
   width: 32px;
   height: 32px;
   color: #fff;
}

@media (max-width: 550px) {
   .submit__icon svg {
      width: 26px;
      height: 26px;
   }
}

.message {
   text-align: center;
}

.message__img {
   margin-inline: auto;
   margin-bottom: 55px;
   max-width: 200px;
}

.message__img img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}

@media (max-width: 550px) {
   .message__img {
      max-width: 120px;
   }
}

.message__title {
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-size: calc(30px + 24 * ((100vw - 320px) / 1600));
   margin-bottom: 10px;
}

.message__subtitle {
   color: rgb(17, 19, 39);
   font-family: Coolvetica;
   font-size: calc(22px + 14 * ((100vw - 320px) / 1600));
}

/*------------------------------Calc modal---------------------------*/
.calc-modal {
   position: fixed;
   inset: 0;
   z-index: 1000;
   background: rgba(19, 19, 19, 0.8);
   display: none;
   overflow-x: hidden;
   overflow-y: auto;
   -webkit-overflow-scrolling: touch;
   cursor: url("../img/close-cursor.svg"), auto;
}

.calc-modal.open {
   display: grid;
   place-items: center;
   padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
}

body.opened-calc-modal {
   overflow: hidden;
}

.calc-modal.open .calc-modal__body {
   grid-area: 1 / 1;
   animation: visibled 0.4s ease-out 0s forwards;
}

.calc-modal__close {
   grid-area: 1 / 1;
   place-self: start end;
   position: sticky;
   top: max(12px, env(safe-area-inset-top));
   z-index: 1001;
   width: 44px;
   height: 44px;
   margin: 12px 12px 0 0;
   border: none;
   border-radius: 50%;
   background: #fff;
   color: #111327;
   font-size: 28px;
   line-height: 1;
   cursor: pointer;
   box-shadow: 0 4px 14px rgba(17, 19, 39, 0.16);
   flex-shrink: 0;
}

.calc-modal__close:hover {
   background: #f51515;
   color: #fff;
}

.calc-modal__body {
   position: relative;
   width: min(100% - 24px, 1000px);
   margin-inline: auto;
   transform: scale(0.5);
   cursor: auto;
}

.calc-modal__heading {
   text-align: center;
   margin-bottom: 24px;
}

.calc-modal__title {
   font-family: Coolvetica, sans-serif;
   font-size: calc(24px + 10 * ((100vw - 320px) / 1600));
   font-weight: 600;
   color: #fff;
   margin-bottom: 8px;
   line-height: 1.2;
}

.calc-modal__lead {
   font-family: Inter, sans-serif;
   font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
   color: rgba(255, 255, 255, 0.82);
   line-height: 1.45;
}

.calc-modal__card {
   display: grid;
   grid-template-columns: 1fr 1fr;
   background: #fff;
   border-radius: 24px;
   overflow: hidden;
   box-shadow: 0 12px 48px rgba(0, 0, 0, 0.18);
}

.calc-modal__left {
   padding: 32px 36px;
   border-right: 1px solid rgb(231, 231, 231);
}

.calc-modal__right {
   padding: 32px 36px;
   display: flex;
   flex-direction: column;
   background: #f9f9f9;
}

.calc-modal__panel-title {
   font-family: Coolvetica, sans-serif;
   font-size: 1.25rem;
   font-weight: 600;
   color: rgb(17, 19, 39);
   margin-bottom: 6px;
}

.calc-modal__panel-sub {
   font-family: Inter, sans-serif;
   font-size: 0.875rem;
   color: rgb(120, 120, 120);
   margin-bottom: 24px;
   line-height: 1.45;
}

.calc-modal__field {
   margin-bottom: 14px;
}

.calc-modal__label {
   display: block;
   font-family: Inter, sans-serif;
   font-size: 0.8125rem;
   color: rgb(120, 120, 120);
   margin-bottom: 6px;
}

.calc-modal__input,
.calc-modal__select {
   width: 100%;
   height: 50px;
   border: 1.5px solid rgb(231, 231, 231);
   border-radius: 12px;
   padding: 0 16px;
   font-size: 1rem;
   font-family: Inter, sans-serif;
   color: rgb(17, 19, 39);
   background: #fff;
   outline: none;
   transition: border-color 0.2s, box-shadow 0.2s;
   appearance: none;
   -webkit-appearance: none;
}

.calc-modal__input:focus,
.calc-modal__select:focus {
   border-color: #f51515;
   box-shadow: 0 0 0 3px rgba(245, 21, 21, 0.1);
}

.calc-modal__select-wrap {
   position: relative;
}

.calc-modal__select-wrap::after {
   content: '';
   position: absolute;
   right: 16px;
   top: 50%;
   transform: translateY(-50%);
   border-left: 5px solid transparent;
   border-right: 5px solid transparent;
   border-top: 6px solid rgb(136, 136, 136);
   pointer-events: none;
}

.calc-modal__btn-calc {
   width: 100%;
   height: 50px;
   margin-top: 8px;
   background: #f51515;
   color: #fff;
   border: none;
   border-radius: 12px;
   font-size: 1rem;
   font-weight: 600;
   font-family: Inter, sans-serif;
   cursor: pointer;
   transition: background 0.15s, transform 0.1s;
}

.calc-modal__btn-calc:hover {
   background: #c40c0c;
}

.calc-modal__btn-calc:active {
   transform: scale(0.98);
}

.calc-modal__routes {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   margin-bottom: 24px;
}

.calc-modal__route {
   border: 1.5px solid rgb(231, 231, 231);
   border-radius: 12px;
   padding: 12px 14px;
   cursor: pointer;
   transition: border-color 0.15s, background 0.15s;
   background: #fff;
   text-align: left;
   font-family: inherit;
}

.calc-modal__route:hover {
   border-color: rgb(200, 200, 200);
}

.calc-modal__route.is-selected {
   border-color: #f51515;
   background: rgba(245, 21, 21, 0.06);
}

.calc-modal__route-head {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 4px;
}

.calc-modal__route-check {
   width: 20px;
   height: 20px;
   border: 1.5px solid rgb(221, 221, 221);
   border-radius: 5px;
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: background 0.15s, border-color 0.15s;
}

.calc-modal__route.is-selected .calc-modal__route-check {
   background: #f51515;
   border-color: #f51515;
}

.calc-modal__route-check svg {
   display: none;
}

.calc-modal__route.is-selected .calc-modal__route-check svg {
   display: block;
}

.calc-modal__route-name {
   font-family: Coolvetica, sans-serif;
   font-size: 0.9375rem;
   font-weight: 600;
   color: rgb(17, 19, 39);
}

.calc-modal__route-price {
   display: block;
   font-family: Inter, sans-serif;
   font-size: 0.8125rem;
   color: rgb(120, 120, 120);
   padding-left: 28px;
   line-height: 1.4;
}

.calc-modal__route-price strong {
   color: rgb(17, 19, 39);
   font-weight: 600;
}

.calc-modal__contact {
   position: relative;
   margin-top: auto;
   padding-top: 22px;
}

.calc-modal__contact-title {
   font-family: Coolvetica, sans-serif;
   font-size: 0.9375rem;
   font-weight: 600;
   color: rgb(17, 19, 39);
   margin-bottom: 10px;
}

.calc-modal__contact-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
   margin-bottom: 10px;
}

.calc-modal__contact-input {
   width: 100%;
   height: 44px;
   border: 1.5px solid rgb(231, 231, 231);
   border-radius: 10px;
   padding: 0 14px;
   font-size: 0.875rem;
   font-family: Inter, sans-serif;
   color: rgb(17, 19, 39);
   background: #fff;
   outline: none;
   transition: border-color 0.2s;
}

.calc-modal__contact-input:focus {
   border-color: #f51515;
}

.calc-modal__btn-submit {
   height: 44px;
   padding: 0 28px;
   background: #f51515;
   color: #fff;
   border: none;
   border-radius: 10px;
   font-size: 0.9375rem;
   font-weight: 600;
   font-family: Inter, sans-serif;
   cursor: pointer;
   transition: background 0.15s;
}

.calc-modal__btn-submit:hover {
   background: #c40c0c;
}

.calc-modal__btn-submit:disabled {
   opacity: 0.65;
   cursor: wait;
}

.calc-modal__hint {
   margin-top: 12px;
   font-family: Inter, sans-serif;
   font-size: 0.75rem;
   line-height: 1.45;
   color: rgb(136, 136, 136);
}

.calc-modal__success {
   margin-top: auto;
   text-align: center;
   padding: 12px 0 0;
}

.calc-modal__success-icon {
   width: 48px;
   height: 48px;
   background: #e8f5e9;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto 12px;
}

.calc-modal__success p {
   font-family: Inter, sans-serif;
   font-size: 0.9375rem;
   color: rgb(51, 51, 51);
   line-height: 1.5;
}

@media (max-width: 820px) {
   .calc-modal__card {
      grid-template-columns: 1fr;
   }

   .calc-modal__left {
      border-right: none;
      border-bottom: 1px solid rgb(231, 231, 231);
      padding: 24px 20px;
   }

   .calc-modal__right {
      padding: 24px 20px;
   }
}

@media (max-width: 560px) {
   .calc-modal.open {
      padding-top: max(8px, env(safe-area-inset-top));
   }

   .calc-modal__close {
      position: fixed;
      top: max(8px, env(safe-area-inset-top));
      right: 8px;
      margin: 0;
   }

   .calc-modal__heading {
      margin-bottom: 16px;
      padding-top: 8px;
   }

   .calc-modal__contact-row {
      grid-template-columns: 1fr;
   }

   .calc-modal__card {
      border-radius: 20px;
   }
}

/*------------------------------Privacy modal---------------------------*/
.privacy-modal {
   position: fixed;
   inset: 0;
   z-index: 1100;
   display: none;
   align-items: center;
   justify-content: center;
   padding: 20px;
}

.privacy-modal.is-open {
   display: flex;
}

.privacy-modal__overlay {
   position: absolute;
   inset: 0;
   background: rgba(19, 19, 19, 0.72);
}

.privacy-modal__dialog {
   position: relative;
   z-index: 1;
   width: min(100%, 640px);
   max-height: min(85vh, 720px);
   overflow: auto;
   padding: calc(24px + 20 * ((100vw - 320px) / 1600));
   border-radius: 28px;
   background: #fff;
   box-shadow: 0 24px 60px rgba(17, 19, 39, 0.2);
}

.privacy-modal__close {
   position: absolute;
   top: 14px;
   right: 16px;
   width: 36px;
   height: 36px;
   border: none;
   border-radius: 50%;
   background: #f3f3f3;
   color: #111327;
   font-size: 24px;
   line-height: 1;
   cursor: pointer;
}

.privacy-modal__close:hover {
   background: #e8e8e8;
}

.privacy-modal__title {
   margin: 0 36px 16px 0;
   font-family: Coolvetica, sans-serif;
   font-size: calc(22px + 10 * ((100vw - 320px) / 1600));
   line-height: 1.2;
   color: #111327;
}

.privacy-modal__content {
   font-family: Inter, sans-serif;
   font-size: 15px;
   line-height: 1.6;
   color: #3d4059;
}

.privacy-modal__content p + p {
   margin-top: 14px;
}

body.opened-privacy {
   overflow: hidden;
}

/*------------------------------Messenger gate---------------------------*/
.messenger-gate {
   position: fixed;
   inset: 0;
   z-index: 1100;
   display: none;
   align-items: center;
   justify-content: center;
   padding: 16px;
   overflow: hidden;
}

.messenger-gate.is-open {
   display: grid !important;
   place-items: center;
}

.messenger-gate__overlay {
   position: absolute;
   inset: 0;
   z-index: 0;
   background: rgba(19, 19, 19, 0.8);
   cursor: url("../img/close-cursor.svg"), auto;
}

.messenger-gate__dialog {
   position: relative;
   z-index: 1;
   grid-area: 1 / 1;
   width: min(100% - 32px, 460px);
   padding: 20px 22px 18px;
   border-radius: 32px;
   background: linear-gradient(135deg, #fff8f8 0%, #fff 55%, #fff5f5 100%);
   border: 2px solid rgba(245, 21, 21, 0.18);
   box-shadow:
      0 24px 60px rgba(17, 19, 39, 0.22),
      0 10px 28px rgba(245, 21, 21, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
   text-align: center;
   overflow: hidden;
   cursor: auto;
   transform: scale(0.5);
}

.messenger-gate.is-open .messenger-gate__dialog {
   animation: visibled 0.4s ease-out 0s forwards;
}

.messenger-gate__dialog::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 4px;
   background: linear-gradient(90deg, #f51515 0%, #ff6b6b 100%);
}

.messenger-gate__close {
   position: absolute;
   top: 14px;
   right: 14px;
   z-index: 2;
   width: 40px;
   height: 40px;
   border: none;
   border-radius: 50%;
   background: #fff;
   color: #111327;
   font-size: 26px;
   line-height: 1;
   cursor: pointer;
   box-shadow: 0 4px 14px rgba(17, 19, 39, 0.12);
   transition: background-color 0.3s ease, color 0.3s ease;
}

.messenger-gate__close:hover {
   background: #f51515;
   color: #fff;
}

.messenger-gate__badge {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 56px;
   height: 56px;
   margin: 4px auto 8px;
   border-radius: 22px;
   background: #fff;
   border: 1px solid rgba(17, 19, 39, 0.08);
   box-shadow: 0 8px 24px rgba(17, 19, 39, 0.08);
}

.messenger-gate__icon {
   width: 40px;
   height: 40px;
   object-fit: contain;
}

.messenger-gate__channel {
   margin: 0 0 4px;
   font-family: Coolvetica, sans-serif;
   font-size: calc(14px + 4 * ((100vw - 320px) / 1600));
   line-height: 1.2;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   color: #f51515;
}

.messenger-gate__channel-id {
   margin: 0 0 10px;
   font-family: Inter, sans-serif;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   color: #6b6f88;
}

.sales-cta__btn[data-messenger-channel],
.form-contact-hint__link[data-messenger-channel] {
   position: relative;
}

.sales-cta__btn[data-messenger-channel]::after,
.form-contact-hint__link[data-messenger-channel]::after {
   content: 'M' attr(data-messenger-channel);
   position: absolute;
   top: -7px;
   right: -7px;
   min-width: 22px;
   height: 22px;
   padding: 0 5px;
   border-radius: 999px;
   background: #111327;
   color: #fff;
   font-family: Inter, sans-serif;
   font-size: 10px;
   font-weight: 700;
   line-height: 22px;
   text-align: center;
   letter-spacing: 0.02em;
   box-shadow: 0 2px 8px rgba(17, 19, 39, 0.25);
   pointer-events: none;
}

.messenger-gate__title {
   margin: 0 0 8px;
   padding: 0 28px;
   font-family: Coolvetica, sans-serif;
   font-size: calc(24px + 10 * ((100vw - 320px) / 1600));
   line-height: 1.15;
   color: #111327;
}

.messenger-gate__text {
   margin: 0 0 10px;
   padding: 0 8px;
   font-family: Inter, sans-serif;
   font-size: calc(15px + 3 * ((100vw - 320px) / 1600));
   line-height: 1.55;
   color: #3d4059;
}

.messenger-gate__text strong {
   color: #111327;
   font-weight: 600;
}

.messenger-gate__note {
   margin: 0 0 14px;
   padding: 12px 14px;
   border-radius: 16px;
   background: rgba(245, 21, 21, 0.06);
   border: 1px solid rgba(245, 21, 21, 0.12);
   font-family: Inter, sans-serif;
   font-size: calc(13px + 2 * ((100vw - 320px) / 1600));
   line-height: 1.45;
   color: #565656;
}

.messenger-gate__note span {
   color: #111327;
   font-weight: 600;
}

.messenger-gate__cargo {
   display: block;
   margin: 0 0 10px;
   text-align: left;
}

.messenger-gate__hint {
   margin: 0 0 12px;
   padding: 12px 14px;
   border-radius: 16px;
   background: rgba(245, 21, 21, 0.08);
   border: 1px solid rgba(245, 21, 21, 0.18);
   font-family: Inter, sans-serif;
   font-size: calc(13px + 2 * ((100vw - 320px) / 1600));
   line-height: 1.45;
   color: #3d4059;
   text-align: left;
}

.messenger-gate__hint strong {
   color: #c40c0c;
   font-weight: 700;
}

.messenger-gate__max-tip {
   margin: 0 0 12px;
   padding: 10px 12px;
   border-radius: 16px;
   background: #fff4d6;
   border: 1px solid #e6c56b;
   font-family: Inter, sans-serif;
   font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
   line-height: 1.5;
   color: #3d4059;
   text-align: left;
}

.messenger-gate__max-tip p {
   margin: 0;
}

.messenger-gate__max-tip p + p {
   margin-top: 8px;
}

.messenger-gate__max-tip strong {
   color: #111327;
}

.messenger-gate__form {
   display: grid;
   gap: 10px;
}

.messenger-gate__row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
}

.messenger-gate__field {
   display: grid;
   gap: 6px;
   margin: 0;
}

.messenger-gate__field span {
   font-family: Inter, sans-serif;
   font-size: 12px;
   font-weight: 600;
   letter-spacing: 0.02em;
   color: #111327;
}

.messenger-gate__field input {
   width: 100%;
   min-height: 46px;
   padding: 10px 12px;
   border: 1px solid rgba(17, 19, 39, 0.14);
   border-radius: 14px;
   background: #fff;
   font-family: Inter, sans-serif;
   font-size: 15px;
   color: #111327;
   box-sizing: border-box;
}

.messenger-gate__field input:focus {
   outline: none;
   border-color: #f51515;
   box-shadow: 0 0 0 3px rgba(245, 21, 21, 0.12);
}

.messenger-gate__error {
   margin: 0;
   font-family: Inter, sans-serif;
   font-size: 13px;
   line-height: 1.4;
   color: #c40c0c;
}

.messenger-gate__note {
   margin-bottom: 16px;
}

@media (max-width: 500px) {
   .messenger-gate__row {
      grid-template-columns: 1fr;
   }
}

.messenger-gate__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   justify-content: center;
}

.messenger-gate__btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 52px;
   min-width: 148px;
   padding: 14px 28px;
   border-radius: 500px;
   border: none;
   font-family: Coolvetica, sans-serif;
   font-size: calc(16px + 4 * ((100vw - 320px) / 1600));
   cursor: pointer;
   transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.messenger-gate__btn--primary {
   background: #f51515;
   color: #fff;
   box-shadow: 0 8px 24px rgba(245, 21, 21, 0.28);
}

.messenger-gate__btn--primary:hover {
   background: #c40c0c;
   transform: translateY(-1px);
}

.messenger-gate__btn--ghost {
   background: #fff;
   color: #111327;
   border: 1px solid rgba(17, 19, 39, 0.12);
}

.messenger-gate__btn--ghost:hover {
   background: #f3f3f3;
}

body.opened-messenger-gate {
   overflow: hidden;
}

.messenger-gate__badge--form {
   font-size: 34px;
   line-height: 1;
}

body.opened-form-gate {
   overflow: hidden;
}

@media (max-width: 500px) {
   .messenger-gate__actions {
      flex-direction: column;
      align-items: stretch;
   }

   .messenger-gate__btn {
      width: 100%;
   }
}

@keyframes visibled {
   0% {
      transform: scale(0.5);
   }

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

.open-callback {
   cursor: pointer;
}

/* CTA markers: visible only with ?nnn */
.has-cta-id {
   position: relative;
}

.cta-id-badge {
   display: none;
   position: absolute;
   top: 2px;
   right: 2px;
   z-index: 50;
   min-width: 18px;
   height: 18px;
   padding: 0 5px;
   box-sizing: border-box;
   align-items: center;
   justify-content: center;
   border-radius: 999px;
   font-size: 11px;
   line-height: 1;
   font-weight: 800;
   font-family: Consolas, "Courier New", monospace;
   color: #fff;
   background: #d9480f;
   box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.95);
   pointer-events: none;
   user-select: none;
   letter-spacing: -0.02em;
}

html.show-cta-ids .cta-id-badge {
   display: inline-flex;
}

/* Bottom contacts phone/email: inline chip, ignore reveal animation opacity */
.contacts__telephone a.has-cta-id > .cta-id-badge,
.contacts__email a.has-cta-id > .cta-id-badge {
   position: static;
   display: none;
   margin-right: 10px;
   margin-left: 0;
   flex: 0 0 auto;
   align-self: center;
   opacity: 1 !important;
   transform: none !important;
   transition: none !important;
}

html.show-cta-ids .contacts__telephone a.has-cta-id > .cta-id-badge,
html.show-cta-ids .contacts__email a.has-cta-id > .cta-id-badge {
   display: inline-flex;
}

.home__circle.has-cta-id > .cta-id-badge,
.home__circle-icon.has-cta-id > .cta-id-badge {
   top: 8px;
   right: 8px;
}

.service__calc-link-icon.has-cta-id > .cta-id-badge,
.about__link-icon.has-cta-id > .cta-id-badge {
   top: 0;
   right: 0;
}

.header__contact.has-cta-id > .cta-id-badge,
.form-contact-hint__link.has-cta-id > .cta-id-badge {
   top: 0;
   right: 0;
}

/*------------------------------Article page---------------------------*/
.page-article {
   background: #f3f3f3;
}

.page-article .wrapper {
   background: #f3f3f3;
}

.page-article .header {
   position: relative;
   background: #fff;
   box-shadow: 0 1px 0 rgba(17, 19, 39, 0.06);
   overflow: visible;
}

.page-article .header__logo {
   transform: none;
}

.page-article .header__contact,
.page-article .header__telephone,
.page-article .header__email {
   transform: none;
   opacity: 1;
}

.page-article .menu__list > li {
   transform: none;
   opacity: 1;
}

.page-article .menu__icon {
   transform: none;
   opacity: 1;
}

.page-article .menu__link {
   color: rgb(17, 19, 39);
}

.page-article .header__telephone,
.page-article .header__email {
   color: rgb(17, 19, 39);
}

.page-article .header__telephone svg,
.page-article .header__email svg {
   color: rgb(17, 19, 39);
}

/* Р‘РµР»С‹Р№ С…РµРґРµСЂ СЃС‚Р°С‚СЊРё: РїРѕРґРїРёСЃСЊ В«Р·РІРѕРЅРѕРє Р±РµСЃРїР»Р°С‚РЅС‹Р№В» РѕСЂР°РЅР¶РµРІР°СЏ, РЅРµ Р¶С‘Р»С‚Р°СЏ */
.page-article .header .header__phone-free {
   color: #f05205;
}

.page-article .header .header__phone-free::before {
   background: #f05205;
   box-shadow: 0 0 0 0 rgba(240, 82, 5, 0.45);
}

.page-article .header .header__telephone--free:hover .header__phone-num {
   color: #f51515;
}

.page-article .header .header__telephone--free:hover .header__phone-free {
   color: #c40c0c;
}

.page-article .header .header__telephone--free:hover .header__phone-free::before {
   background: #c40c0c;
}

/* Р‘РµР»С‹Р№ С…РµРґРµСЂ СЃС‚Р°С‚СЊРё: РёРєРѕРЅРєРё РјРµСЃСЃРµРЅРґР¶РµСЂРѕРІ РЅРµ РґРѕР»Р¶РЅС‹ Р±С‹С‚СЊ Р±РµР»С‹РјРё */
.page-article .header .header__contact svg {
   color: rgb(17, 19, 39);
}

.page-article .header .header__contact[data-track="telegram"] svg {
   color: #0088cc;
}

.page-article .header .header__contact[data-track="whatsapp"] svg {
   color: #25d366;
}

/* РўС‘РјРЅС‹Р№ dock В«РЎРІСЏР·Р°С‚СЊСЃСЏВ»: С‚РµР»РµС„РѕРЅ/email СЃРЅРѕРІР° Р±РµР»С‹Рµ (РїРµСЂРµР±РёРІР°РµРј .page-article) */
.page-article.contacts-docked .contacts-dock .header__telephone,
.page-article.contacts-docked .contacts-dock .header__email {
   color: #fff;
}

.page-article.contacts-docked .contacts-dock .header__telephone svg,
.page-article.contacts-docked .contacts-dock .header__email svg {
   color: #fff;
}

.page-article.contacts-docked .contacts-dock .header__contact svg {
   color: #fff;
}

@media (max-width: 1200px) {
   .page-article .menu__icon::before,
   .page-article .menu__icon::after,
   .page-article .menu__icon span {
      background-color: rgb(17, 19, 39);
   }

   .page-article .menu__icon._active::before,
   .page-article .menu__icon._active::after {
      background-color: #fff;
   }
}

.page-article .footer {
   margin-top: 0;
}

.article-page {
   padding: 32px 16px 48px;
}

.article-layout {
   max-width: 920px;
   margin: 0 auto;
}

.article-prose {
   background: #fff;
   border-radius: 24px;
   border: 1px solid rgb(231, 231, 231);
   box-shadow: 0 8px 32px rgba(17, 19, 39, 0.06);
   padding: calc(28px + 16 * ((100vw - 320px) / 1600)) calc(24px + 20 * ((100vw - 320px) / 1600)) calc(32px + 20 * ((100vw - 320px) / 1600));
}

.article-prose__breadcrumb {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 8px;
   margin-bottom: 24px;
   font-family: Inter, sans-serif;
   font-size: 13px;
   color: rgb(120, 120, 120);
}

.article-prose__breadcrumb a {
   color: rgb(86, 86, 86);
   text-decoration: none;
}

.article-prose__breadcrumb a:hover {
   color: #f51515;
}

.article-prose__meta {
   margin: 0 0 12px;
   color: rgb(120, 120, 120);
   font-family: Inter, sans-serif;
   font-size: 13px;
   letter-spacing: 0.02em;
   text-transform: uppercase;
}

.article-prose__title {
   margin: 0 0 16px;
   color: rgb(17, 19, 39);
   font-family: Coolvetica, sans-serif;
   font-size: calc(26px + 18 * ((100vw - 320px) / 1600));
   line-height: 1.15;
   font-weight: 400;
}

.article-prose__title span {
   color: #f51515;
}

.article-prose__lead {
   margin: 0;
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: calc(16px + 2 * ((100vw - 320px) / 1600));
   line-height: 1.6;
}

.article-prose__summary {
   margin: 28px 0 32px;
   padding: 20px 22px;
   border-radius: 20px;
   background: rgba(245, 21, 21, 0.04);
   border: 1px solid rgba(245, 21, 21, 0.12);
}

.article-prose__summary-label {
   margin: 0 0 12px;
   color: #f51515;
   font-family: Coolvetica, sans-serif;
   font-size: calc(18px + 4 * ((100vw - 320px) / 1600));
   font-weight: 600;
   letter-spacing: 0;
   text-transform: none;
}

.article-prose__summary p {
   margin: 0 0 10px;
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: calc(15px + 1 * ((100vw - 320px) / 1600));
   line-height: 1.6;
}

.article-prose__summary p:last-child {
   margin-bottom: 0;
}

.article-prose__toc {
   margin: 0 0 32px;
   padding: 18px 20px;
   border-radius: 20px;
   background: #f9f9f9;
   border: 1px dashed rgba(245, 21, 21, 0.25);
}

.article-prose__toc-title {
   margin: 0 0 10px;
   color: rgb(17, 19, 39);
   font-family: Inter, sans-serif;
   font-size: 13px;
   font-weight: 700;
   letter-spacing: 0.06em;
   text-transform: uppercase;
}

.article-prose__toc ol {
   margin: 0;
   padding-left: 1.2em;
}

.article-prose__toc li {
   margin-bottom: 4px;
}

.article-prose__toc a {
   color: rgb(86, 86, 86);
   font-family: Inter, sans-serif;
   font-size: 15px;
   text-decoration: none;
   border-bottom: 1px solid transparent;
   transition: color 0.2s ease, border-color 0.2s ease;
}

.article-prose__toc a:hover {
   color: #f51515;
   border-bottom-color: rgba(245, 21, 21, 0.35);
}

.article-prose__note,
.article-prose__tip {
   margin: 24px 0;
   padding: 16px 18px;
   border-radius: 12px;
   font-family: Inter, sans-serif;
   font-size: calc(15px + 1 * ((100vw - 320px) / 1600));
   line-height: 1.6;
}

.article-prose__note {
   background: #fff8f8;
   border-left: 3px solid #f51515;
   color: rgb(68, 68, 68);
}

.article-prose__note p,
.article-prose__tip p {
   margin: 0;
}

.article-prose__tip {
   background: #f6f9fc;
   border-left: 3px solid #304e75;
   color: rgb(68, 68, 68);
}

.article-prose__note strong,
.article-prose__tip strong {
   color: rgb(17, 19, 39);
}

.article-prose__content h2 {
   margin: 40px 0 14px;
   padding-top: 8px;
   color: rgb(17, 19, 39);
   font-family: Coolvetica, sans-serif;
   font-size: calc(22px + 8 * ((100vw - 320px) / 1600));
   line-height: 1.2;
   font-weight: 400;
}

.article-prose__content h2::after {
   content: '';
   display: block;
   width: 48px;
   height: 3px;
   margin-top: 10px;
   border-radius: 2px;
   background: #f51515;
}

.article-prose__content h2:first-child {
   margin-top: 0;
}

.article-prose__content h3 {
   margin: 24px 0 8px;
   color: rgb(17, 19, 39);
   font-family: Inter, sans-serif;
   font-size: calc(16px + 2 * ((100vw - 320px) / 1600));
   font-weight: 700;
   line-height: 1.35;
}

.article-prose__content p {
   margin: 0 0 16px;
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: calc(16px + 1 * ((100vw - 320px) / 1600));
   line-height: 1.65;
}

.article-prose__content ul,
.article-prose__content ol {
   margin: 0 0 16px;
   padding-left: 1.35em;
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: calc(16px + 1 * ((100vw - 320px) / 1600));
   line-height: 1.65;
}

.article-prose__content li + li {
   margin-top: 6px;
}

.article-prose__steps {
   list-style: none;
   padding: 0;
   margin: 0 0 16px;
   counter-reset: step;
}

.article-prose__steps li {
   position: relative;
   padding: 16px 16px 16px 48px;
   margin-bottom: 10px;
   counter-increment: step;
   border-radius: 16px;
   background: #f9f9f9;
   border: 1px solid rgb(231, 231, 231);
}

.article-prose__steps li::before {
   content: counter(step, decimal-leading-zero);
   position: absolute;
   left: 16px;
   top: 16px;
   color: #f51515;
   font-family: Coolvetica, sans-serif;
   font-size: 18px;
   line-height: 1.2;
}

.article-prose__table {
   width: 100%;
   margin: 0 0 20px;
   border-collapse: collapse;
   font-family: Inter, sans-serif;
   font-size: 15px;
}

.article-prose__table th,
.article-prose__table td {
   padding: 12px 14px;
   text-align: left;
   border: 1px solid #e8e8e8;
   vertical-align: top;
   line-height: 1.45;
}

.article-prose__table th {
   background: #fafafa;
   color: rgb(17, 19, 39);
   font-weight: 600;
}

.article-prose__table td {
   color: rgb(68, 68, 68);
}

.article-prose__routes {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 14px;
   margin: 0 0 20px;
}

.article-route {
   border-radius: 20px;
   background: #fff;
   border: 1px solid rgb(231, 231, 231);
   padding: 20px 18px 22px;
   box-shadow: 0 4px 18px rgba(17, 19, 39, 0.04);
}

.article-route__tag {
   margin: 0 0 10px;
   color: #f51515;
   font-family: Inter, sans-serif;
   font-size: 12px;
   font-weight: 600;
   letter-spacing: 0.02em;
}

.article-route__name {
   margin: 0 0 8px;
   color: rgb(17, 19, 39);
   font-family: Coolvetica, sans-serif;
   font-size: calc(18px + 4 * ((100vw - 320px) / 1600));
   font-weight: 600;
   line-height: 1.2;
}

.article-route__text {
   margin: 0;
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: 14px;
   line-height: 1.55;
}

.article-prose__list,
.article-prose__checks {
   margin: 0 0 16px;
   padding: 0;
   list-style: none;
}

.article-prose__list li,
.article-prose__checks li {
   position: relative;
   padding-left: 22px;
   margin-bottom: 10px;
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: calc(16px + 1 * ((100vw - 320px) / 1600));
   line-height: 1.65;
}

.article-prose__list li::before,
.article-prose__checks li::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0.62em;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: #f51515;
}

.article-prose__faq {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.article-faq__item {
   border-radius: 16px;
   background: #fff;
   border: 1px solid rgb(231, 231, 231);
   overflow: hidden;
}

.article-faq__question {
   padding: 16px 44px 16px 18px;
   color: rgb(17, 19, 39);
   font-family: Coolvetica, sans-serif;
   font-size: calc(16px + 2 * ((100vw - 320px) / 1600));
   font-weight: 600;
   line-height: 1.35;
   cursor: pointer;
   list-style: none;
   position: relative;
}

.article-faq__question::-webkit-details-marker {
   display: none;
}

.article-faq__question::after {
   content: '+';
   position: absolute;
   right: 18px;
   top: 50%;
   transform: translateY(-50%);
   color: #f51515;
   font-family: Inter, sans-serif;
   font-size: 20px;
   font-weight: 400;
   line-height: 1;
}

.article-faq__item[open] .article-faq__question::after {
   content: '\2212';
}

.article-faq__answer {
   padding: 0 18px 16px;
}

.article-faq__answer p {
   margin: 0;
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: 15px;
   line-height: 1.6;
}

.article-faq__answer a {
   color: #f51515;
   text-decoration: underline;
}

.article-prose__footer {
   margin-top: 40px;
   padding-top: 28px;
   border-top: 1px solid #ececec;
}

.article-prose__footer > p {
   margin: 0 0 16px;
   color: rgb(68, 68, 68);
   font-family: Inter, sans-serif;
   font-size: 16px;
   line-height: 1.55;
}

.article-prose__cta {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 10px;
   margin-bottom: 20px;
}

.article-prose__cta-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 44px;
   padding: 10px 24px;
   border: none;
   border-radius: 500px;
   background: #f51515;
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 16px;
   cursor: pointer;
   transition: background-color 0.2s ease;
}

.article-prose__cta-btn:hover {
   background: #c40c0c;
}

.article-prose__cta-link {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 44px;
   padding: 10px 18px;
   border-radius: 500px;
   border: 1px solid #ddd;
   background: #fff;
   color: rgb(17, 19, 39);
   font-family: Inter, sans-serif;
   font-size: 14px;
   font-weight: 600;
   text-decoration: none;
   transition: border-color 0.2s ease, color 0.2s ease;
}

.article-prose__cta-link:hover {
   border-color: #f51515;
   color: #f51515;
}

.article-prose__back {
   margin: 0 !important;
}

.article-prose__back a {
   color: rgb(86, 86, 86);
   font-family: Inter, sans-serif;
   font-size: 14px;
   text-decoration: none;
}

.article-prose__back a:hover {
   color: #f51515;
}

@media (max-width: 900px) {
   .article-prose__routes {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 600px) {
   .article-page {
      padding: 20px 12px 32px;
   }

   .article-prose {
      border-radius: 12px;
      padding: 20px 18px 24px;
   }

   .article-prose__table {
      font-size: 14px;
   }

   .article-prose__table th,
   .article-prose__table td {
      padding: 10px;
   }
}


/* ========== Page calculator (soft step tool) ========== */
body.page-calc.page-article,
body.page-calc.page-article .wrapper,
body.page-calc {
   background: #f6f4f1;
}

body.page-calc .calc-stage {
   flex: 1 0 auto;
}

body.page-calc .footer {
   margin-top: 0;
}

body.page-calc .header {
   background: rgba(255, 255, 255, 0.92);
   border-bottom: 1px solid rgba(17, 19, 39, 0.06);
   backdrop-filter: blur(10px);
   box-shadow: none;
}

body.page-calc .calc-faq {
   margin: 8px 0 48px;
   padding: 8px 0 12px;
}

body.page-calc .calc-faq .faq__title {
   font-size: calc(28px + 10 * ((100vw - 320px) / 1600));
}

.calc-stage {
   position: relative;
   padding: 0 0 56px;
   overflow: hidden;
}

.calc-tool {
   position: relative;
   padding: 40px 20px 24px;
}

.calc-tool__bg {
   position: absolute;
   inset: 0;
   pointer-events: none;
   background:
      radial-gradient(ellipse 80% 50% at 50% -10%, rgba(245, 100, 70, 0.12), transparent 58%),
      radial-gradient(ellipse 45% 35% at 100% 20%, rgba(255, 180, 120, 0.1), transparent 60%),
      linear-gradient(180deg, #faf8f5 0%, #f6f4f1 50%, #f3f1ed 100%);
}

.calc-tool__bg::after {
   content: '';
   position: absolute;
   inset: 0;
   opacity: 0.4;
   background-image:
      linear-gradient(rgba(17, 19, 39, 0.03) 1px, transparent 1px),
      linear-gradient(90deg, rgba(17, 19, 39, 0.03) 1px, transparent 1px);
   background-size: 56px 56px;
   mask-image: linear-gradient(180deg, #000 0%, transparent 80%);
}

.calc-tool__wrap {
   position: relative;
   z-index: 1;
   max-width: 740px;
   margin: 0 auto;
}

.calc-tool__crumb {
   font-family: Inter, sans-serif;
   font-size: 13px;
   color: rgba(17, 19, 39, 0.4);
   margin-bottom: 22px;
}

.calc-tool__crumb a {
   color: rgba(17, 19, 39, 0.55);
   text-decoration: none;
}

.calc-tool__crumb a:hover {
   color: #c43a2a;
}

.calc-tool__head {
   text-align: center;
   margin-bottom: 26px;
}

.calc-tool__brand {
   font-family: Coolvetica, sans-serif;
   font-size: clamp(1.85rem, 4.5vw, 2.5rem);
   font-weight: 600;
   letter-spacing: 0.01em;
   color: #1a1c24;
   margin-bottom: 8px;
   line-height: 1.05;
   animation: calcBrandIn 0.65s ease both;
}

.calc-tool__eyebrow {
   font-family: Inter, sans-serif;
   font-size: 12px;
   letter-spacing: 0.16em;
   text-transform: uppercase;
   color: #c45a3a;
   margin-bottom: 12px;
   animation: calcFadeUp 0.5s ease 0.06s both;
}

.calc-tool__title {
   font-family: Coolvetica, sans-serif;
   font-size: clamp(1.35rem, 3vw, 1.85rem);
   font-weight: 600;
   color: #232633;
   line-height: 1.25;
   margin-bottom: 10px;
   animation: calcFadeUp 0.5s ease 0.12s both;
}

.calc-tool__sub {
   font-family: Inter, sans-serif;
   font-size: 0.95rem;
   line-height: 1.55;
   color: rgba(35, 38, 51, 0.58);
   max-width: 34rem;
   margin: 0 auto;
   animation: calcFadeUp 0.5s ease 0.18s both;
}

.calc-tool__faq-link {
   display: inline-flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: center;
   gap: 8px 14px;
   margin: 18px auto 0;
   max-width: 36rem;
   padding: 12px 18px;
   border-radius: 16px;
   border: 1px solid rgba(240, 82, 5, 0.35);
   background: linear-gradient(135deg, rgba(255, 248, 240, 0.95), rgba(255, 255, 255, 0.9));
   box-shadow: 0 6px 20px rgba(240, 82, 5, 0.1);
   text-decoration: none;
   transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
   animation: calcFadeUp 0.5s ease 0.22s both;
}

.calc-tool__faq-link:hover {
   border-color: rgba(240, 82, 5, 0.65);
   box-shadow: 0 8px 24px rgba(240, 82, 5, 0.16);
   transform: translateY(-1px);
}

.calc-tool__faq-link-label {
   font-family: Inter, sans-serif;
   font-size: 0.88rem;
   line-height: 1.35;
   color: rgba(35, 38, 51, 0.72);
   text-align: left;
}

.calc-tool__faq-link-cta {
   font-family: Coolvetica, sans-serif;
   font-size: 0.95rem;
   color: #f05205;
   white-space: nowrap;
}

@media (max-width: 520px) {
   .calc-tool__faq-link {
      flex-direction: column;
      gap: 4px;
      padding: 12px 14px;
   }

   .calc-tool__faq-link-label {
      text-align: center;
      font-size: 0.82rem;
   }
}

.calc-steps {
   list-style: none;
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 10px;
   margin: 0 0 22px;
   padding: 0;
}

.calc-steps__item {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 11px 13px;
   border-radius: 14px;
   border: 1px solid rgba(17, 19, 39, 0.08);
   background: rgba(255, 255, 255, 0.55);
   color: rgba(35, 38, 51, 0.45);
   transition: border-color 0.25s, background 0.25s, color 0.25s, box-shadow 0.25s;
}

.calc-steps__item.is-active {
   border-color: rgba(196, 90, 58, 0.35);
   background: #fff;
   color: #232633;
   box-shadow: 0 6px 20px rgba(17, 19, 39, 0.05);
}

.calc-steps__item.is-done {
   border-color: rgba(196, 90, 58, 0.18);
   color: rgba(35, 38, 51, 0.75);
   background: rgba(255, 255, 255, 0.8);
}

.calc-steps__num {
   width: 26px;
   height: 26px;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-family: Coolvetica, sans-serif;
   font-size: 0.9rem;
   background: rgba(17, 19, 39, 0.06);
   flex-shrink: 0;
}

.calc-steps__item.is-active .calc-steps__num {
   background: #e86a4a;
   color: #fff;
}

.calc-steps__item.is-done .calc-steps__num {
   background: rgba(232, 106, 74, 0.2);
   color: #c45a3a;
}

.calc-steps__label {
   font-family: Inter, sans-serif;
   font-size: 0.8125rem;
   font-weight: 600;
}

.calc-tool__card {
   position: relative;
   background: #fff;
   border: 1px solid rgba(17, 19, 39, 0.07);
   border-radius: 20px;
   padding: 28px 26px 30px;
   box-shadow: 0 16px 40px rgba(17, 19, 39, 0.06);
   animation: calcFadeUp 0.55s ease 0.22s both;
}

.calc-tool__corner {
   position: absolute;
   width: 16px;
   height: 16px;
   border-color: rgba(232, 106, 74, 0.55);
   border-style: solid;
   pointer-events: none;
}

.calc-tool__corner--tl { top: -1px; left: -1px; border-width: 2px 0 0 2px; border-radius: 20px 0 0 0; }
.calc-tool__corner--tr { top: -1px; right: -1px; border-width: 2px 2px 0 0; border-radius: 0 20px 0 0; }
.calc-tool__corner--bl { bottom: -1px; left: -1px; border-width: 0 0 2px 2px; border-radius: 0 0 0 20px; }
.calc-tool__corner--br { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; border-radius: 0 0 20px 0; }

.calc-tool__step-head {
   margin-bottom: 20px;
}

.calc-tool__step-title {
   font-family: Coolvetica, sans-serif;
   font-size: 1.12rem;
   font-weight: 600;
   color: #232633;
   margin-bottom: 6px;
}

.calc-tool__step-sub {
   font-family: Inter, sans-serif;
   font-size: 0.875rem;
   color: rgba(35, 38, 51, 0.52);
   line-height: 1.45;
}

.calc-tool__grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px 18px;
}

.calc-tool__field label {
   display: block;
   font-family: Inter, sans-serif;
   font-size: 0.8125rem;
   font-weight: 600;
   color: rgba(35, 38, 51, 0.55);
   margin-bottom: 8px;
}

.calc-tool__field label span {
   color: #e86a4a;
}

.calc-tool__field input,
.calc-tool__field select,
.calc-tool__lead-row select,
.calc-tool__lead-row input {
   width: 100%;
   height: 50px;
   border: 1.5px solid rgba(17, 19, 39, 0.1);
   border-radius: 12px;
   padding: 0 14px;
   font-size: 1rem;
   font-family: Inter, sans-serif;
   color: #232633;
   background: #faf9f7;
   outline: none;
   transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
   appearance: none;
   -webkit-appearance: none;
}

.calc-tool__field input:focus,
.calc-tool__field select:focus,
.calc-tool__lead-row select:focus,
.calc-tool__lead-row input:focus {
   border-color: rgba(232, 106, 74, 0.65);
   background: #fff;
   box-shadow: 0 0 0 3px rgba(232, 106, 74, 0.12);
}

.calc-tool__hint {
   margin-top: 6px;
   font-family: Inter, sans-serif;
   font-size: 12px;
   color: rgba(35, 38, 51, 0.4);
   line-height: 1.4;
}

.calc-tool__hint strong {
   color: rgba(35, 38, 51, 0.72);
   font-weight: 700;
}

.calc-tool__field--volume,
.calc-tool__field:has(#pc-goods) {
   grid-column: 1 / -1;
}

.calc-vol-toggle {
   display: flex;
   gap: 4px;
   margin-bottom: 12px;
   padding: 4px;
   border-radius: 12px;
   background: rgba(17, 19, 39, 0.05);
}

.calc-vol-toggle__btn {
   flex: 1;
   min-height: 38px;
   border: none;
   border-radius: 9px;
   background: transparent;
   color: rgba(35, 38, 51, 0.55);
   font-family: Inter, sans-serif;
   font-size: 13px;
   font-weight: 600;
   cursor: pointer;
   padding: 8px 12px;
   line-height: 1.25;
   transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

.calc-vol-toggle__btn.is-active {
   background: #fff;
   color: #111327;
   box-shadow: 0 1px 3px rgba(17, 19, 39, 0.08);
}

.calc-boxes__label {
   display: block;
   font-family: Inter, sans-serif;
   font-size: 0.8125rem;
   font-weight: 600;
   color: rgba(35, 38, 51, 0.55);
   margin-bottom: 8px;
}

.calc-boxes__label span {
   color: #e86a4a;
}

.calc-boxes {
   display: flex;
   align-items: flex-end;
   gap: 6px;
}

.calc-boxes__item {
   flex: 1;
   min-width: 0;
}

.calc-boxes__item input {
   text-align: center;
   padding: 0 8px;
}

.calc-boxes__item span {
   display: block;
   margin-bottom: 6px;
   font-family: Inter, sans-serif;
   font-size: 11px;
   font-weight: 600;
   color: rgba(35, 38, 51, 0.45);
}

.calc-boxes__x {
   flex: 0 0 auto;
   padding-bottom: 14px;
   color: rgba(35, 38, 51, 0.28);
   font-size: 1rem;
   font-weight: 700;
}

@media (max-width: 700px) {
   .calc-boxes {
      flex-wrap: wrap;
   }

   .calc-boxes__item {
      flex: 1 1 calc(50% - 18px);
   }

   .calc-boxes__x {
      display: none;
   }
}

.calc-tool__field-error {
   margin-top: 6px;
   font-family: Inter, sans-serif;
   font-size: 13px;
   font-weight: 600;
   color: #c40c0c;
   line-height: 1.35;
}

.calc-tool__field-msg {
   margin-top: 6px;
   font-family: Inter, sans-serif;
   font-size: 13px;
   line-height: 1.4;
}

.calc-tool__field-msg.is-error {
   font-weight: 600;
   color: #c40c0c;
}

.calc-tool__field-msg.is-soft {
   font-weight: 500;
   color: #9a5b00;
}

.calc-tool__field input.is-invalid {
   border-color: rgba(196, 12, 12, 0.55);
   background: #fff7f7;
   box-shadow: 0 0 0 3px rgba(196, 12, 12, 0.1);
}

.calc-tool__field input.is-soft {
   border-color: rgba(232, 160, 40, 0.55);
   background: #fffbf2;
   box-shadow: 0 0 0 3px rgba(232, 160, 40, 0.12);
}

.calc-weight-wrap {
   position: relative;
}

.calc-weight-wrap input {
   position: relative;
   z-index: 1;
   padding-right: 78px;
}

.calc-porter {
   position: absolute;
   inset: 0;
   z-index: 2;
   border-radius: 12px;
   overflow: hidden;
   pointer-events: none;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.28s ease, visibility 0.28s ease;
   background: linear-gradient(90deg, rgba(250, 249, 247, 0.08) 0%, rgba(250, 249, 247, 0.55) 48%, rgba(255, 244, 238, 0.88) 100%);
}

.calc-porter.is-active {
   opacity: 1;
   visibility: visible;
}

.calc-porter__track {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 1px;
   height: 52px;
   animation: calcPorterWalk 4.8s linear infinite;
}

.calc-porter__figure {
   display: block;
   filter: drop-shadow(0 2px 2px rgba(17, 19, 39, 0.12));
}

.calc-porter__body {
   transform-origin: 28px 40px;
   animation: calcPorterBob 0.85s ease-in-out infinite;
}

.calc-porter__crate {
   transform-origin: 53px 28px;
   animation: calcPorterCrate 0.85s ease-in-out infinite;
}

.calc-porter__arm {
   transform-origin: 33px 24px;
   animation: calcPorterArm 0.85s ease-in-out infinite;
}

.calc-porter__leg--back {
   transform-origin: 25px 34px;
   animation: calcPorterLegBack 0.85s ease-in-out infinite;
}

.calc-porter__leg--front {
   transform-origin: 31px 34px;
   animation: calcPorterLegFront 0.85s ease-in-out infinite;
}

@keyframes calcPorterWalk {
   0% { transform: translateX(-72px); }
   100% { transform: translateX(calc(100% + 8px)); }
}

@keyframes calcPorterBob {
   0%, 100% { transform: translateY(0); }
   50% { transform: translateY(-2px); }
}

@keyframes calcPorterCrate {
   0%, 100% { transform: translateY(0) rotate(-2deg); }
   50% { transform: translateY(-3px) rotate(2deg); }
}

@keyframes calcPorterArm {
   0%, 100% { transform: rotate(0deg); }
   50% { transform: rotate(-6deg); }
}

@keyframes calcPorterLegBack {
   0%, 100% { transform: rotate(18deg); }
   50% { transform: rotate(-18deg); }
}

@keyframes calcPorterLegFront {
   0%, 100% { transform: rotate(-18deg); }
   50% { transform: rotate(18deg); }
}

@media (prefers-reduced-motion: reduce) {
   .calc-porter,
   .calc-porter__track,
   .calc-porter__body,
   .calc-porter__crate,
   .calc-porter__arm,
   .calc-porter__leg--back,
   .calc-porter__leg--front {
      animation: none !important;
      transition: none !important;
   }

   .calc-porter.is-active {
      opacity: 0;
      visibility: hidden;
   }
}

.calc-tool__select-wrap {
   position: relative;
}

.calc-tool__select-wrap::after {
   content: '';
   position: absolute;
   right: 14px;
   top: 50%;
   transform: translateY(-50%);
   border-left: 5px solid transparent;
   border-right: 5px solid transparent;
   border-top: 6px solid rgba(35, 38, 51, 0.35);
   pointer-events: none;
}

.calc-density {
   margin: 20px 0 8px;
   padding: 14px 16px;
   border-radius: 14px;
   background: #faf8f5;
   border: 1px solid rgba(17, 19, 39, 0.06);
}

.calc-density__meta {
   display: flex;
   justify-content: space-between;
   gap: 12px;
   font-family: Inter, sans-serif;
   font-size: 0.8125rem;
   color: rgba(35, 38, 51, 0.5);
   margin-bottom: 10px;
}

.calc-density__meta strong {
   color: #c45a3a;
   font-weight: 700;
}

.calc-density__bar {
   height: 6px;
   border-radius: 99px;
   background: rgba(17, 19, 39, 0.06);
   overflow: hidden;
}

.calc-density__bar i {
   display: block;
   height: 100%;
   width: 8%;
   border-radius: 99px;
   background: linear-gradient(90deg, #f08a5a, #e86a4a);
   transition: width 0.35s ease;
}

.calc-density__tip {
   margin-top: 8px;
   font-family: Inter, sans-serif;
   font-size: 12px;
   color: rgba(35, 38, 51, 0.4);
}

.calc-tool__btn {
   width: 100%;
   margin-top: 18px;
   min-height: 52px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   border: none;
   border-radius: 12px;
   background: #e86a4a;
   color: #fff;
   font-family: Inter, sans-serif;
   font-size: 1rem;
   font-weight: 700;
   cursor: pointer;
   box-shadow: 0 8px 22px rgba(232, 106, 74, 0.22);
   transition: transform 0.15s, box-shadow 0.15s, background 0.15s;
}

.calc-tool__btn:hover {
   background: #d85a3c;
   transform: translateY(-1px);
   box-shadow: 0 10px 26px rgba(232, 106, 74, 0.28);
}

.calc-tool__btn:active {
   transform: translateY(0);
}

.calc-tool__btn:disabled {
   opacity: 0.65;
   cursor: wait;
   transform: none;
}

.calc-steps {
   display: none !important;
}

.calc-tool__results {
   margin-top: 26px;
   padding-top: 24px;
   border-top: 1px solid rgba(17, 19, 39, 0.07);
}

.calc-tool__routes {
   display: grid;
   gap: 12px;
   margin-bottom: 14px;
}

@media (min-width: 720px) {
   .calc-tool__routes {
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
   }
}

.calc-tool__route {
   display: flex;
   flex-direction: column;
   align-items: stretch;
   justify-content: space-between;
   gap: 14px;
   width: 100%;
   text-align: left;
   padding: 16px 16px 14px;
   border-radius: 16px;
   border: 1.5px solid rgba(17, 19, 39, 0.04);
   background: #fcfbf9;
   color: inherit;
   cursor: pointer;
   font-family: inherit;
   transition: border-color 0.2s, background 0.2s, box-shadow 0.2s, transform 0.2s, color 0.2s, opacity 0.2s, filter 0.2s;
   animation: calcFadeUp 0.35s ease both;
   min-height: 128px;
}

.calc-tool__routes:has(.is-selected) .calc-tool__route:not(.is-selected):not(.is-disabled):not(:disabled) {
   opacity: 0.28;
   filter: saturate(0.08);
   background: #f6f5f2;
   box-shadow: none;
}

.calc-tool__routes:has(.is-selected) .calc-tool__route:not(.is-selected):not(.is-disabled):not(:disabled):hover {
   opacity: 0.62;
   filter: saturate(0.4);
   background: #f8f7f4;
}

.calc-tool__route .calc-tool__route-name,
.calc-tool__route .calc-tool__route-price strong {
   color: rgba(35, 38, 51, 0.32);
}

.calc-tool__route .calc-tool__route-days,
.calc-tool__route .calc-tool__route-price small {
   color: rgba(35, 38, 51, 0.26);
}

.calc-tool__route .calc-tool__badge:not(.calc-tool__badge--pick) {
   opacity: 0.5;
}

.calc-tool__route:hover {
   border-color: rgba(17, 19, 39, 0.12);
   background: #f8f7f4;
   transform: translateY(-1px);
}

.calc-tool__route.is-best {
   border-color: rgba(17, 19, 39, 0.06);
   background: #f4f3f0;
}

.calc-tool__route.is-selected {
   border-color: rgba(232, 106, 74, 0.7);
   background: #fff;
   box-shadow: 0 8px 22px rgba(232, 106, 74, 0.16);
}

.calc-tool__route.is-selected .calc-tool__route-name,
.calc-tool__route.is-selected .calc-tool__route-price strong {
   color: #111327;
}

.calc-tool__route.is-selected .calc-tool__route-days {
   color: rgba(35, 38, 51, 0.55);
}

.calc-tool__route.is-selected .calc-tool__route-price small {
   color: rgba(35, 38, 51, 0.5);
}

.calc-tool__route.is-selected .calc-tool__badge:not(.calc-tool__badge--pick) {
   opacity: 1;
}

.calc-tool__route.is-selected:hover {
   border-color: rgba(232, 106, 74, 0.75);
   background: #fff;
}

.calc-tool__route.is-disabled,
.calc-tool__route:disabled {
   cursor: default;
   opacity: 1;
   transform: none;
   box-shadow: none;
   background: #f3f2ef;
   border-style: dashed;
   border-color: rgba(17, 19, 39, 0.16);
}

.calc-tool__route.is-disabled:hover,
.calc-tool__route:disabled:hover {
   border-color: rgba(17, 19, 39, 0.16);
   background: #f3f2ef;
   transform: none;
}

.calc-tool__route.is-disabled .calc-tool__route-price strong {
   color: rgba(35, 38, 51, 0.55);
   font-size: 0.95rem;
}

.calc-tool__badge--off {
   color: rgba(35, 38, 51, 0.55);
   border-color: rgba(35, 38, 51, 0.22);
}

.calc-tool__route.is-on-request {
   border-color: rgba(17, 19, 39, 0.06);
   background: #f4f3f0;
}

.calc-tool__route.is-on-request .calc-tool__route-price strong {
   color: rgba(35, 38, 51, 0.4);
}

.calc-tool__route.is-on-request.is-selected {
   border-color: rgba(196, 140, 58, 0.85);
   background: #fff;
   box-shadow: 0 8px 22px rgba(196, 140, 58, 0.16);
}

.calc-tool__route.is-on-request.is-selected .calc-tool__route-price strong {
   color: #9a5b00;
}

.calc-tool__badge--ask {
   color: #9a5b00;
   border-color: rgba(154, 91, 0, 0.4);
   background: rgba(196, 140, 58, 0.14);
}

.calc-tool__route-left {
   display: block;
}

.calc-tool__route-name {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 6px;
   font-family: Coolvetica, sans-serif;
   font-size: 1.2rem;
   font-weight: 400;
   color: #232633;
   margin-bottom: 6px;
   line-height: 1.15;
}

.calc-tool__badge {
   display: inline-block;
   margin-left: 0;
   font-family: Inter, sans-serif;
   font-size: 10px;
   font-weight: 700;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   color: #c45a3a;
   border: 1px solid rgba(196, 90, 58, 0.35);
   border-radius: 20px;
   padding: 2px 7px;
   vertical-align: 2px;
}

.calc-tool__badge--pick {
   color: #fff;
   background: #f05205;
   border-color: #f05205;
}

.calc-tool__route-days {
   font-family: Inter, sans-serif;
   font-size: 12.5px;
   color: rgba(35, 38, 51, 0.52);
   line-height: 1.35;
}

.calc-tool__route-price {
   display: flex;
   flex-direction: column;
   gap: 2px;
   padding-top: 10px;
   border-top: 1px solid rgba(17, 19, 39, 0.06);
}

.calc-tool__route-price strong {
   font-family: Coolvetica, sans-serif;
   font-size: 1.05rem;
   font-weight: 400;
   color: #111327;
}

.calc-tool__route-price small {
   font-family: Inter, sans-serif;
   font-size: 12px;
   color: rgba(35, 38, 51, 0.45);
}

.calc-tool__lead {
   margin-top: 8px;
   padding: 22px 18px;
   border-radius: 16px;
   border: 1px solid rgba(232, 106, 74, 0.22);
   background: linear-gradient(180deg, rgba(232, 106, 74, 0.07), rgba(232, 106, 74, 0.02));
   animation: calcFadeUp 0.4s ease 0.1s both;
}

.calc-tool__lead-title {
   font-family: Coolvetica, sans-serif;
   font-size: 1.1rem;
   font-weight: 600;
   color: #232633;
   margin-bottom: 16px;
}

.calc-tool__lead-sub {
   font-family: Inter, sans-serif;
   font-size: 0.875rem;
   color: rgba(35, 38, 51, 0.55);
   line-height: 1.5;
   margin-bottom: 16px;
}

.calc-tool__msg {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
}

.calc-tool__msg-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   min-height: 52px;
   padding: 10px 12px;
   border-radius: 12px;
   border: 1px solid rgba(17, 19, 39, 0.08);
   background: #fff;
   color: #111327;
   font-family: Inter, sans-serif;
   font-size: 0.95rem;
   font-weight: 700;
   text-decoration: none;
   transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.calc-tool__msg-btn img {
   width: 22px;
   height: 22px;
   flex-shrink: 0;
}

.calc-tool__msg-btn:hover {
   transform: translateY(-1px);
}

.calc-tool__msg-btn--tg:hover {
   border-color: rgba(42, 171, 238, 0.5);
   box-shadow: 0 8px 20px rgba(42, 171, 238, 0.16);
}

.calc-tool__msg-btn--wa:hover {
   border-color: rgba(37, 211, 102, 0.5);
   box-shadow: 0 8px 20px rgba(37, 211, 102, 0.16);
}

.calc-tool__or {
   display: flex;
   align-items: center;
   gap: 12px;
   margin: 16px 0 14px;
   color: rgb(120, 120, 120);
   font-family: Inter, sans-serif;
   font-size: 13px;
   font-weight: 600;
}

.calc-tool__or::before,
.calc-tool__or::after {
   content: "";
   flex: 1;
   height: 1px;
   background: linear-gradient(90deg, transparent, rgba(17, 19, 39, 0.14), transparent);
}

.calc-tool__or span {
   flex-shrink: 0;
   padding: 4px 10px;
   border-radius: 999px;
   background: rgba(17, 19, 39, 0.05);
}

.calc-tool__lead-form-title {
   font-family: Coolvetica, sans-serif;
   font-size: 1.05rem;
   font-weight: 600;
   color: #232633;
   margin-bottom: 4px;
}

.calc-tool__lead-form-sub {
   font-family: Inter, sans-serif;
   font-size: 0.8125rem;
   color: rgba(35, 38, 51, 0.5);
   line-height: 1.45;
   margin-bottom: 12px;
}

.calc-tool__lead-row {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
}

.calc-tool__lead-row #pc-contact-input {
   flex: 1 1 200px;
}

.calc-tool__lead-row .calc-tool__name {
   flex: 1 1 160px;
}

.calc-tool__lead-row .calc-tool__email {
   flex: 1 1 200px;
}

.calc-tool__lead-row .calc-tool__btn--lead,
.calc-tool__lead-row .calc-tool__error {
   flex: 1 1 100%;
}

.calc-tool__btn--lead {
   margin-top: 2px;
}

.calc-tool__error {
   margin: 0;
   font-family: Inter, sans-serif;
   font-size: 0.8125rem;
   color: #c43a2a;
   line-height: 1.4;
}

.calc-tool__privacy {
   margin-top: 12px;
   font-family: Inter, sans-serif;
   font-size: 11.5px;
   color: rgba(35, 38, 51, 0.4);
   line-height: 1.45;
}

.calc-tool__privacy-link {
   border: none;
   background: none;
   padding: 0;
   color: rgba(35, 38, 51, 0.6);
   text-decoration: underline;
   cursor: pointer;
   font: inherit;
}

.calc-tool__success {
   text-align: center;
   padding: 10px 0 4px;
   animation: calcFadeUp 0.4s ease both;
}

.calc-tool__seal {
   width: 68px;
   height: 68px;
   margin: 0 auto 14px;
   border: 2px solid rgba(232, 106, 74, 0.55);
   border-radius: 14px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-family: Coolvetica, sans-serif;
   font-size: 1.25rem;
   font-weight: 700;
   color: #e86a4a;
   transform: rotate(-5deg);
   letter-spacing: 0.04em;
   background: rgba(232, 106, 74, 0.05);
}

.calc-tool__success-title {
   font-family: Coolvetica, sans-serif;
   font-size: 1.2rem;
   font-weight: 600;
   color: #232633;
   margin-bottom: 8px;
}

.calc-tool__success-text {
   font-family: Inter, sans-serif;
   font-size: 0.9rem;
   color: rgba(35, 38, 51, 0.58);
   line-height: 1.55;
}

@keyframes calcFadeUp {
   from { opacity: 0; transform: translateY(10px); }
   to { opacity: 1; transform: none; }
}

@keyframes calcBrandIn {
   from { opacity: 0; transform: translateY(6px); }
   to { opacity: 1; transform: none; }
}

@media (max-width: 700px) {
   .calc-tool {
      padding: 28px 14px 16px;
   }

   .calc-tool__card {
      padding: 22px 16px 24px;
   }

   .calc-tool__grid {
      grid-template-columns: 1fr;
      gap: 14px;
   }

   .calc-steps {
      grid-template-columns: 1fr;
   }

   .calc-tool__route {
      flex-direction: column;
      align-items: flex-start;
   }

   .calc-tool__route-price {
      text-align: left;
   }

   .calc-tool__lead-row select,
   .calc-tool__lead-row #pc-contact-input,
   .calc-tool__lead-row .calc-tool__name {
      flex: 1 1 100%;
   }

   .calc-tool__msg-btn {
      font-size: 0.9rem;
      min-height: 48px;
   }
}

@media (prefers-reduced-motion: reduce) {
   .calc-tool__brand,
   .calc-tool__eyebrow,
   .calc-tool__title,
   .calc-tool__sub,
   .calc-tool__card,
   .calc-tool__results,
   .calc-tool__route,
   .calc-tool__lead,
   .calc-tool__success {
      animation: none !important;
   }
}

/* ========== LP: автодоставка карго (Яндекс.Директ) ========== */
.page-lp-auto {
   --lp-ink: #111327;
   --lp-muted: rgba(17, 19, 39, 0.62);
   --lp-accent: #f05205;
   --lp-accent-2: #f51515;
   --lp-paper: #f6f4f1;
   --lp-line: rgba(17, 19, 39, 0.08);
   background: var(--lp-paper);
   color: var(--lp-ink);
}

.page-lp-auto .wrapper {
   background: var(--lp-paper);
   min-height: 100vh;
}

.lp-auto__top {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   z-index: 20;
   padding: 14px 0;
}

.lp-auto__top-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
}

.lp-auto__logo img {
   display: block;
   height: 36px;
   width: auto;
   filter: brightness(0) invert(1);
}

.lp-auto__top-actions {
   display: flex;
   align-items: center;
   gap: 12px;
}

.lp-auto__phone {
   color: #fff;
   font-weight: 600;
   font-size: 14px;
   text-decoration: none;
   white-space: nowrap;
}

.lp-auto__top-cta {
   border: 0;
   cursor: pointer;
   border-radius: 999px;
   padding: 10px 18px;
   background: linear-gradient(15deg, #f05205, #ff9600);
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 15px;
   letter-spacing: 0.02em;
}

.lp-auto-hero {
   position: relative;
   min-height: 100svh;
   display: flex;
   align-items: flex-end;
   overflow: hidden;
   color: #fff;
}

.lp-auto-hero__media {
   position: absolute;
   inset: 0;
   z-index: 0;
}

.lp-auto-hero__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center 35%;
   transform: scale(1.04);
   animation: lp-auto- ken 18s ease-out forwards;
}

.lp-auto-hero__veil {
   position: absolute;
   inset: 0;
   z-index: 1;
   background:
      linear-gradient(180deg, rgba(17, 19, 39, 0.55) 0%, rgba(17, 19, 39, 0.25) 38%, rgba(17, 19, 39, 0.78) 100%),
      radial-gradient(ellipse at 30% 20%, rgba(240, 82, 5, 0.28), transparent 55%);
}

.lp-auto-hero__inner {
   position: relative;
   z-index: 2;
   padding: 120px 20px 56px;
   max-width: 720px;
}

.lp-auto-hero__brand {
   margin: 0 0 14px;
   font-family: Coolvetica, sans-serif;
   font-size: clamp(42px, 9vw, 72px);
   line-height: 0.95;
   letter-spacing: 0.01em;
   animation: lp-auto-rise 0.7s ease both;
}

.lp-auto-hero__title {
   margin: 0 0 14px;
   font-family: Coolvetica, sans-serif;
   font-size: clamp(28px, 5.5vw, 44px);
   line-height: 1.05;
   font-weight: 400;
   max-width: 14ch;
   animation: lp-auto-rise 0.7s ease 0.08s both;
}

.lp-auto-hero__sub {
   margin: 0 0 28px;
   font-size: 16px;
   line-height: 1.45;
   color: rgba(255, 255, 255, 0.88);
   max-width: 34ch;
   animation: lp-auto-rise 0.7s ease 0.16s both;
}

.lp-auto-hero__cta {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   animation: lp-auto-rise 0.7s ease 0.24s both;
}

.lp-auto-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 48px;
   padding: 12px 22px;
   border: 0;
   border-radius: 999px;
   cursor: pointer;
   text-decoration: none;
   background: linear-gradient(15deg, #f05205, #ff9600);
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 17px;
   letter-spacing: 0.02em;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lp-auto-btn:hover {
   transform: translateY(-1px);
   box-shadow: 0 10px 28px rgba(240, 82, 5, 0.35);
}

.lp-auto-btn--ghost {
   background: rgba(255, 255, 255, 0.12);
   border: 1px solid rgba(255, 255, 255, 0.35);
   backdrop-filter: blur(8px);
   box-shadow: none;
}

.lp-auto-btn--ghost:hover {
   background: rgba(255, 255, 255, 0.2);
   box-shadow: none;
}

.lp-auto-section {
   padding: 64px 0;
}

.lp-auto-section__title {
   margin: 0 0 10px;
   font-family: Coolvetica, sans-serif;
   font-size: clamp(28px, 4vw, 40px);
   line-height: 1.1;
   font-weight: 400;
}

.lp-auto-section__lead {
   margin: 0 0 28px;
   max-width: 42ch;
   color: var(--lp-muted);
   font-size: 16px;
   line-height: 1.5;
}

.lp-auto-facts {
   background: #fff;
   border-bottom: 1px solid var(--lp-line);
}

.lp-auto-facts__list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: 22px;
}

@media (min-width: 768px) {
   .lp-auto-facts__list {
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
   }
}

.lp-auto-facts__list li {
   display: flex;
   flex-direction: column;
   gap: 6px;
   padding-top: 14px;
   border-top: 2px solid var(--lp-accent);
}

.lp-auto-facts__list strong {
   font-family: Coolvetica, sans-serif;
   font-size: 26px;
   font-weight: 400;
   line-height: 1.1;
}

.lp-auto-facts__list span {
   color: var(--lp-muted);
   font-size: 15px;
   line-height: 1.4;
}

.lp-auto-checks {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: 14px;
   max-width: 560px;
}

.lp-auto-checks li {
   position: relative;
   padding-left: 28px;
   font-size: 16px;
   line-height: 1.45;
}

.lp-auto-checks li::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0.45em;
   width: 14px;
   height: 14px;
   border-radius: 50%;
   background: linear-gradient(15deg, #f05205, #ff9600);
   box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px rgba(240, 82, 5, 0.35);
}

.lp-auto-steps {
   background: #fff;
   border-block: 1px solid var(--lp-line);
}

.lp-auto-steps__list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: 20px;
   counter-reset: none;
}

@media (min-width: 768px) {
   .lp-auto-steps__list {
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
   }
}

.lp-auto-steps__list li {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 14px;
   align-items: start;
}

.lp-auto-steps__n {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 36px;
   height: 36px;
   border-radius: 50%;
   background: var(--lp-ink);
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 18px;
}

.lp-auto-steps__list p {
   margin: 6px 0 0;
   font-size: 16px;
   line-height: 1.4;
}

.lp-auto-proof__grid {
   display: grid;
   gap: 10px;
   grid-template-columns: 1fr;
}

@media (min-width: 700px) {
   .lp-auto-proof__grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
   }
}

.lp-auto-proof__grid img {
   width: 100%;
   height: min(52vw, 360px);
   object-fit: cover;
   display: block;
}

.lp-auto-end {
   background: var(--lp-ink);
   color: #fff;
}

.lp-auto-end .lp-auto-section__lead {
   color: rgba(255, 255, 255, 0.72);
}

.lp-auto-end__cta {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
}

.lp-auto-footer {
   padding: 22px 0 100px;
   background: #0c0e1a;
   color: rgba(255, 255, 255, 0.55);
   font-size: 13px;
}

.lp-auto-footer__inner {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 10px;
}

.lp-auto-footer a {
   color: rgba(255, 255, 255, 0.8);
   text-decoration: none;
}

.page-lp-auto .contacts-dock {
   z-index: 40;
}

@keyframes lp-auto-rise {
   from { opacity: 0; transform: translateY(16px); }
   to { opacity: 1; transform: translateY(0); }
}

@keyframes lp-auto-ken {
   from { transform: scale(1.04); }
   to { transform: scale(1); }
}

@media (max-width: 640px) {
   .lp-auto__phone {
      display: none;
   }

   .lp-auto-hero__inner {
      padding-bottom: 72px;
   }

   .lp-auto-proof__grid img {
      height: 240px;
   }
}

@media (prefers-reduced-motion: reduce) {
   .lp-auto-hero__brand,
   .lp-auto-hero__title,
   .lp-auto-hero__sub,
   .lp-auto-hero__cta,
   .lp-auto-hero__media img {
      animation: none !important;
   }
}

/* ========== LP v2: информативная автодоставка карго ========== */
.page-lp-auto2 {
   --lp2-ink: #111327;
   --lp2-muted: rgba(17, 19, 39, 0.64);
   --lp2-accent: #f05205;
   --lp2-paper: #f6f4f1;
   --lp2-white: #fff;
   --lp2-line: rgba(17, 19, 39, 0.1);
   background: var(--lp2-paper);
   color: var(--lp2-ink);
}

.page-lp-auto2 .wrapper {
   background: var(--lp2-paper);
   min-height: 100vh;
}

.lp2-header {
   position: sticky;
   top: 0;
   z-index: 30;
   background: rgba(246, 244, 241, 0.92);
   backdrop-filter: blur(10px);
   border-bottom: 1px solid var(--lp2-line);
}

.lp2-header__inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   min-height: 64px;
}

.lp2-header__logo img {
   display: block;
   height: 34px;
   width: auto;
}

.lp2-header__actions {
   display: flex;
   align-items: center;
   gap: 14px;
}

.lp2-header__phone {
   text-decoration: none;
   color: var(--lp2-ink);
   display: flex;
   flex-direction: column;
   line-height: 1.15;
}

.lp2-header__phone-num {
   font-weight: 600;
   font-size: 14px;
}

.lp2-header__phone-note {
   font-size: 11px;
   color: var(--lp2-accent);
}

.lp2-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 46px;
   padding: 11px 20px;
   border: 0;
   border-radius: 999px;
   cursor: pointer;
   text-decoration: none;
   background: linear-gradient(15deg, #f05205, #ff9600);
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 16px;
   letter-spacing: 0.02em;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lp2-btn:hover {
   transform: translateY(-1px);
   box-shadow: 0 8px 22px rgba(240, 82, 5, 0.28);
}

.lp2-btn--sm {
   min-height: 40px;
   padding: 8px 16px;
   font-size: 14px;
}

.lp2-btn--line {
   background: transparent;
   color: var(--lp2-ink);
   border: 1px solid rgba(17, 19, 39, 0.22);
   box-shadow: none;
}

.lp2-btn--line:hover {
   border-color: var(--lp2-accent);
   color: var(--lp2-accent);
   box-shadow: none;
}

.lp2-btn--ghost {
   background: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(255, 255, 255, 0.35);
   box-shadow: none;
}

.lp2-btn--ghost:hover {
   background: rgba(255, 255, 255, 0.18);
   box-shadow: none;
}

.lp2-hero {
   padding: 28px 0 36px;
   background:
      radial-gradient(ellipse at 0% 0%, rgba(240, 82, 5, 0.1), transparent 45%),
      linear-gradient(180deg, #fff 0%, var(--lp2-paper) 100%);
}

.lp2-hero__grid {
   display: grid;
   gap: 24px;
   align-items: center;
}

@media (min-width: 900px) {
   .lp2-hero__grid {
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
      gap: 40px;
   }
}

.lp2-hero__brand {
   margin: 0 0 8px;
   font-family: Coolvetica, sans-serif;
   font-size: clamp(34px, 6vw, 52px);
   line-height: 0.95;
   animation: lp2-rise 0.55s ease both;
}

.lp2-hero__title {
   margin: 0 0 12px;
   font-family: Coolvetica, sans-serif;
   font-size: clamp(26px, 4.2vw, 38px);
   line-height: 1.08;
   font-weight: 400;
   max-width: 16ch;
   animation: lp2-rise 0.55s ease 0.06s both;
}

.lp2-hero__lead {
   margin: 0 0 20px;
   max-width: 46ch;
   color: var(--lp2-muted);
   font-size: 16px;
   line-height: 1.5;
   animation: lp2-rise 0.55s ease 0.12s both;
}

.lp2-hero__stats {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 12px;
   margin: 0 0 22px;
   padding: 0;
   animation: lp2-rise 0.55s ease 0.18s both;
}

.lp2-hero__stats > div {
   padding-top: 10px;
   border-top: 2px solid var(--lp2-accent);
}

.lp2-hero__stats dt {
   margin: 0 0 4px;
   font-size: 12px;
   color: var(--lp2-muted);
}

.lp2-hero__stats dd {
   margin: 0;
   font-family: Coolvetica, sans-serif;
   font-size: 22px;
   line-height: 1.1;
}

.lp2-hero__cta {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   animation: lp2-rise 0.55s ease 0.24s both;
}

.lp2-hero__photo {
   margin: 0;
   max-height: 280px;
   overflow: hidden;
   border-radius: 0;
}

.lp2-hero__photo img {
   display: block;
   width: 100%;
   height: 280px;
   object-fit: cover;
   object-position: center;
}

@media (min-width: 900px) {
   .lp2-hero__photo,
   .lp2-hero__photo img {
      max-height: 360px;
      height: 360px;
   }
}

.lp2-block {
   padding: 48px 0;
}

.lp2-block--tint {
   background: #fff;
   border-block: 1px solid var(--lp2-line);
}

.lp2-block__title {
   margin: 0 0 10px;
   font-family: Coolvetica, sans-serif;
   font-size: clamp(26px, 3.6vw, 36px);
   line-height: 1.1;
   font-weight: 400;
}

.lp2-block__lead {
   margin: 0 0 22px;
   max-width: 52ch;
   color: var(--lp2-muted);
   font-size: 15px;
   line-height: 1.5;
}

.lp2-split {
   display: grid;
   gap: 36px;
}

@media (min-width: 800px) {
   .lp2-split {
      grid-template-columns: 1fr 1fr;
      gap: 48px;
   }
}

.lp2-table-wrap {
   overflow-x: auto;
   margin-bottom: 14px;
}

.lp2-table {
   width: 100%;
   border-collapse: collapse;
   min-width: 560px;
   font-size: 14px;
}

.lp2-table th,
.lp2-table td {
   text-align: left;
   padding: 12px 14px;
   border-bottom: 1px solid var(--lp2-line);
   vertical-align: top;
}

.lp2-table th {
   font-size: 12px;
   text-transform: uppercase;
   letter-spacing: 0.04em;
   color: var(--lp2-muted);
   font-weight: 600;
}

.lp2-table a {
   color: inherit;
   text-decoration: underline;
   text-underline-offset: 3px;
   text-decoration-color: rgba(240, 82, 5, 0.4);
}

.lp2-table a:hover {
   color: #f05205;
}

.lp2-table tr.is-accent td {
   background: rgba(240, 82, 5, 0.06);
}

.lp2-note {
   margin: 0;
   max-width: 60ch;
   font-size: 14px;
   line-height: 1.45;
   color: var(--lp2-muted);
}

.weight-5kg-star {
   color: #f05205;
   font-weight: 700;
   font-size: 0.72em;
   line-height: 0;
   vertical-align: super;
}

.lp2-hero__stats > div.is-weight-clarify {
   background: rgba(240, 82, 5, 0.08);
   border-top-color: #f05205;
   padding: 10px 8px 8px;
   margin-top: 0;
}

.weight-5kg-note {
   display: flex;
   align-items: flex-start;
   gap: 8px;
   margin: 0 0 18px;
   padding: 10px 12px;
   max-width: 46ch;
   background: #fff4eb;
   border-left: 3px solid #f05205;
   font-size: 13px;
   line-height: 1.4;
   color: #5a3318;
   animation: lp2-rise 0.55s ease 0.2s both;
}

.weight-5kg-note .weight-5kg-star {
   flex: none;
   margin-top: 2px;
   font-size: 14px;
   vertical-align: baseline;
}

.lp2-block .weight-5kg-note {
   margin-top: 12px;
   max-width: 64ch;
   animation: none;
}

.service__weight-note {
   margin: 0 40px 16px;
   padding: 10px 14px;
   background: #fff4eb;
   border-left: 3px solid #f05205;
   font-size: 13px;
   line-height: 1.4;
   color: #5a3318;
}

.service__info-item--clarify {
   border: 1px solid rgba(240, 82, 5, 0.35);
   background: #fff6ee;
}

@media (max-width: 1500px) {
   .service__weight-note {
      margin-left: 20px;
      margin-right: 20px;
   }
}

.lp2-checks,
.lp2-bullets {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: 12px;
}

.lp2-checks li,
.lp2-bullets li {
   position: relative;
   padding-left: 26px;
   font-size: 15px;
   line-height: 1.45;
}

.lp2-checks li::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0.4em;
   width: 12px;
   height: 12px;
   border-radius: 50%;
   background: linear-gradient(15deg, #f05205, #ff9600);
}

.lp2-bullets li::before {
   content: '–';
   position: absolute;
   left: 4px;
   top: 0;
   color: var(--lp2-accent);
   font-weight: 700;
}

.lp2-steps {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: 18px;
}

@media (min-width: 800px) {
   .lp2-steps {
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
   }
}

.lp2-steps li {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 12px;
   align-items: start;
}

.lp2-steps span {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 34px;
   height: 34px;
   border-radius: 50%;
   background: var(--lp2-ink);
   color: #fff;
   font-family: Coolvetica, sans-serif;
   font-size: 17px;
}

.lp2-steps strong {
   display: block;
   margin-bottom: 4px;
   font-size: 16px;
}

.lp2-steps p {
   margin: 0;
   color: var(--lp2-muted);
   font-size: 14px;
   line-height: 1.4;
}

.lp2-faq {
   display: grid;
   gap: 10px;
   max-width: 720px;
}

.lp2-faq details {
   border-bottom: 1px solid var(--lp2-line);
   padding: 4px 0 12px;
}

.lp2-faq summary {
   cursor: pointer;
   font-weight: 600;
   font-size: 16px;
   padding: 8px 0;
   list-style: none;
}

.lp2-faq summary::-webkit-details-marker {
   display: none;
}

.lp2-faq p {
   margin: 0;
   color: var(--lp2-muted);
   font-size: 15px;
   line-height: 1.5;
}

.lp2-faq p + p {
   margin-top: 0.75em;
}

.lp2-faq a {
   color: var(--lp2-accent);
}

.lp2-proof__row {
   display: grid;
   gap: 8px;
   grid-template-columns: 1fr;
}

@media (min-width: 700px) {
   .lp2-proof__row {
      grid-template-columns: repeat(3, 1fr);
   }
}

.lp2-proof__row img {
   width: 100%;
   height: 180px;
   object-fit: cover;
   display: block;
}

.lp2-cta {
   padding: 56px 0;
   background: var(--lp2-ink);
   color: #fff;
}

.lp2-cta__brand {
   margin: 0 0 8px;
   font-family: Coolvetica, sans-serif;
   font-size: 28px;
   line-height: 1;
}

.lp2-cta__title {
   margin: 0 0 10px;
   font-family: Coolvetica, sans-serif;
   font-size: clamp(26px, 4vw, 36px);
   font-weight: 400;
   line-height: 1.1;
   max-width: 18ch;
}

.lp2-cta__text {
   margin: 0 0 22px;
   max-width: 40ch;
   color: rgba(255, 255, 255, 0.7);
   font-size: 15px;
   line-height: 1.45;
}

.lp2-cta__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
}

.lp2-footer {
   padding: 20px 0 100px;
   background: #0c0e1a;
   color: rgba(255, 255, 255, 0.55);
   font-size: 13px;
}

.lp2-footer__inner {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 10px;
}

.lp2-footer a {
   color: rgba(255, 255, 255, 0.8);
   text-decoration: none;
}

.page-lp-auto2 .contacts-dock {
   z-index: 40;
}

@keyframes lp2-rise {
   from { opacity: 0; transform: translateY(12px); }
   to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
   .lp2-header__phone-note {
      display: none;
   }

   .lp2-hero__stats dd {
      font-size: 18px;
   }

   .lp2-hero__photo,
   .lp2-hero__photo img {
      max-height: 200px;
      height: 200px;
   }
}

@media (prefers-reduced-motion: reduce) {
   .lp2-hero__brand,
   .lp2-hero__title,
   .lp2-hero__lead,
   .lp2-hero__stats,
   .lp2-hero__cta {
      animation: none !important;
   }
}

/* ========== Document gallery lightbox ========== */
.document__gallery-open {
   border: 0;
   cursor: pointer;
   margin-right: 10px;
   padding: 8px 14px;
   border-radius: 999px;
   background: #111327;
   color: #fff;
   font-family: Inter, sans-serif;
   font-size: 13px;
   font-weight: 600;
   line-height: 1.2;
   white-space: nowrap;
   transition: background 0.2s ease, transform 0.2s ease;
}

.document__gallery-open:hover {
   background: #f05205;
   transform: translateY(-1px);
}

.document__slider .document__image {
   cursor: zoom-in;
}

body.is-doc-lightbox-open {
   overflow: hidden;
}

.doc-lightbox {
   position: fixed;
   inset: 0;
   z-index: 1200;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 16px;
}

.doc-lightbox[hidden] {
   display: none !important;
}

.doc-lightbox__backdrop {
   position: absolute;
   inset: 0;
   background: rgba(10, 12, 20, 0.88);
}

.doc-lightbox__dialog {
   position: relative;
   z-index: 1;
   width: min(1100px, 100%);
   max-height: calc(100vh - 32px);
   display: flex;
   flex-direction: column;
   gap: 12px;
}

.doc-lightbox__close {
   position: absolute;
   top: -4px;
   right: 0;
   z-index: 3;
   width: 44px;
   height: 44px;
   border: 0;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.12);
   color: #fff;
   font-size: 28px;
   line-height: 1;
   cursor: pointer;
}

.doc-lightbox__close:hover {
   background: #f05205;
}

.doc-lightbox__nav {
   position: absolute;
   top: 42%;
   z-index: 3;
   width: 44px;
   height: 44px;
   border: 0;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.12);
   color: #fff;
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}

.doc-lightbox__nav svg {
   width: 18px;
   height: 18px;
   fill: currentColor;
}

.doc-lightbox__nav--prev {
   left: 0;
   transform: translateY(-50%) rotate(180deg);
}

.doc-lightbox__nav--next {
   right: 0;
   transform: translateY(-50%);
}

.doc-lightbox__nav:hover {
   background: #f05205;
}

.doc-lightbox__stage {
   flex: 1 1 auto;
   min-height: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 8px 52px 0;
}

.doc-lightbox__image,
.doc-lightbox__video {
   max-width: 100%;
   max-height: min(68vh, 760px);
   width: auto;
   height: auto;
   object-fit: contain;
   background: #000;
}

.doc-lightbox__video {
   width: min(100%, 420px);
}

.doc-lightbox__counter {
   margin: 0;
   text-align: center;
   color: rgba(255, 255, 255, 0.75);
   font-size: 13px;
}

.doc-lightbox__thumbs {
   display: flex;
   gap: 8px;
   overflow-x: auto;
   padding: 4px 2px 8px;
   scroll-snap-type: x proximity;
   -webkit-overflow-scrolling: touch;
}

.doc-lightbox__thumb {
   position: relative;
   flex: 0 0 auto;
   width: 64px;
   height: 84px;
   padding: 0;
   border: 2px solid transparent;
   border-radius: 6px;
   overflow: hidden;
   cursor: pointer;
   background: #1a1c28;
   scroll-snap-align: center;
}

.doc-lightbox__thumb img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.doc-lightbox__thumb.is-active {
   border-color: #f05205;
}

.doc-lightbox__thumb-play {
   position: absolute;
   inset: 0;
   margin: auto;
   width: 22px;
   height: 22px;
   border-radius: 50%;
   background: rgba(0, 0, 0, 0.55);
}

.doc-lightbox__thumb-play::before {
   content: '';
   position: absolute;
   left: 8px;
   top: 6px;
   border-style: solid;
   border-width: 5px 0 5px 9px;
   border-color: transparent transparent transparent #fff;
}

@media (max-width: 640px) {
   .document__slider-buttons {
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px;
   }

   .document__gallery-open {
      order: -1;
      width: 100%;
      margin-right: 0;
   }

   .doc-lightbox__stage {
      padding: 40px 8px 0;
   }

   .doc-lightbox__nav--prev {
      left: 4px;
      top: auto;
      bottom: 118px;
      transform: rotate(180deg);
   }

   .doc-lightbox__nav--next {
      right: 4px;
      top: auto;
      bottom: 118px;
      transform: none;
   }

   .doc-lightbox__thumb {
      width: 56px;
      height: 72px;
   }
}

/* ========== LP Avia: Direct landing for air cargo ========== */
.page-lp-avia {
   --lp-avia-sky: #dceaf5;
   --lp-avia-deep: #1a3a55;
}

.page-lp-avia .header {
   position: sticky;
   top: 0;
   z-index: 99;
   background: rgba(246, 244, 241, 0.96);
   backdrop-filter: blur(10px);
   border-bottom: 1px solid rgba(17, 19, 39, 0.08);
   overflow: visible;
}

.page-lp-avia .header__body,
.page-lp-avia .header__menu,
.page-lp-avia .menu__body {
   overflow: visible;
}

/* Main page hides logo/menu until .element-show — keep them visible on LP */
.page-lp-avia .header__logo,
.page-lp-avia .menu__icon,
.page-lp-avia .menu__list > li,
.page-lp-avia .header__contact,
.page-lp-avia .header__telephone,
.page-lp-avia .header__email {
   transform: none !important;
   opacity: 1 !important;
}

.page-lp-avia .header__logo {
   flex: 0 0 72px;
}

.page-lp-avia .menu__link {
   color: #111327;
}

.page-lp-avia .menu__link--accent {
   color: #111327;
   border-color: rgba(240, 82, 5, 0.55);
   background: rgba(255, 255, 255, 0.75);
}

.page-lp-avia .menu__link-arrow,
.page-lp-avia .menu__dropdown-icon {
   color: #f05205;
   fill: #f05205;
}

.page-lp-avia .header .header__telephone,
.page-lp-avia .header .header__email {
   color: #111327;
}

.page-lp-avia .header .header__telephone svg,
.page-lp-avia .header .header__email svg {
   color: #111327;
   fill: currentColor;
}

.page-lp-avia .header__contacts {
   z-index: 100;
}

/* Тёмный dock: телефон/email снова белые (не наследуют светлый хедер) */
.page-lp-avia.contacts-docked .contacts-dock .header__telephone,
.page-lp-avia.contacts-docked .contacts-dock .header__email {
   color: #fff;
}

.page-lp-avia.contacts-docked .contacts-dock .header__telephone svg,
.page-lp-avia.contacts-docked .contacts-dock .header__email svg {
   color: #fff;
   fill: currentColor;
}

.page-lp-avia.contacts-docked .contacts-dock .header__contact svg {
   color: #fff;
}

@media (max-width: 1200px) {
   .page-lp-avia .menu__icon::before,
   .page-lp-avia .menu__icon::after,
   .page-lp-avia .menu__icon span {
      background-color: #111327;
   }

   .page-lp-avia .menu__icon._active::before,
   .page-lp-avia .menu__icon._active::after {
      background-color: #fff;
   }
}

.page-lp-avia .lp-avia-hero {
   position: relative;
   overflow: hidden;
   padding: 36px 0 44px;
   background:
      radial-gradient(ellipse 70% 55% at 85% -10%, rgba(240, 82, 5, 0.14), transparent 55%),
      radial-gradient(ellipse 55% 45% at 0% 100%, rgba(28, 90, 140, 0.1), transparent 50%),
      linear-gradient(180deg, #eef5fb 0%, #f6f4f1 72%);
}

.page-lp-avia .lp-avia-hero__sky {
   position: absolute;
   inset: 0;
   pointer-events: none;
   opacity: 0.35;
   background-image:
      linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.45) 50%, transparent 60%);
   background-size: 220% 100%;
   animation: lpAviaShine 7.5s ease-in-out infinite;
}

.page-lp-avia .lp-avia-hero__route {
   position: absolute;
   left: 0;
   right: 0;
   top: 18%;
   width: 100%;
   height: 180px;
   pointer-events: none;
   z-index: 0;
   opacity: 0.9;
}

.page-lp-avia .lp-avia-hero__dash {
   animation: lpAviaDash 18s linear infinite;
}

.page-lp-avia .lp-avia-hero__plane {
   offset-path: path('M40 150 C 280 40, 520 200, 760 70 S 1080 40, 1160 110');
   offset-rotate: auto;
   animation: lpAviaFly 9s linear infinite;
}

.page-lp-avia .lp-avia-hero .lp2-hero__grid {
   position: relative;
   z-index: 1;
}

.page-lp-avia .lp-avia-hero .lp2-hero__brand {
   font-size: clamp(40px, 7vw, 64px);
}

.page-lp-avia .lp-avia-hero .lp2-hero__photo {
   position: relative;
}

.page-lp-avia .lp-avia-hero .lp2-hero__photo img {
   box-shadow: 0 18px 40px rgba(26, 58, 85, 0.18);
}

.lp-avia-hero__flight {
   position: absolute;
   left: 12px;
   right: 12px;
   bottom: 14px;
   z-index: 2;
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 10px 12px;
   border-radius: 999px;
   background: rgba(17, 19, 39, 0.72);
   color: #fff;
   backdrop-filter: blur(8px);
   animation: lpAviaRise 0.7s ease 0.25s both;
}

.lp-avia-hero__dot {
   flex: 0 0 auto;
   min-width: 34px;
   height: 28px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 999px;
   background: rgba(240, 82, 5, 0.95);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 0.04em;
}

.lp-avia-hero__line {
   flex: 1 1 auto;
   height: 2px;
   background: repeating-linear-gradient(90deg, rgba(255,255,255,0.75) 0 6px, transparent 6px 12px);
   animation: lpAviaDash 1.2s linear infinite;
}

.lp-avia-hero__miniplane {
   flex: 0 0 auto;
   display: block;
   animation: lpAviaBob 1.4s ease-in-out infinite;
}

.lp-avia-offers {
   padding: 8px 0 20px;
}

.lp-avia-offers__list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   grid-template-columns: 1fr;
   gap: 10px;
}

@media (min-width: 700px) {
   .lp-avia-offers__list {
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 12px;
   }
}

.lp-avia-offers__list li {
   padding: 14px 14px 16px;
   border-radius: 14px;
   background: #fff;
   border: 1px solid rgba(17, 19, 39, 0.08);
   box-shadow: 0 4px 14px rgba(17, 19, 39, 0.04);
   transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lp-avia-offers__list li:hover {
   transform: translateY(-3px);
   box-shadow: 0 10px 22px rgba(26, 58, 85, 0.1);
}

.lp-avia-ico {
   display: flex;
   width: 36px;
   height: 36px;
   margin-bottom: 10px;
   color: #1a3a55;
}

.lp-avia-ico svg {
   width: 100%;
   height: 100%;
   display: block;
}

.lp-avia-offers__list strong {
   display: block;
   margin-bottom: 6px;
   font-family: Coolvetica, sans-serif;
   font-size: 18px;
   font-weight: 400;
   color: #111327;
}

.lp-avia-offers__list li > span:last-child {
   display: block;
   font-size: 13px;
   line-height: 1.4;
   color: rgba(17, 19, 39, 0.62);
}

.lp-avia-corridor {
   padding: 4px 0 28px;
   color: rgba(26, 58, 85, 0.55);
}

.lp-avia-corridor__inner {
   display: flex;
   align-items: center;
   gap: 14px;
   font-family: Coolvetica, sans-serif;
   font-size: 18px;
   color: #1a3a55;
}

.lp-avia-corridor__track {
   flex: 1 1 auto;
   height: 24px;
   overflow: visible;
}

.lp-avia-corridor__dash {
   animation: lpAviaDash 12s linear infinite;
}

.lp-avia-corridor__jet {
   offset-path: path('M4 12 H396');
   offset-rotate: 0deg;
   animation: lpAviaFly 5.5s linear infinite;
}

.lp-avia-price-cta {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   margin-top: 22px;
}

.lp-avia-split__grid {
   display: grid;
   gap: 14px;
   margin-top: 8px;
}

@media (min-width: 800px) {
   .lp-avia-split__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
   }
}

.lp-avia-split__card {
   padding: 20px 18px 22px;
   border-radius: 16px;
   background: #fff;
   border: 1px solid rgba(17, 19, 39, 0.08);
}

.lp-avia-split__card--accent {
   background: linear-gradient(160deg, #fff7f1 0%, #fff 70%);
   border-color: rgba(240, 82, 5, 0.28);
}

.lp-avia-split__glyph {
   width: 44px;
   height: 44px;
   margin-bottom: 10px;
}

.lp-avia-split__glyph svg {
   width: 100%;
   height: 100%;
   display: block;
}

.lp-avia-split__label {
   margin: 0 0 8px;
   font-size: 12px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #f05205;
   font-weight: 600;
}

.lp-avia-split__card h3 {
   margin: 0 0 8px;
   font-family: Coolvetica, sans-serif;
   font-size: 22px;
   font-weight: 400;
   line-height: 1.15;
}

.lp-avia-split__card p:last-child {
   margin: 0;
   font-size: 14px;
   line-height: 1.45;
   color: rgba(17, 19, 39, 0.64);
}

.page-lp-avia .lp2-proof__row {
   grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
   .page-lp-avia .lp2-proof__row {
      grid-template-columns: repeat(4, minmax(0, 1fr));
   }
}

.page-lp-avia .lp2-table tr.is-accent td:first-child strong::before {
   content: '';
   display: inline-block;
   width: 14px;
   height: 10px;
   margin-right: 8px;
   vertical-align: -1px;
   background: #f05205;
   clip-path: polygon(0 40%, 55% 40%, 55% 10%, 100% 50%, 55% 90%, 55% 60%, 0 60%);
}

@keyframes lpAviaShine {
   0%, 100% { background-position: 100% 0; }
   50% { background-position: 0% 0; }
}

@keyframes lpAviaDash {
   to { stroke-dashoffset: -120; background-position: -48px 0; }
}

@keyframes lpAviaFly {
   0% { offset-distance: 0%; opacity: 0; }
   8% { opacity: 1; }
   92% { opacity: 1; }
   100% { offset-distance: 100%; opacity: 0; }
}

@keyframes lpAviaBob {
   0%, 100% { transform: translateY(0); }
   50% { transform: translateY(-2px); }
}

@keyframes lpAviaRise {
   from { opacity: 0; transform: translateY(10px); }
   to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
   .page-lp-avia .lp-avia-hero__sky,
   .page-lp-avia .lp-avia-hero__dash,
   .page-lp-avia .lp-avia-hero__plane,
   .lp-avia-hero__line,
   .lp-avia-hero__miniplane,
   .lp-avia-corridor__dash,
   .lp-avia-corridor__jet,
   .lp-avia-offers__list li {
      animation: none !important;
      transition: none !important;
   }
}

/* Авто / ЖД лендинги: тот же каркас, другая палитра и иконка в таблице */
.page-lp-avto .lp-avia-hero {
   background:
      radial-gradient(ellipse 70% 55% at 85% -10%, rgba(240, 82, 5, 0.16), transparent 55%),
      radial-gradient(ellipse 55% 45% at 0% 100%, rgba(140, 80, 28, 0.1), transparent 50%),
      linear-gradient(180deg, #f6efe6 0%, #f6f4f1 72%);
}

.page-lp-zhd .lp-avia-hero {
   background:
      radial-gradient(ellipse 70% 55% at 85% -10%, rgba(240, 82, 5, 0.1), transparent 55%),
      radial-gradient(ellipse 55% 45% at 0% 100%, rgba(40, 90, 60, 0.12), transparent 50%),
      linear-gradient(180deg, #e8eee8 0%, #f6f4f1 72%);
}

.page-lp-avto .lp2-table tr.is-accent td:first-child strong::before {
   clip-path: polygon(0 42%, 52% 42%, 56% 22%, 82% 22%, 100% 42%, 100% 72%, 88% 72%, 88% 82%, 72% 82%, 72% 72%, 28% 72%, 28% 82%, 12% 82%, 12% 72%, 0 72%);
}

.page-lp-zhd .lp2-table tr.is-accent td:first-child strong::before {
   clip-path: polygon(8% 38%, 68% 38%, 68% 22%, 92% 38%, 94% 38%, 94% 72%, 84% 72%, 84% 82%, 70% 82%, 70% 72%, 32% 72%, 32% 82%, 18% 82%, 18% 72%, 8% 72%);
}
